C++ 구문 분석 문제는 잘 알려져 있습니다. 순수하게 구문을 기반으로 구문 분석 할 수는 없지만 LALR (용어가 무엇이든 저는 언어 이론가가 아닙니다), 언어 사양은 수십 페이지입니다. 그 이유 및 기타 이유로 내 개인 프로젝트를위한 대체 언어를 결정하는 중입니다.Vala는 C++과 비교하여 구문 분석에 적절한 언어입니까?
발라는 훌륭한 언어처럼 보입니다. C++에 비해 많은 개선점을 제공하지만 구문 분석하기가 번거롭지 않습니까? 또는 컴파일러, 소스 분석기 및 기타 도구 용 파서를 작성하는 데 적합한 깔끔하고 합리적인 길이의 공식 문법 또는 논리적 인 설명이 있습니까?
답이 무엇이든 지니 대체 구문은 무엇입니까?
(나는 또한 D 및 기타 사후 C++ 비 VM 언어에 대해 덜 강렬하게이기는하지만 궁금합니다.)
기능은 프로젝트에 특정 언어를 선택해야하는 좋은 이유이지만 해당 언어의 구문 분석이 얼마나 중요합니까? (귀하의 개인 프로젝트가 해당 언어에 대한 컴파일러를 작성하지 않는 한). 그 메모에서 C++은 Java 및 C#과 같은 LR (1) 문법이 아니며 잠재적으로 무한한 미리보기를 포함 할 수 있습니다. – birryree
Vana는 C++보다 saner해야합니다. Java가 정말로 제정신 인 것을 알고 있습니다. Java로 작성된 Java Parser를 사용하고 EBNF의 문법에서 직접 컴파일러 컴파일러로 생성했습니다. – Lagerbaer
Err .. 적어도 어떤 언어도 그런 식으로 간주 될 수있는 한 구문을 기반으로 구문 분석 될 수 있습니다 (물론 식별자는 기술적으로 상황에 민감하지만 대부분의 언어에서 공통적입니다). 그렇습니다. 문법은 LALR (1)이 아니지만 물론 파싱 가능합니다. 다른 한편, 구문 분석의 어려움은 언어 선택에 대한 주요 기준이되어서는 안됩니다. 특정 언어에 대한 대중성 (따라서 도서관 구매 등의 용이함)에 대해 언급해야 할 것이 많습니다. –