«parsers» 태그된 질문

주어진 문자열이 고정 된 형식 언어에 속하는지 여부를 결정하는 알고리즘에 대한 질문입니다.

1
LL과 LR 문법의 언어 이론 비교
사람들은 종종 LR (k) 파서가 LL (k) 파서 보다 강력 하다고 말합니다 . 이 진술은 대부분 모호하다. 특히, 고정 대한 클래스 k케이k또는 모든 대한 결합을 비교해야 k케이k합니까? 상황은 어떻습니까? 특히, 나는 LL (*)이 어떻게 적용되는지에 관심이 있습니다. 내가 아는 한, LL 및 LR 파서가 허용하는 각 문법 세트는 직교이므로 각 …

1
EPAL을 인식하는 비 일반 CFG 구문 분석 알고리즘이 있습니까?
회 문의 언어 인 EPAL은 다음과 같은 명확한 문맥없는 문법에 의해 생성 된 언어로 정의됩니다. S→aaS→aaS \rightarrow a a S→bbS→bbS \rightarrow b b S→aSaS→aSaS \rightarrow a S a S→bSbS→bSbS \rightarrow b S b EPAL은 많은 파싱 알고리즘의 '베인'입니다. 언어를 설명하는 문법을 파싱 할 수있는 명확한 CFG에 대한 파싱 알고리즘은 아직 …

3
컨텍스트가없는 임의의 문법, 주로 짧은 스 니펫 구문 분석
사용자 정의 도메인 특정 언어를 구문 분석하고 싶습니다. 이 언어는 일반적으로 수학 표기법에 가깝습니다 (자연어를 구문 분석하지 않습니다). 사용자는 다음과 같이 BNF 표기법으로 DSL을 정의합니다. expr ::= LiteralInteger | ( expr ) | expr + expr | expr * expr like like 입력은 1 + ( 2 * 3 )승인되어야하고, …

2
정규식
Type 3 Grammar를 사용하는 경우 스택에서 작업을 수행하지 않고 푸시 다운 오토 마톤으로 표현할 수 있으므로 컨텍스트없는 언어를 사용하여 정규식을 표현할 수 있습니다. 그러나 구문 분석 테이블을 구성하지 않고 유형 3 문법이 , L L ( 1 ) , S L R ( 1 ) 등인지 알 수 있습니까?LR(1)LR(1)LR(1)LL(1)LL(1)LL(1)SLR(1)SLR(1)SLR(1)

2
모든 '사악한'정규식에 대해 비 사악한 대안이 있습니까? 아니면 악마가 문법에 있습니까?
분명히 ReDos 공격은 (다른 유용한) 정규 표현식의 특성을 악용합니다. 본질적으로 NFA에서 정의한 그래프를 통해 가능한 경로를 폭발시킵니다. 동등한 '비악'정규식을 작성하여 이러한 문제를 피할 수 있습니까? 그렇지 않은 경우 (그래서 문법을 NFA가 실제 공간 / 시간에서 처리 할 수없는 경우) 어떤 구문 분석 방법이 더 좋을까요? 왜?

1
왜 렉싱과 파싱을 분리해야합니까?
상태 머신에서 단일 패스를 사용하여 문서를 구문 분석 할 수 있습니다. 두 번 통과하면 어떤 이점이 있습니까? 텍스트를 토큰으로 변환 할 수있는 어휘 분석기가 있고 해당 토큰에 대한 생산 규칙을 ​​테스트 할 파서가 있습니까? 텍스트에 직접 제작 규칙을 적용하는 단일 패스가없는 이유는 무엇입니까?

2
IELR (1) 파서 란 무엇입니까?
나는 들소의 사용법을 스스로에게 가르치려고 노력한다. bison (1) 맨 페이지는 bison에 대해 말합니다. LALR (1), IELR (1) 또는 표준 LR (1) 파서 테이블을 사용하여 결정적 LR 또는 GLR (Generalized LR) 파서를 생성하십시오. IELR 파서 란 무엇입니까? 월드 와이드 웹에서 찾은 모든 관련 기사는 유료입니다.

