flex-lexer

    0

    1답변

    매우 큰 토큰 만날 때 내 파서 오류 아래 충족 "입력 버퍼 오버 플로우, 스캐너 사용 거부하기 때문에 버퍼를 확대 할 수 없다" 1) 기본 YY_BUF_SIZE을 이 값을 더 크게 변경하면 오류가 발생하지 않지만 입력이 더 큰 토큰을 가질 수 있기 때문에 다음에 OK가 보장 될 수는 없습니다. 또한 YY_BUF_SIZE 값을 확대하면 파서 성능이 영향을

    1

    1답변

    저는 오래된 스티브 예지 기사를 읽은 후에 들소/yacc를 배우려고 생각했습니다. 스티브는 물론 컴파일러를 좋아하며 사람들이 그들을 배워야한다고 권고합니다. 그는 어떤 기술을 개발할 것인가에 대한 많은 조언을 많이 주었고, 그래서 내가 살펴볼 것이라고 생각했습니다. 궁금한 점은 - 자신의 프로그래밍 언어를 구성하지 않은 lex/flex/yacc/bison의

    1

    1답변

    - 나는 올바른 변환 아니라는 것을 알고>는 # 1 TEMPRATURE이 64FAHRENHEIT 하지만 그것은 아니다 ->는 # 1 TEMPRATURE은 32CELSIUS가 내가 출력을 인쇄해야 입니다 요점 나는 섭씨 앞에서 값을 두 배로하고 그것을 반환한다고 가정합니다. #include<stdio.h> %} digit [0-9] celsius "CE

    2

    2답변

    나는 논리적 표현을 평가하기위한 파서를 작성했다. flex와 bison은 전역 변수 (예 : yylval)를 사용합니다. 순수한 파서와 쓰레드 프로그래밍을위한 재진입 스캐너가 필요하다. 내 '.Y'파일은 여기에 있습니다 : %{ #include <stdio.h> #include <string> #define YYSTYPE bool void yyer

    1

    1답변

    jflex를 공부하기 시작했습니다. 나는 다음과 같은 코드를 jflex 사용하여 출력을 생성 할 때 나는 오류를 letter [a-zA-Z] digit [0-9] intlit [0-9]+ %{ #include <stdio.h> # define BASTYPTOK 257 /*following are output from yacc*/ # define

    1

    3답변

    일반적으로 .l 및 .y 파일을 컴파일하면 .tab.h, .tab.c 및 .yy.c 파일이 생성됩니다. 그러나, C++에서만 사용할 수있는 유형이있는 C++ 환경에서 사용해야합니다. 이렇게하려면 코드를 어떻게 수정합니까?

    1

    2답변

    그래서 필자는 파일과 바이슨 파서를 사용하여 설정 파일을 읽는 거대한 프로그램을 만들고 있습니다. 나는 %output "config.cc" %defines "config.h" 그냥 "알 수없는 문자열"에 대한 오류를 추가하여 내 MAIN.CPP 프로그램 에 파서의 출력을 포함해야합니다. 다른 옵션도 잘 작동하지 않습니다. 왜 이것이 작동하지 않는가?

    -1

    2답변

    이 정규 표현식에 속하지 않는 것을 일치 시키려고합니다 [_a-zA-Z]. 시도한 ^[_a-zA-Z] 하지만 줄의 시작 부분에서만 정규식과 일치합니다. 이 조건을 해결하는 정규식은 무엇이되어야합니까? 나는 플렉스 파일의 규칙 섹션에서 이것을 사용하고있다. [^_a-zA-Z]은 경고 규칙과 일치하지 않는다. 이 경고를 제거하는 방법은 무엇입니까 ??

    0

    1답변

    나는 이것을 정리하려고 노력하고 있습니다. 그것은 학교 생활을위한 것이고 약간의 도움이 필요합니다. 한 줄을 여러 부분으로 나누는 방법을 알아 내려고하고 있습니다. 플렉스에서는 그룹화가 없기 때문에 시작 조건으로 처리하려고 시도하고 있지만 예상대로 작동하지 않습니다. %s LINE_NAME %s LINE_GRADE ws [ \t] DNI [0-9]{

    -1

    1답변

    'x = 1;'과 같은 구문을 구문 분석하려고합니다. flex와 bison을 사용합니다. 이를 위해 나는 'x'와 그 값 1을 저장하기위한 심볼 테이블을 생성하고있다. 그래서 다음에 파서가 'x = 2;'와 같은 문장을 볼 때, 심볼 테이블의 x 값을 2로 업데이트합니다. 이제 my bison과 flex 코드가 단일 문자 변수 (예 : x, y, a, b,