bison

    0

    1답변

    비교적 간단한 문법을 ​​사용하여 파서를 생성하려고하는데 우선 순위가 제대로 작동하지 않는 문제가 있습니다. 나는 15 개의 shift/reduce 오류를 처리 할 수 ​​있었지만,이 나머지 몇 가지를 고치는 방법을 잃어 버렸습니다. 그들은 아마도 내 우선 순위 문제와 관련이 있습니다. I는 다음과 같은 정의 된 문법이 있습니다 %nonassoc T_LEN

    0

    1답변

    저는 Decison 프로그래밍 언어의 (부분적인) 문법을 구현하기 위해 bison (3.0.4)과 lexer를 사용하고 있습니다. 나는 수업 내에있는 것만 구현하고 있습니다. 내 작업은 간단합니다. 모든 생산 규칙 (문자열)을 트리에 저장 한 다음 인쇄하십시오. 예를 들어 , 당신은 class Foo { Foo(int arg1) { some2 a; } }하

    -1

    1답변

    제 언어를위한 작은 컴파일러를 만들려고합니다. 필자는 flex와 bison을 사용하여 lexer와 parser를 이미 작성했지만 파서에서는 타입 검사 등을 위해 사용법을 모르기 때문에 의미 론적 액션을 사용하지 않았습니다. 의미 분석기에 대해 읽었습니다. 구문 분석기를 사용하여 의미 분석을 수행하기 위해 수행해야 할 단계가 무엇인지 알고 싶습니다. NODE

    0

    1답변

    현재 Decaf (프로그래밍 언어) 문법의 일부를 구현 중입니다. 여기 들소 코드의 관련 단편이다 그럼에도 불구하고 type: INT | ID | type LS RS ; local_var_decl: type ID SEMICOLON ; name: THIS | ID | na

    0

    1답변

    다음 문법은 구조체와 bison의 필드 선언이 일치합니다. 누군가 줄이기 위해 갈등을 줄일 수 있다고 지적 할 수 있습니까? 구조체 예 : 구조체 MYSTRUCT {INT의 VAR은} - 그래서, 당신이 recusive 규칙과 두베이스의 경우이 %start start %% start : program { $$ = parser::r

    0

    1답변

    내 파서에서 읽을 수 있습니다 파일이 있습니다 오류가 PRINT 토큰 주위에 발생하는 BEGINING. XXX XY-1. XXXX Y. XXXX Z. BODY. PRINT "Please enter a number?". END. 있는 test.txt를. 어휘 분석기에서 문자열 "Please enter a number?"이 제대로 처리

    0

    3답변

    Bison 컴파일러가 'routine'의 $ 0 오류를 반환합니다. 선언 된 유형이 없습니다. 글꼴을 선언하는 메시지를 인쇄하려고하므로 함수 본문을 인쇄하기 전에 여는 중괄호를 인쇄해야합니다. 나는이 문서를 읽고, 내가 해당 페이지에서 오는 해결책을 발견 : %type <type_object> type : 나는 또한 비 터미널 '유형'에 대한 유형을 지

    0

    1답변

    규칙의 중간에 코드 {printf ("something");}를 넣을 때이 경고 메시지가 표시됩니다. 규칙의 끝, 나는 오류가 없어 모든 것이 잘 작동한다.이 이것을 획에 경고를 던져 1 개 교대를 던져/충돌을 sent_asig: ID {printf("something");} ASIG exp {printf("sent_asig: ID ASIG exp \n")

    0

    1답변

    Flex/Bison 및 C++을 사용하여 작성된 파스칼 하위 집합의 컴파일러가 있습니다. 입력으로 나는 자신의 .pas 파일을 사용한다. 필자는 컴파일러를 입력 할 때 즉시 결과를 얻기 때문에 인터프리터와 비슷하게 작동한다는 것을 알고 있습니다. 매번 컴파일러를 사용할 필요가 없도록 이진 파일을 얻고 싶습니다. 내 질문 : 이진 파일을 생성하는 가장 좋은

    0

    1답변

    나는 JISON을 사용하는 데 약간의 문제가 있습니다. 점으로 분리 된 대괄호 안에 2 개의 문자열을 일치 시키려고합니다. 내가 만나는 문제는 문자열 중 하나라도 숫자 또는 빼기로 시작하면 MINUS 또는 NUMBER [어느 것이 맞음]으로 인식하지만 처음에는 STRING 정규 표현식이 사용자가 입력 한 문자열과 일치하는지 확인한 다음 그 후에 NUMBER