c# 예제 만들기

다음은 위에서 설명한 세 가지 함수를 모두 사용하려고 시도한 예제 코드입니다. 위의 각 줄은 다른 언어 구문 및 토큰에서 언어 구수를 빌드할 수 있는 방법을 정의하는 프로덕션 규칙입니다. 프로덕션 규칙의 왼쪽에 나타나는 모든 기호(예: , , )는 터미널이 아닌 기호입니다. 개별 토큰(키워드, ID, 문장 부호 등)은 터미널 기호입니다. 이 문법은 토큰의 어떤 시퀀스가 유효한 C 프로그램을 구성하는지 알려주지만 해당 프로그램을 AST로 변환하는 방법을 정확히 알려주지는 않습니다. 상수에 대한 프로덕션 규칙을 갖도록 문법을 다시 작성할 수 있지만 프로그램을 구문 분석하기 위해 할 필요는 없습니다. 예를 들어 숫자를 0으로 나누거나 앱에서 숫자 문자를 예상할 때 알파 문자를 입력하려고 하면 앱이 작동을 중지하고 오류를 반환합니다. 그런 다음 Visual Studio 설치 관리자에서 수정 단추를 선택합니다. 작업을 저장하라는 메시지가 표시될 수 있습니다.

그렇다면 그렇게 하십시오. 다음으로 워크로드 설치 를 계속 선택합니다. 그런 다음 이 “프로젝트 만들기” 절차에서 2단계로 돌아갑니다. 이 예제에는 반환 유형 및 함수 매개 변수 목록과 같이 AST가 필요로 하지 않는 몇 가지 정보가 포함되어 있습니다. 이러한 각 구성 요소는 더 세분화할 수 있습니다. 예를 들어 조건은 두 자식이 있는 이진 < 작업입니다. 그런 다음 만들기를 선택합니다. 콘솔 앱(.NET Core) 템플릿이 표시되지 않으면 새 프로젝트 만들기 창에서 설치할 수 있습니다. 당신이 찾고있는 것을 찾지 못합니까? 더 많은 도구 및 기능 링크 설치를 선택합니다. 토큰 목록을 수락하고 프로그램 노드에 루팅된 AST를 반환하는 구문 분석 함수를 작성합니다. 함수는 모든 유효한 단계 1 예제에 대해 올바른 AST를 빌드하고 모든 잘못된 단계 1 예제에 대해 오류를 발생시켜야 합니다.

원하는 경우 시스템의 INT_MAX 위에 정수가 발생하는 경우 파서가 정상적으로 실패할 수도 있습니다. lexer(스캐너 또는 토큰화자라고도 함)는 문자열(소스 코드)을 토큰 목록으로 나누는 컴파일러의 단계입니다.

Share on Facebook