yacc

    1

    2답변

    파일을 구문 분석하는 데 PLY를 사용하고 있습니다. 줄에 오류가있을 때 사용자에게 메시지를 인쇄해야합니다. 메시지는 Error at the line 4과 같습니다. def p_error(p): flag_for_error = 1 print ("Erreur de syntaxe sur la ligne %d" % (p.lineno))

    0

    1답변

    이것이 작동하지 않는 이유를 알지 못합니다. 나는 $$로 usind int 값을 시도했지만 완벽하게 작동했다. 그러나 다른 방법이 없다면 char와 함께 사용하기를 바란다. 이 내 .L 파일입니다 %{ #include "y.tab.h" %} %option noyywrap %option yylineno %% DEFINE return DEFINETA

    -1

    1답변

    이전에 결코 만난 적이없는 문제가 있습니다. 프로그램을 중단시키는 코드가 어떤 것인지 알고 있습니다. 해결 방법을 모르겠습니다. 두 개의 함수에서 특정 "키"를 검색하는 두 개의 연결된 목록이 있습니다. 이제는 함수가 Ifs에서 제대로 작동하지만 루프가 아니기 때문에 의도 한대로 작동하지 않을 수 있습니다. 링크 된 목록을 한 번만 통과하며 보낸 정보는 올

    0

    1답변

    다음 문법을 작성했으며 Bison이 줄이기/줄이기 충돌에 대해 경고합니다. parser.y: warning: 1 reduce/reduce conflict [-Wconflicts-rr] 어떻게 문법의 어느 부분에서 충돌이 발생하는지 감지 할 수 있습니까? 내가 충돌을 볼 수있는 Bison에 의해 생성 된 로그가 있습니까? 또한 어떻게 해결할 수 있을까요?

    0

    1답변

    lex & yacc을 사용하는 컴파일러로 작업 중입니다. 컴파일 오류가 발생하고 한 항목을 해결할 수 있다면 나머지는 제자리에 떨어질 것이라고 믿습니다. 나는 같은 프로젝트를 컴파일 :이 In file included from scanner.lex:11: y.tab.h:6: error: syntax error before "tree" y.tab.h:6:

    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

    1

    1답변

    내 parser.y 파일에 충돌이 없었습니다. 그러나 구문 트리를 구성하는 동작을 도입하면 12 개의 새로운 시프트/감소 충돌이 발생했습니다. 너희들이 이것에 대해 어떤 생각을 갖고 있니? 아래로 내 parser.y 및 컴파일 로그가 있습니다. Parser.y : %{ #include <stdio.h> #include "main.h" #include

    0

    1답변

    jflex 및 byaccj를 사용하여 AST를 작성하고 있습니다. 나는 오류를 해결할 수없는, 그리고 난 형 변환을 사용했지만 오류가 문법에 다음과 같은 규칙에 대해 을 계속 : program : CLASS Program '{' field_decl '}' { program1 $$ = new program1($1.sval, $2.sval, $

    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

    0

    1답변

    yacc 파일을 "컴파일"하려고 할 때 위의 오류를 찾지 못하는 것 같습니다. 나는 누군가가 선을 지적하고 내가 문제를 해결하기 위해해야 ​​할 일을 알려주기를 바라고있다. 내 파일을 나열했습니다 : %token Identifier Int Real_Num And Array %token Begin Boolean Div Do Else %token End F