flex-lexer

    0

    1답변

    필자는 파서/렉서를 재진입 구현으로 바꾸어 놓았으며 마지막 장애물은 중첩 된 include script.txt 유형의 명령어를 수행 할 수있는 기능입니다. 만에 세그먼트 폴트, 그렇지 않으면 토크 나이의 휴식과 파서가 잘 작동 : ^{include}{ws}+ { BEGIN INCL; } <INCL>[^ \t\n\r\f]+ { /* Swallow e

    0

    1답변

    나는 렉서를 만들고 있습니다. 이스케이프 문자가있는 문자열 리터럴에 문제가 있습니다. 이게 내 렉스 코드 야. string L?\"(\\.|[^\\"])*\" {string} { int len;len = strlen(yytext); yylval.string = strdup(yytext + 1); yylval.strin

    0

    1답변

    나는 플렉스를 배우고 정규 표현식에 문제가있어서 코멘트를 잡으려고합니다. 주석이 //으로 시작되고 줄 끝까지 실행된다고 가정하면 프로그램에서 전체 주석을 인식하고 yytext과 같게 설정합니다. 지금까지 ["//".*$]은 겨자를 자르고 있지 않습니다. 는

    6

    2답변

    Flex/Bison에서 생성 한 C 루틴을 호출하는 C++ 프로그램이 있습니다. 참고로 YY_BUFFER_STATE yy_create_buffer(FILE *file, int size) { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc(sizeof(struct yy_buffer_stat

    1

    1답변

    여기에 내 lex 파일이 있습니다. %{ #include <stdio.h> %} %% stop printf("Stop command received\n"); start printf("Start command received\n"); %% flex을 사용하여 컴파일했습니다. 그러나 gcc을 사용하여 lex.yy.c을 컴파일하면 오류가 발생합니

    0

    1답변

    Windows 2008의 Visual Studio 1o를 사용하여 .l (lax) 및 .y (yacc) 파일에서 .c 파일을 만들어야합니다.Cygwin을 모든. 플렉스와 들소는 어디에서 사진으로 나옵니까? Flex와 Bison조차도 Cygwin을 내부적으로 사용합니까? 어떻게해야할까요?

    0

    1답변

    파서를 생성하고 생성하는 데 사용하는 두 개의 파일이 있습니다. 파일 1 : drive.l %{ #include<stdio.h> #include<string.h> #include"y.tab.h" /* #define START 1 #define STOP 2 #define FWD 3 #define BACK 4 #define UP 5 #d

    0

    1답변

    내 플렉스 파일은 아래에 있습니다. 사소한 기호 외에도 문자열을 읽는 상태 시스템을 정의합니다. 따라서 "이 발생할 때마다 시작되어 다음 "을 찾으면 종료됩니다. 그것은 올바르게 식별하지만 사과를 찾는데 실패 "this" "apple" : 지금은이 플렉스 파일이 같은 서로 다음 두 개의 문자열 입력을 공급하는 경우. 왜 현재의 행동이 일어나고 있습니까? B

    1

    1답변

    나는 간단한 Basic-like 언어를 쓰고있다. 어떤 이유로 나는 'call my_subroutine'을 사용하여 서브 루틴을 호출하는 대신 'call'키워드를 피하고 싶습니다. E.g: a=8:do_something:b=c+d 나는 서브 루틴을 선언 할 수있는 잘 작동하는 방법을 가지고있다. Flex는 또한 선언 된 서브 루틴이 사용자 문자열에 나타날

    0

    1답변

    일부 추가 문자 가져옵니다 L [a-zA-Z_] A [a-zA-Z_0-9] %% {L}{A}* { yylval.id = yytext; return IDENTIFIER; } 을 그리고 난 내 YACC 파일에서 다음을 수행하십시오 primary_expression : IDENTIFIER { puts("IDENTIF