flex-lexer

    3

    1답변

    저는 C++에서 Flex 및 Bison으로 작업하고 있습니다. 나는이 공구를 사용하는 것을 배우고 있으며, 시작하는 가장 좋은 방법은 간단한 계산기를 수행하는 것입니다. 일단 내 calc.y 및 calc.l 파일에서 응용 프로그램 (실행 파일)을 생성하면 .exe 파일을 실행하여 사용할 수 있지만 지금은 응용 프로그램에서 사용하기 위해 파일 C++에 포함하

    -1

    1답변

    내가 주석 행은 # 문자 여기 에 태초에 간단한 계산기를 만들기 위해 노력하고있어 이 .L 파일 코드 %{ #include <stdlib.h> #include <stdio.h> #include <string.h> #include "y.tab.h" char str[256]; void yyerror(char *); %} %x COM %%

    -1

    2답변

    cpp2html.c를 컴파일하여 makefile을 작성하여 cpp2html.o를 생성하려고합니다 (이 작업을 완료했습니다). 다음으로 flex cppscanner.l을 실행하여 언어 cppscanner.l에서 lex.yy.c 파일을 생성해야합니다. (나는 이것을했다). 그렇다면 lex.yy.c를 컴파일하여 lex.yy.o를 생성해야합니다. 그리고 .o 파일

    0

    1답변

    관련 플렉스 부분을 반환보다 다른 int x; int y; begin x = 72; y=79; x=y + x; end 그것은 잘 구문 분석하지만 내 문제 : Fl 전 인쇄물 : Returning x 및 Returning y 들소 프린트 : $1 is 'x;' 및 $1 is 'y+'; 왜 ';' 및 '+'를 $ 1에? 는 yytext는 플렉스 액션 자체

    0

    1답변

    필자는 lex 문법의 범위 내에서 파일을 포함하고 있으며, the flex manual에서 가져온 예제 코드를 보면, 사용중인 파일 핸들이 해제되지 않았는지 궁금해했습니다. yypop_buffer_state()에서 시작하는 생성 된 코드를 뚫고 파일 핸들이 닫히거나 해제되지 않는다고 결론을 냈습니다. 누군가가이를 확인할 수 있습니까? 예제 코드가 잘못 되었

    1

    2답변

    을 사용하여 입력 파일을 토큰 화하여 결국 Bison을 사용하여 간단한 C 컴파일러를 만들 수 있습니다. 그래서 나는 아직도 Flex와 장난 그리고 난 번호를 추출하고 식별자를 무시하기 위해 노력하고있어 및 공백 %{ #include "stdio.h" %} dgt [0-9] letter [A-Za-z] white [ \r\t]+ id {le

    0

    1답변

    저는 flex와 bison을 사용하여 프로그래밍 언어 용 간단한 파서를 작성하려고합니다. I 단자 (표준 입력)에서 테스트되었으며, 이것은 항상 (yyerror()가 정의된다) 것을 말한다 : 제 2 입력에 Error: syntax error, unexpected SOME_TOKEN, expecting $end, on line: 2 한다. 다른 말로하면

    0

    1답변

    현재 flex/bison 프로젝트를 진행 중입니다. 하나의 실행에서 여러 파일을 구문 분석해야하므로 루프를 만들어 YYPARSE()를 여러 번 실행했습니다. flex가 어휘 또는 구문 오류를 발견하면 파일 구문 분석이 중지되고 프로그램에서 다음 파일 구문 분석을 시작합니다. 그러나 새 파일의 구문 분석은 처음부터 시작하지 않습니다. 실제로 파싱이 파일 3의

    0

    1답변

    상당히 복잡한 표현식 언어를 구문 분석 할 수있는 Jison을 사용하여 파서를 작성하고 있습니다. 이 언어에서 , 그것은 지원 문법 같은 : 여기 stats_expression : stats_function '(' eval_expression ')' | other_stats_aggregation ; stats_function

    0

    1답변

    구조 VHDL은 대소 문자를 구분 것을 `pragma TOKEN1_NAME TOKEN1_VALUE `pragma TOKEN2_NAME TOKEN2_VALUE `pragma TOKEN3_NAME TOKEN3_VALUE `pragma TOKEN4_NAME TOKEN4_VALUE TEXT{ // A valid VHDL or verilog } `pr