이 질문을 해결하려고하지만 실제로 시작하는 방법을 모르겠습니다. 나는 약간의 도움에 감사 할 것입니다. 언어에 대한 비트 연산자는 문법과 함께 아래 표에 표시됩니다. 연산자와 문법 규칙은 우선 순위가 가장 높은 순서대로 순서가 지정됩니다. 문자 a, b 및 c는 해당 언어의 터미널을 나타냅니다. 문법 테이블 : 문법 모호하여 표현임을 확인 : >> B가 모
Rascal에서 생산의 선택적 부분의 위치에 레이아웃이있을 때 이것이 모호한 이유는 무엇입니까? 예 : "{ }"은 Start1으로 모호합니다. 정확하게 같을 것으로 예상되는 다음 문법에서 Start2으로 파싱됩니다. layout Layout = " "?;
start syntax Start1 = "{" "c"? "}";
start
Verilog 사양을 읽는 동안 경로 펄스를 지정하는 독특한 구문 구조가 있음을 발견했습니다. 구체적으로, 사양에 따르면, 폼 PATHPULSE$in_port$out_port = ...;
의 문, in_port 및 out_port 중 하나는 [] -bracketed 범위 또는 식별자 (\ -escaped 식별자 포함)를 식별 할 수있다. PATHPULS
질문이 필요한 사이트인지 잘 모릅니다. 그러나 우리는 문법의 모호성에 대해 연구하고 있습니다. 가장 왼쪽의 파생과 가장 오른쪽의 파생을 포함합니다. 내 연습 문제는 다음과 같습니다. E -> E * E | E + E | N
N -> 0N | 1N |
Output: 0110 + 110 * 01111
모호한 방법이 있습니까? 문법을 모호하게 만드는 데
LL 파서 (어휘 분석)를 생성하기 위해 명제 논리에 대한 문법을 작성하려고합니다. 나는 다음과 같은 문법을 시도 : F = F and F
F = F or F
F = F => F
F = F <=> F
F = not F
F = (F)
D = a
을하지만 난 그게 모호 것을 발견했다. 이 문법이 정확 F = F and A
F = A
A =
이 연습에는 약간의 문제가 있습니다. 이 문법을 감안할 때 : S -> aX | X
X -> aXb | b | eps
A)는 문자열 B)) 문법 C를 캡처 어떤 언어로 말하는 문법을 변경하고 후손을 구축 모호한 것을 보여준다 파서 해결 방법 : a) L = {a^n b^n: n >= 0} U {a^n b^m: n=m+1, n,m >= 0} U {a^n
menhir의 출력 결과를 다음과 같이 변경하고 싶습니다. 모든의 문법적 대안을 찾은 다음 목록에 넣고이 ambiguus 해석을 돌려 받길 원합니다. 충돌을 줄이거 나 저장하지 않습니다. menhir의 소스 코드에서 "Engine.ml"을 살펴 봐야 할 것 같습니다. 결과 구문 론적으로 결정된 토큰은 문법 자동화의 체크 포인트 상태로 "Accepted v"
주어진 CFG : S--> aS | Sa | b 두 개의 서로 다른 파스 트리에서 만들 수있는 문자열을 찾을 수 없습니다. 중간 상태는 재귀를 남겼지 만 CFG 모호성을 나타내는 문자열이 없어도 제거하지 않고 있습니까? 누구든지 PLZ 도움이 될 수 있습니다. S -> aS -> aSa -> aba
을 그리고 당신은 규칙 2, 3, 1을 적용 할 경우,