문제

나는 EBNF에 문법을 쓰려고 노력하고 있습니다 (정말 좋은 이유를 제외하고는 EBNF 여야합니다). 내가 가장 많이 찾고있는 것은 문법을 확인할 수있는 것입니다. 예를 들어 Lalr인지 확인하십시오.N), 그렇다면, 값은 N 이다. 그러한 유틸리티가 존재합니까? 내가 알아야 할 다른 유용한 문법 작성 도구가 있습니까 (파서 생성기를 찾고 있지 않습니다).

도움이 되었습니까?

해결책

Steven Dee의 제안을 한 단계 더 발전 시키면 체크 아웃 할 수 있습니다. antlrworks, 이는 AntlR 문법을위한 대화식 GUI 개발 도구입니다.

다른 팁

사용 tinypg! 놀라운 올인원입니다 컴파일러 컴파일러 가벼운 GUI와 함께 파서를 구축합니다. 성과선, EBNF, 쓰기 C#/vb 코드로 무언가를 할 코드 구문 분석 트리!

다음은 이전에 한 짧고 유익한 요약이 있습니다.이 요약은 다운로드에도 연결됩니다.


tinypg에 대한 나의 이해 :

tinypg 쓰기 및 개발을 허용합니다.

내장 IDE, 창문 만 있습니다 (C#.NET, 오픈 소스에서 생성).

시도 및 미리보기를 사용해야합니다 정규 표현 내장을 사용합니다 Regex 도구. REGEX 구문은 .NET에서 지원됩니다. 출력 파서 코드 .NET의 정규식을 사용합니다.

당신은 다음을 설명하기 위해 EBNF를 씁니다 당신이 선택한 언어 (여기에 무료로 제공됩니다 현대 프로그래밍 언어를 설명하는 BNF 문법 (C, Java, JavaScript, C#, vb.net, SQL-89)

tinypg를 사용하여, 당신의 성과선 당신과 함께 EBNF 출력 a 말뚝 트리 (이 다이어그램 참조).

이제 당신은 구식 트리로 무엇을합니까? 당신은 쓰기 C#/VB 코드 (BNF Grammer 규칙에 따라 tinypg 내에서) 당신을 위해 컴파일러/통역사/번역기. (Tinypg 내부에서 제공된 샘플 내에서 "Simple Expression2.tpg"파일을 엽니 다. 계산자 '컴파일러')

tinypg는 당신을 허용합니다 컴파일 및 테스트 당신의 Tokenizer+Parser+Complier, tinypg ide 내에서, 그리고 마침내 출력합니다. 파서 소스 코드 c#.net 또는 vb.net에서 (당신의 선택), 와 함께 사용할 준비가 클래스.

우수합니다 올인원 컴파일러 컴파일러 대중을 위해. 즐기다!

추신 : 내가 틀렸다면 바로 잡으십시오.

문법이 특정 파서 알고리즘을 허용하는지 여부를 확인하려면 파서 생성기에 넣으십시오. LALR (1)의 경우 문법을 YACC로 전달하여 충돌을 감지하는지 여부를 확인하십시오.

코코/r C#이 목록에서 누락되었습니다. 사용하기 간단하고 매우 다양하며 특히 유용한 다양한 언어를위한 코드 생성기가 있습니다.

C#, Java, C ++, F#, vb.net, Oberon, 기타 언어 용 Coco/R

[1] http://www.ssw.uni-linz.ac.at/coco/

antlr 문법 분석 및 인수를위한 광범위한 기능을 갖춘 Java의 GUI Parser Generator입니다. FAQ를 확인하십시오. 당신이 찾고있는 것을 지원할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top