파이썬 용 FLEX 또는 LEX 사양 파일이있는 곳을 아는 사람이 있습니까? 예를 들어, 다음은 ANSI C 프로그래밍 언어의 lex 사양입니다. http://www.quut.com/c/ANSI-C-grammar-l-1998.html파이썬 프로그래밍 언어의 어휘 분석
참고로 코코아 애플리케이션에 코드 강조 표시를 쓰려고합니다. Regex는 문법 분석을 통해 코드를 폴드하고 블록을 인식하기를 원하기 때문에 그렇게하지 않을 것이다.
파이썬 용 FLEX 또는 LEX 사양 파일이있는 곳을 아는 사람이 있습니까? 예를 들어, 다음은 ANSI C 프로그래밍 언어의 lex 사양입니다. http://www.quut.com/c/ANSI-C-grammar-l-1998.html파이썬 프로그래밍 언어의 어휘 분석
참고로 코코아 애플리케이션에 코드 강조 표시를 쓰려고합니다. Regex는 문법 분석을 통해 코드를 폴드하고 블록을 인식하기를 원하기 때문에 그렇게하지 않을 것이다.
Lex는 일반적으로 전체 구문 분석이 아닌 토큰 화에만 사용됩니다. 토큰 화에 flex/lex를 사용하는 프로젝트는 일반적으로 실제 파싱에 yacc/bison을 사용합니다.
lexx & yacc의 "현대적인"대체품 인 ANTLR을 살펴볼 수 있습니다.
ANTLR 프로젝트는 one for Python 3 이상을 포함하는 a Github repo containing many ANTLR 4 grammars입니다.
grammar.txt은 공식적인 파이썬 문법이며 직접적으로 lex
과 호환되지는 않지만 적절한 형태로 마사지 할 수 있어야합니다.
필자가 보았지만 필자가 본 lex 구문과는 매우 다른 것으로 나타났습니다. 나는 flex/lex의 일부가 아니며 문법 파서와 함께 작동하는 것을 찾고 있습니다. 그 문법 파일을 사용하는 어휘 분석기에 대한 권장 사항이 있습니까? – pokstad
이렇게하면 스캔과 구문 분석이 모두 수행됩니까? 신난다, 나는 이것에 관해 들었다. 그러나 그것이 얼마나 성숙했는지에 관해 명확히하지 않았다. C 코드를 뱉어내는 것 외에 Objective-C가 얼마나 잘 작동하는지 알고 있습니까? 철도 다이어그램이나 유한 상태 머신 다이어그램과 같은 다이어그램을 생성하는 옵션은 무엇입니까? – pokstad
예, ANTLR은 스캐닝과 구문 분석을 모두 수행합니다. 내가 마지막으로 사용한 이후로 꽤 오랜 시간이 걸렸지 만 스캐닝 구문과 구문 분석 구문이 매우 유사하다는 사실을 기억합니다. C, C++, Java, C# 및 Python 이외에 Objective-C에 대한 명시 적 지원도 있습니다. 필자는 한번도 사용하지 않았지만 ANTLRWorks (http://antlr.org/works/index.html)에서 다이어그램을 시험해 볼 수 있습니다. –
나는 그것에게 총을 줘, 고마워! – pokstad