ll

    1

    2답변

    저는 스칼라의 파서를 사용하여 계산기를 작성하려고 노력해 왔으며 재미 있었지만 연산자 연관성이 거꾸로 있다는 것을 제외하고는 저의 문법을 왼쪽 재귀 적으로 만들려고 할 때, 완전히 모호하지만 스택 오버플로가 발생합니다. 데프 빼기 : 내가 좋아하는 규칙이있는 경우, 명확하게 파서 [지능] = NUM ​​~ "-"~ 추가 {X => x._1._1 - x._2

    15

    1답변

    모든 LL 문법은 LR 문법이지만 그 반대의 문법은 아닙니다. 그러나 나는 아직도 그 구별을 다루기 위해 고심하고 있습니다. 어떤 LLR 문법을 가지고 있지 않은 LR 문법의 작은 예가 존재한다면, 그것이 궁금합니다.

    4

    1답변

    필자가 이해하는 바와 같이, 아래의 경우, 하향식 파서를 작성하려면 왼쪽 인수 분해가 필요합니다. 하지만 어떻게하는지 이해하기가 어렵습니까? 누군가 나를 도와 줄 수 있습니까? 감사. s = a | b b = c d c = (e | f) g e = a | h

    12

    1답변

    문법이 있으며 LL (1)인지 여부를 확인할 수 있습니다. 그러나 문법에 의해 생성 된 언어가 LL (1)인지 확인하는 방법이 있습니까? LL (1) 문법과 LL (1) 언어의 차이점은 무엇입니까?

    3

    2답변

    왼쪽 재귀 문법을 허용 할 수 있기 때문에 상향식 파서가 top-down 파서보다 낫다는 것을 알고 있습니다. 왜 우리가 상향식 구문 분석보다 상향식 구문 분석을 선호하는지, 파싱?

    1

    1답변

    저는 연산자 우선 순위가없는 문법을 만들려고합니다. 그러나 하나의 연산자를 사용하거나 괄호로 묶어야합니다. (단순화를 위해 유효한 연산자 대신 여기에 id|int_literal etc 및 + 대신 test을 사용). 따라서 예 : test + test ///valid! (test + test) + test ///valid! (test + test) +

    1

    1답변

    PLY를 사용하여 JavaScript 파일을 구문 분석하는 Python 프로그램을 만들고 싶습니다. PLM을 사용하는 Javascript 규칙 인 ECMAScript를 구현하는 파서의 소스를 발견하지 못했습니다. 내가 찾은 있는 유일한 방법은 자바 스크립트와 ECMAScript를 구문 분석하는 일부 ANTLR 문법 파일이었다 http://www.antlr.

    1

    3답변

    현재 프로그래밍 언어 용 (아주) 작은 인터프리터/컴파일러를 작성하려고합니다. 언어에 대한 구문을 설정 했으므로 언어의 문법을 적어 둘 필요가 있습니다. 나는 약간의 연구 끝에 LL (1) 파서를 사용하는 것이 가장 쉬운 방법이라고 생각하기 때문에 LL (1) 파서를 사용하려고합니다. 본인은이 도메인에 익숙하지 않지만 수집 한 내용에서 BNF 또는 EBNF

    0

    1답변

    함수 프로그래밍에서 비 재귀 예측 테이블 기반 LL (1) 구문 분석기를 작성하는 가장 좋은 방법은 알고 싶습니다. 하스켈이나 OCaML, 아니면 이것으로 나를 도울 수있는 도구가 있습니까?

    6

    1답변

    저는 최근에 LL (1)이 아닌 많은 문법을 가지고 놀았으며 그 중 많은 문법이 LL (1) 인 문법으로 변형 될 수 있습니다. 그러나 LL (1)이 아닌의 명확한 언어 의 예는 본 적이 없습니다. 다시 말하면, 언어에 대한 모호하지 않은 문법이 LL (1)이 아닌 언어), 우연히 우연히 만났을 때 내가 발견 한 것을 증명할 수있는 방법에 대한 생각이 전혀