1
는 "왼쪽에서 오른쪽으로 스캔, 가장 오른쪽 파생"이라는 의미를 언제 얻었 습니까?
Wikipedia 기사 에 따르면 L in 는 "왼쪽에서 오른쪽으로 스캔"을 의미하고 "R"은 "가장 오른쪽 파생"을 의미합니다. 그러나 L R ( k ) 문법 에 대한 Knuth의 원본 논문에서 그는 L R ( k ) (610 페이지의 L R ( k ) )를 "왼쪽에서 오른쪽으로 바운드 k 로 번역 할 수있는"언어로 …

3
문맥없는 문법에 매개 변수를 추가하면 무엇을 얻을 수 있습니까?
나는 indendation에 민감한 언어에 대한 문법을 ​​생각하고 있었고 CF 문법이 매개 변수와 결합되면 트릭을 수행하는 것처럼 보입니다. 예를 들어, ANTLR과 유사한 형식의 단순화 된 Python 문법에 대해이 단편을 고려하십시오. // on top-level the statements have empty indent program : statement('')+ ; // let's consider only one compound statement and one …

5
비 모호성은 결정론과 어떻게 다릅니 까?
"결정 론적 맥락없는 문법"과 같은 표현에서 "결정 론적"의 의미를 이해하려고합니다. (이 분야에는 더 결정적인 "사물"이 있습니다). 가장 정교한 설명보다 더 예를 들어 주셔서 감사합니다! 가능하다면. 저의 혼란의 주요 원인은 문법의이 속성이 (비) 모호성과 어떻게 다른지 알 수 없다는 것입니다. 내가 의미하는 바를 가장 가깝게 찾은 것은 D. Knuth의 왼쪽에서 오른쪽으로의 …

3
바이너리 데이터에서 렉서 / 파서를 사용하는 것이 왜 그렇게 잘못 되었습니까?
나는 종종 파서 결합기 와 달리 lexer / parsers 와 함께 일하고 파싱에서 수업을 한 적이없는 사람들을보고 바이너리 데이터 파싱에 대해 묻습니다. 일반적으로 데이터는 이진일뿐만 아니라 상황에 따라 다릅니다. 이것은 기본적으로 한 유형의 토큰, 바이트 토큰 만 갖습니다. 누군가 파싱 수업을 듣지 않고 이론에 기반을 둔 CS 학생에게 충분한 명확성으로 …


2
LL (k)와 LR (k) 문법을 구별 할 수있는 방법이 있습니까?
최근 컴파일러 디자인에 대해 공부하고 있습니다. 두 가지 유형의 문법에 대해 알게되었습니다. 하나는 LL 문법이고 다른 하나는 LR 문법입니다. 또한 모든 LL 문법이 LR이고 LL 문법 인 LR 문법의 적절한 부분 집합이라는 사실도 알고 있습니다. 첫 번째는 하향식 구문 분석에 사용되고 두 번째는 상향식 구문 분석에 사용됩니다. 그러나 주어진 문법이 …

2
정규식 언어를 구문 분석하려면 푸시 다운 오토마타가 필요합니까?
정규식을 입력 한 사용자를 NFA로 변환하여 일치하는 목적으로 문자열에 대해 NFA를 실행할 수 있습니다. 정규 표현을 구문 분석하는 데 사용할 수있는 최소 머신은 무엇입니까? 괄호가 존재한다는 것은 계산이 필요하고 DFA / NFA가 임의의 계산을 수행 할 수 없기 때문에 푸시 다운 오토 마톤이어야한다고 가정합니다. 이 가정이 맞습니까? 예를 들어, 식 …

3
이 문법 LL (1)은 어떻습니까?
이것은 드래곤 북의 질문입니다. 이것은 문법입니다 : S→AaAb∣BbBaS→AaAb∣BbBaS \to AaAb \mid BbBa A→εA→εA \to \varepsilon B→εB→εB \to \varepsilon 질문은 그것이 LL (1)이지만 SLR (1)이 아님을 표시하는 방법을 묻습니다. 그것이 LL (1)임을 증명하기 위해 파싱 테이블을 구성하려고 시도했지만 셀에서 여러 프로덕션을 얻습니다. 이는 모순입니다. 이 LL (1)이 어떻고 그것을 증명하는 방법을 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.