yaccplan9 - 클라우드의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공업체에서 실행할 수 있는 명령 yaccplan9입니다.

프로그램:

이름


yacc - 또 다른 컴파일러 컴파일러

개요


야크 [ 선택권 ... ] 문법

기술


야크 문맥이 없는 문법과 번역 코드를 테이블 세트로 변환합니다.
LR(1) 파서와 번역기. 문법이 모호할 수 있습니다. 지정된 우선 순위 규칙은
모호함을 깨는 데 사용됩니다.

출력 파일, y.tab.c, 프로그램을 생성하려면 C 컴파일러에서 컴파일해야 합니다.
프로그램은 어휘 분석기 기능과 함께 로드되어야 합니다. yylex(무효) (종종 생성
법률(1)), 메인(int 인수, 이륜 전차 *argv[]) 프로그램 및 오류 처리 루틴을 사용하여
yyerror(문자*).

옵션은

-o 출력 대신 지정된 파일로 직접 출력 y.tab.c.

-Dn 파일 생성 y.디버그, 진단 메시지를 포함합니다. 에 통합하려면
파서, 전처리기 기호로 컴파일 이디버그 한정된. 양
파서의 진단 출력은 값으로 규제됩니다. n. 값 0 보고
오류; 1 보고 감소; 더 높은 값(최대 4개)에는 더 많은 정보가 포함됩니다.
상태 전환에 대해.

-v 파일 생성 y.출력, 파싱 테이블에 대한 설명과
문법의 모호성으로 인한 갈등.

-d 파일 생성 y.tab.h, 포함 #밝히다 연관시키는 진술 야크-할당 된
사용자가 선언한 '토큰 이름'이 있는 '토큰 코드'. 소스 파일에 포함
이외의 y.tab.c 토큰 코드에 대한 액세스 권한을 부여합니다.

-s 줄기 파일 이름의 접두사 변경 y.tab.c, y.tab.h, y.디버그y.출력
줄기.

-S 대신 Stdio를 사용하는 파서를 작성하십시오. 인쇄 libc의 루틴

-l 생성된 파서에서 #line 지시문을 비활성화합니다.

-a Yyarg 유형의 인수를 사용하고 이 인수를 전달하는 파서를 생성합니다.
lexer 함수, yylex의 각 호출에 대해. Yyarg에는 인스턴스당 포함
state 및 void* 유형의 단일 사용자 표시 멤버인 arg.

의 사양 야크 자체는 본질적으로 에 설명된 UNIX 버전과 동일합니다.
아래에 언급된 참조. 게다가 -D 옵션과 관련된 주요 차이점은 다음과 같습니다.

C 환경에 대한 인터페이스는 기본적으로 보다는
; -S 옵션은 이것을 반대로 합니다.

파서는 UTF 입력 텍스트를 허용합니다(참조 UTF(7)), 몇 가지 효과가 있습니다.
먼저 반환 값은 일렉스() 더 이상 어울리지 않는다 짧은; 두 번째, 시작
비 터미널의 값은 이제 0이 아닌 000xE257입니다.

생성된 파서는 재귀적일 수 있습니다. 작업은 다음을 호출할 수 있습니다. yyparse, 예를 들어
일종의 구현 #포함 통역사의 진술.

마지막으로 파서의 일부 문서화되지 않은 내부 작동이 변경되었습니다.
구조에 대해 너무 많이 알고 있는 프로그램에 영향을 줄 수 있습니다.

onworks.net 서비스를 사용하여 온라인으로 yaccplan9 사용



최신 Linux 및 Windows 온라인 프로그램