어휘 분석기와 파서 생성기에 다리가 젖어있는 동안 인터넷 (자습서, 포럼, StackOverflow)의 대부분의 리소스가 언어에 대해서만 이야기한다는 것을 깨달았습니다. Flex 나 Bison과 같은 도구가 언어에만 적합하거나 구문 분석 할 수있는 언어가 언어로 간주되기 때문입니까?언어 이외의 다른 용도로 파서 생성기를 사용해야합니까?
File : Bananarama.xyz
Date : 22.12.2017
TableStart
BlockStart
Param1 : 12
Param2 : 1.5
Param3[lbs] : 1539
Param4[cm] : 55
BlockEnd
BlockStart
[...]
BlockEnd
TableEnd
은 LALR 파서에 의해 구문 분석하기에 적합한이 파일입니다
더 구체적으로, 나는 다음과 같은 형식의 파일이?
글쎄, 블록은 다른 블록을 포함 할 수 없지만 예제를 조금 간략화했습니다. 모든 블록은 TableStart/TableEnd 쌍으로 둘러싸여 있습니다 (질문을 편집했습니다). 그러나 이것은 아무것도 바뀌지 않습니다. 그렇죠? – exilit
또 다른 질문 : 블록이 일종의 컨텍스트 감도를 도입하지 않으므로 유형 1의 언어가됩니까? – exilit
@exilit 한 블록 내의 기호가 뒤 따르는 블록의 구문을 변경하면 문맥에 따라 달라집니다. 즉 기호가 일치 할 때 문법이 변경됩니다. 당신의 모범에서 볼 때 그렇진 않습니다. 아마도 당신은 데이터의 의미와 구문을 혼동하고있을 것입니다. –