부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 1개 있습니다.) 인터프리터 - 재귀적 하향 구문 분석 C# 예제 역시 이번에도 다음 책의, 만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어 ; http://www.yes24.com/24/goods/7858784?scode=032 108 페이지에 나오는 minicalc.cpp 파일을 C# 버전으로 옮겨 보았습니다. 코드는 이렇게 작성할 수 있고, MiniCalc miniCalc = new MiniCalc(); miniCalc.Run("a=10"); miniCalc.Run("b=20"); miniCalc.Run("c = a + b * 30"); miniCalc.Run("? c"); miniCalc.Run("c=(a+b)*30"); miniCalc.Run("? c"); miniCalc.Run("? 1+2+3+4-5"); 실행하면 다음과 같은 출력 결과를 볼 수 있습니다. 610 900 5 (첨부한 파일은 소스 코드입니다.) [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] 기타: 55. ETW man 파일 목록[이전 글] .NET Framework: 553. C# 관리 코드에서 IMetaDataDispenserEx, IMetaDataImport 관련 인터페이스를 얻는 방법 [연관 글] .NET Framework: 562. BBI 인터프리터 C/C++ 코드를 C#으로 변환 [최초 등록일: 2/24/2016] [최종 수정일: 2/24/2016] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 ... 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 ... NoWriterDateCnt.TitleFile(s) 13177정성태11/30/202215639오류 유형: 829. uwsgi 설치 시 fatal error: Python.h: No such file or directory13176정성태11/29/202212377오류 유형: 828. gunicorn - ModuleNotFoundError: No module named 'flask'13175정성태11/29/202217083오류 유형: 827. Python - ImportError: cannot import name 'html5lib' from 'pip._vendor'13174정성태11/28/202213519.NET Framework: 2073. C# - VMMap처럼 스택 메모리의 reserve/guard/commit 상태 출력113173정성태11/27/202214479.NET Framework: 2072. 닷넷 응용 프로그램의 스레드 스택 크기 변경13172정성태11/25/202214273.NET Framework: 2071. 닷넷에서 ESP/RSP 레지스터 값을 구하는 방법113171정성태11/25/202213517Windows: 214. 윈도우 - 스레드 스택의 "red zone"13170정성태11/24/202215153Windows: 213. 윈도우 - 싱글 스레드는 컨텍스트 스위칭이 없을까요?13169정성태11/23/202216607Windows: 212. 윈도우의 Protected Process (Light) 보안 [1]213168정성태11/22/202213554제니퍼 .NET: 31. 제니퍼 닷넷 적용 사례 (9) - DB 서비스에 부하가 걸렸다?!13167정성태11/21/202214475.NET Framework: 2070. .NET 7 - Console.ReadKey와 리눅스의 터미널 타입13166정성태11/20/202214785개발 환경 구성: 651. Windows 사용자 경험으로 WSL 환경에 dotnet 런타임/SDK 설치 방법13165정성태11/18/202213027개발 환경 구성: 650. Azure - "scm" 프로세스와 엮인 서비스 모음13164정성태11/18/202215669개발 환경 구성: 649. Azure - 비주얼 스튜디오를 이용한 AppService 원격 디버그 방법13163정성태11/17/202215851개발 환경 구성: 648. 비주얼 스튜디오에서 안드로이드 기기 인식하는 방법13162정성태11/15/202217132.NET Framework: 2069. .NET 7 - AOT(ahead-of-time) 컴파일 [1]13161정성태11/14/202215504.NET Framework: 2068. C# - PublishSingleFile로 배포한 이미지의 역어셈블 가능 여부 (난독화 필요성) [4]13160정성태11/11/202216142.NET Framework: 2067. C# - PublishSingleFile 적용 시 native/managed 모듈 통합 옵션13159정성태11/10/202218794.NET Framework: 2066. C# - PublishSingleFile과 관련된 옵션 [3]13158정성태11/9/202214497오류 유형: 826. Workload definition 'wasm-tools' in manifest 'microsoft.net.workload.mono.toolchain' [...] conflicts with manifest 'microsoft.net.workload.mono.toolchain.net7'13157정성태11/8/202215566.NET Framework: 2065. C# - Mutex의 비동기 버전113156정성태11/7/202217844.NET Framework: 2064. C# - Mutex와 Semaphore/SemaphoreSlim 차이점113155정성태11/4/202215686디버깅 기술: 183. TCP 동시 접속 (연결이 아닌) 시도를 1개로 제한한 서버13154정성태11/3/202216478.NET Framework: 2063. .NET 5+부터 지원되는 GC.GetGCMemoryInfo113153정성태11/2/202217525.NET Framework: 2062. C# - 코드로 재현하는 소켓 상태(SYN_SENT, SYN_RECV)13152정성태11/1/202216564.NET Framework: 2061. ASP.NET Core - DI로 추가한 클래스의 초기화 방법 [1] ... 31 [32] 33 34 35 36 37 38 39 40 41 42 43 44 45 ...