부모글 보이기/감추기 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 비밀번호 댓글 작성자 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 ... NoWriterDateCnt.TitleFile(s) 13591정성태4/2/20249464닷넷: 2234. C# - WPF 응용 프로그램에 Blazor App 통합113590정성태3/31/20249264Linux: 70. Python - uwsgi 응용 프로그램이 k8s 환경에서 OOM 발생하는 문제13589정성태3/29/20249639닷넷: 2233. C# - 프로세스 CPU 사용량을 나타내는 성능 카운터와 Win32 API113588정성태3/28/202410693닷넷: 2232. C# - Unity + 닷넷 App(WinForms/WPF) 간의 Named Pipe 통신 [2]113587정성태3/27/20249561오류 유형: 900. Windows Update 오류 - 8024402C, 8007064313586정성태3/27/202412446Windows: 263. Windows - 복구 파티션(Recovery Partition) 용량을 늘리는 방법13585정성태3/26/202410142Windows: 262. PerformanceCounter의 InstanceName에 pid를 추가한 "Process V2"13584정성태3/26/202411771개발 환경 구성: 708. Unity3D - C# Windows Forms / WPF Application에 통합하는 방법 [9]113583정성태3/25/20249723Windows: 261. CPU Utilization이 100% 넘는 경우를 성능 카운터로 확인하는 방법13582정성태3/19/202410857Windows: 260. CPU 사용률을 나타내는 2가지 수치 - 사용량(Usage)과 활용률(Utilization)113581정성태3/18/202410505개발 환경 구성: 707. 빌드한 Unity3D 프로그램을 C++ Windows Application에 통합하는 방법13580정성태3/15/20249485닷넷: 2231. C# - ReceiveTimeout, SendTimeout이 적용되지 않는 Socket await 비동기 호출113579정성태3/13/202410420오류 유형: 899. HTTP Error 500.32 - ANCM Failed to Load dll13578정성태3/11/202411162닷넷: 2230. C# - 덮어쓰기 가능한 환형 큐 (Circular queue)113577정성태3/9/202411086닷넷: 2229. C# - 닷넷을 위한 난독화 도구 소개 (예: ConfuserEx)13576정성태3/8/202410361닷넷: 2228. .NET Profiler - IMetaDataEmit2::DefineMethodSpec 사용법13575정성태3/7/202410840닷넷: 2227. 최신 C# 문법을 .NET Framework 프로젝트에 쓸 수 있을까요?13574정성태3/6/202410321닷넷: 2226. C# - "Docker Desktop for Windows" Container 환경에서의 IPv6 DualMode 소켓13573정성태3/5/20249494닷넷: 2225. Windbg - dumasync로 분석하는 async/await 호출13572정성태3/4/20249498닷넷: 2224. C# - WPF의 Dispatcher Queue로 알아보는 await 호출의 hang 현상113571정성태3/1/20249473닷넷: 2223. C# - await 호출과 WPF의 Dispatcher Queue 동작 확인113570정성태2/29/202410104닷넷: 2222. C# - WPF의 Dispatcher Queue 동작 확인113569정성태2/28/202410217닷넷: 2221. C# - LoadContext, LoadFromContext 그리고 GAC113568정성태2/27/20249775닷넷: 2220. C# - .NET Framework 프로세스의 LoaderOptimization 설정을 확인하는 방법113567정성태2/27/20249699오류 유형: 898. .NET Framework 3.5 이하에서 mscoree.tlb 참조 시 System.BadImageFormatException113566정성태2/27/20249583오류 유형: 897. Windows 7 SDK 설치 시 ".NET Development" 옵션이 비활성으로 선택이 안 되는 경우 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 ...