yacc

    0

    2답변

    저는 lex와 yacc로 작업하고 있습니다. 다음은 lex 및 yacc 계산기 용 프로그램입니다. yacc 파일을 실행하는 동안. 이 문제를 해결하는 것을 도와주세요. 나는 다음과 같은 오류가 점점 오전 : 이 오류입니다 : conflicts: 20 shift/reduce // YACC 프로그램 %{ #include<stdio.h> #include<

    2

    1답변

    yacc 파서에서 오류를 추적하는 방법에 대해서는 알지 못합니다. 우리는 lex 파일에 yylineno을 사용하려하고 %option yylineno을 추가하려고 시도했지만 여전히 작동하지 않습니다. 우리는 yacc에서 이러한 변수에 액세스 할 수 없습니다. 줄 번호와 함께 yacc에 error을 사용하여 구문 오류를 인쇄하면됩니다. 여기 여기 지금 우리 .

    0

    1답변

    나는 lex 및 yacc 프로그래밍과 yacc 프로그램을 배우고있어 25shift/reduce 충돌을 제공하는 산술 표현을 검증하고 평가합니다. 다른 stackoverflow 설명을 읽은 후, 나는 문제가 우선 순위인지 이해하지만 오류 처리를 사용하여 해결하는 방법을 모르겠습니다. 누군가 나를 도울 수 있는지 궁금 해서요. 나는이 같은 협회 핸들러를 시도

    1

    1답변

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

    0

    1답변

    을 정의하는 방법 어떻게 lex 패턴() 또는 (/ * rem /)을 정의 할 수 있습니까? gnu (f) lex 도구 사용시/ foo /100/ foo * /) _space [ \t] id [a-zA-Z_]+[a-zA-Z0-9_] digit [0-9] math_ops [\+\-\/\*\^\%] rem_expr (({_space}*)*|("/*"

    0

    2답변

    누군가가 c 프로그램이 goto와 블록 (레이블)을 구문 분석하기 위해 lex 및 yacc 파일을 코딩하는 방법을 이해할 수 있습니까? <statement> ::= <variable> <inc> <semi> | <variable> <assign> <null> <semi> | <goto> <label> <semi> 하지만 어떻게 고유하게 식별하는 라

    2

    1답변

    내가 들소를 사용하여 장난감 프로그래밍 언어에 대한 파서를 쓰고 있어요,하지만 난 벽에 충돌 한 : %{ #include <stdio.h> #include "util.h" #include "errormsg.h" #define YYDEBUG 1 int yylex(void); /* function prototype */ void yyerror(

    1

    1답변

    내가 그러나 나는 내가 정의하는 다음 들소의 우선 순위 키워드 내 렉서에서 을 사용하는 방법을 알아내는 붙어하고, 표현에 대한 간단한 컴파일러를 만드는 중이 위해 토큰을 재사용에 대한 우선 순위 1) 뺄셈과 2) 수의 부정에 대한 두 가지 의미를 가질 수 있으며, 모두 서로 다른 우선 순위를 가지고있다 '-'표현을 평가할 때 '-' {ECHO;return

    0

    1답변

    [컴파일러 구성, 원리 및 연습]에 이어 C 컴파일러를 만들고 있습니다. 그리고 나는 거의 yacc를 사용하여 파서를 만들었지 만 yacc에서 하나의 규칙은 오류를 만들고있다. return_stmt : RETURN SEMI { $$ = newStmtNode(ReturnK);} | RETURN expression SEMI

    0

    1답변

    여기 XML 파일을 구문 분석하고 태그 사이에 내용을 인쇄하는 lex yacc 코드가 있습니다. LEX %{ %} %% "<XML>" {return XMLSTART;} "</XML>" {return XMLEND;} [a-z]+ {yylval=strdup(yytext); return TEXT;} "<" {yylval=strdup(yytext);r