코코/R

Coco/R
코코/R
원본 작성자한스페터 뫼센보크
초기 릴리즈2005
플랫폼크로스 플랫폼
유형파서/스캐너 제너레이터
면허증GPL2
웹사이트ssw.jku.at/Research/Projects/Coco/

Coco/R은 소스 언어의 구문 표기법[1]: 6 [note 1] 그래머를 사용하고 해당 언어의 스캐너와 파서를 생성하는 컴파일러 생성기다.[1]

스캐너결정론적 유한 자동화로 작동한다.UTF-8 인코딩에서 유니코드 문자를 지원하며 대소문자를 구분하거나 대소문자를 구분하지 않도록 할 수 있다.또한 오른쪽 측면의 문맥에 따라 토큰을 인식할 수 있다.단자 기호 외에도 스캐너는 구문의 일부는 아니지만 입력 스트림의 어느 곳에서나 발생할 수 있는 토큰(예: 컴파일러 지시어 또는 줄 끝 문자)인 실용주의도 인식할 수 있다.

파서재귀 강하를 사용한다. LL(1) 충돌은 다중 심볼 룩어헤드 또는 의미론적 점검으로 해결할 수 있다.따라서 허용된 그래머의 등급은 임의의 k에 대한 LL(k)이다.퍼지 구문 분석은 보완적인 토큰 집합과 일치하는 이른바 ANY 기호에 의해 지원된다.의미 작용은 생성된 스캐너 및 파서와 동일한 언어로 작성된다.파서의 오류 처리는 문법에 동기화 포인트와 "취약 기호"를 명시하여 조정할 수 있다.Coco/R은 LL(1) 충돌뿐만 아니라 문법에서 완전성, 일관성, 비재분산성을 확인한다.

Java, C#, C+++, Pascal, Modula-2, Modula-3, Delphi, VB용 Coco/R 버전이 있다.NET, Python, Ruby 및 기타 프로그래밍 언어.린츠 대학의 최신 버전은 C#, 자바, C++용이다.자바 버전에는 Eclipse 플러그인과 Visual Studio 플러그인인 C#용 플러그인이 있다.자바와 C#를 위한 샘플 그래머도 있다.

코코/R은 원래 ETHZ에서 개발되었으며, 한스페터 뫼센뵈크와 함께 린츠 대학교로 발령받으면서 이사했다.Coco/R은 약간 완화된 GNU General Public License의 조건에 따라 배포된다.

참고 항목

참조

  1. ^ 그러나 설명서에서는 L-속성 확장 백커스-나우르 양식 구문(EBNF)이라고 한다.
  1. ^ a b Mössenböck, Hanspeter; Kepler, Johannes. "The Compiler Generator Coco/R User Manual" (PDF). Johannes Kepler University Linz, Institute of System Software. Archived (PDF) from the original on 2012-06-19.

참고 문헌 목록

외부 링크