flex-lexer

    2

    1답변

    어휘 분석으로 작업하고 있습니다. 이를 위해 Flex을 사용 중이며 다음 문제를 가져옵니다. work.l 다음 int cnt = 0,num_lines=0,num_chars=0; // Problem here. %% [" "]+[a-zA-Z0-9]+ {++cnt;} \n {++num_lines; ++num_chars;} . {++num_chars;}

    0

    1답변

    렉서 단계에서 기호 표를 작성해야하는 이유가 있습니까? flex & bison: Text Processing Tools 책에서 저자는 간단한 기호 테이블을 작성하려는 시도로 렉서의 예를 제시합니다. /* declaration keywords */ auto | char | int | /* ... skip ... */ volatile { definin

    0

    1답변

    플렉스 yyunput 동작을 이해하는 데 문제가 있습니다. 좀 charackters exemple 들어 다시 넣을 : 내 스캐너 발견 CALL {공간} {CC} cc N?Z|N?C|P[OE]?|M %% CALL{blank}{cc} {BEGIN CON; return yy::ez80asm_parser::make_CALL(loc);} CALL{mm

    0

    1답변

    아래 문법 스 니펫에서 $<nVal>4을 명시 적으로 사용해야하는 이유는 무엇입니까? 나는 %type <nVal> expr 라인이 필요하지 않으므로 간단하게 $4을 넣을 수 있다고 생각 했습니까? 내가 할 수 있도록 expr에 대해 다른 정의를 사용할 수 있습니까? %union { int nVal; char *pszVal; } %t

    0

    1답변

    최근 lex와 yacc (및 flex와 bison)을 발견했으며 프로그램에 문장이 있는지 알려면 오류가 발생합니다. %{ #include <stdio.h> #include "1.tab.h" %} %% tweety|sylvester return NP; a|the return AR; cat|bird return NC; run|

    0

    2답변

    저는 작은 계산기를 만들기 위해 플렉스와 들소를 사용했습니다. 내 파일은 다음과 같습니다 bisonFile.y %{ #include <stdio.h> %} /* declare tokens */ %token NUMBER %token ADD SUB MUL DIV ABS %token EOL %% calclist: /* nothing */ | ca

    0

    1답변

    저는 Lexer (source)를 이해하려고합니다. JavaScript로 포팅 중이며 입력 데이터를 버퍼로 읽는 방법을 이해하고 있습니다. 그것은 표준 Lexer이므로 누군가가 #919에서 무슨 일이 일어나고 있는지에 대한 힌트를 줄 수 있기를 바랍니다. 문제 발췌문 : 마지막 문자가 버퍼의 시작 부분으로 이동해야하는 이유 register char *des

    0

    1답변

    이 Bison 프로그램에 문제가 있습니다. 재사용이 효과가없는 이유를 모르겠습니다. 음수로 작업하려면 첫 번째 숫자를 얻고 더 많은 연산을 수행하기 위해 같은 줄을 사용하면됩니다. 방금 첫 번째 숫자를 음수로 변경했습니다. calc.y %{ #include <stdio.h> #include <stdlib.h> extern int yylex();

    0

    1답변

    이것은 학교 과제물입니다. 나는 올바른 방향으로 한 지점을 찾고 있습니다. 어쩌면 나는 그것을 볼 때 대답을 인식하지 못하고있을뿐입니다 (인터넷 검색). 문법을 구문 분석하고 즉시 {action}을 (를) 수행하는 대신, 모든 것을 나중에 실행하기 위해 데이터 구조로 푸시하고 싶습니다. 예를 들면 다음과 같습니다. IF-cond-stmt-ELSE-stmt,

    0

    1답변

    나는 파스칼 서브셋으로 프로젝트를하고 있습니다. 나는 또한 단지 \ n 대신에 [\ n] 또는 [\ n]의하지만 예상되는 결과없이, 그 처리하는 여러 가지 방법을 시도 NLINE [\n] BRACKET ['('|')'] %% {BRACKET} { std::cout << "Found BRACKET symbol " << yytext[0]