부모글 보이기/감추기 AD BLOCK 해제 요청 이 글에는 광고가 많이 들어가 있지 않습니다. adblock을 해제하셔도 글을 읽는데 그다지 부담이 없으니 해제를 부탁드립니다. (연관된 글이 1개 있습니다.) BBI 인터프리터 C/C++ 코드를 C#으로 변환 아래 글에 이어, 인터프리터 어휘 분석 프로그램 - C# 예제 ; https://www.sysnet.pe.kr/2/0/10903 인터프리터 - 역폴란드 표기법을 이용한 식의 분석 - C# 예제 ; https://www.sysnet.pe.kr/2/0/10904 인터프리터 - 재귀적 하향 구문 분석 C# 예제 ; https://www.sysnet.pe.kr/2/0/10907 마지막으로, 만들면서 배우는 인터프리터: 컴파일러 이론으로 만드는 나만의 스크립트 언어 ; http://www.yes24.com/24/goods/7858784?scode=032 책의 BBI Interpreter C/C++ 소스 코드를 C#으로 변환한 것을 올립니다. 사용 방법은 다음과 같은 식입니다. static void Main(string[] args) { string text = File.ReadAllText("sample0.txt"); Interpreter bbi = new Interpreter(); bbi.Convert(text); bbi.SyntaxCheck(); bbi.Execute(); } 비주얼 스튜디오에서 디버그 모드로 한줄 한줄 실행해 보면 눈에 들어오실 것입니다. ^^ (첨부한 파일은 소스 코드입니다.) [이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.] [다음 글] .NET Framework: 563. 디버깅 용도로 이진 트리의 내용을 출력하는 방법[이전 글] .NET Framework: 561. null 처리된 객체가 왜 GC에 의해 수집되지 않을까요? [연관 글] 인터프리터 원리가 궁금합니다. [최초 등록일: 3/17/2016] [최종 수정일: 4/12/2024] 이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다. by SeongTae Jeong, mailto:techsharer at outlook.com 비밀번호 댓글 작성자 2016-03-18 08시47분 Sample 파일까지 친절히 넣어주셨네요 ^^좋은 자료 감사합니다!덕분에 인터프리터 약간이라도 이해를 했네요. 김선우 2016-03-18 02시37분 대부분의 C 코드 문법을 C#에 맞게 변환하느라 네이밍 룰이 엉망입니다. ^^; 그래도 분석하기에는 제가 변환한 C# 버전이 더 편안하지 않을까 싶어 올려 봤습니다. ^^ 정성태 2023-04-27 09시14분 ScriptDOM .NET library for T-SQL parsing is now open source; https://techcommunity.microsoft.com/t5/azure-sql-blog/scriptdom-net-library-for-t-sql-parsing-is-now-open-source/ba-p/3804284-------------------------------AZHenley/teenytinycompiler; https://github.com/AZHenley/teenytinycompilerLet's make a Teeny Tiny compiler, part 1; https://austinhenley.com/blog/teenytinycompiler1.htmlLet's make a Teeny Tiny compiler, part 2; https://austinhenley.com/blog/teenytinycompiler2.htmlLet's make a Teeny Tiny compiler, part 3; https://austinhenley.com/blog/teenytinycompiler3.html 정성태 ... 106 107 108 [109] 110 111 112 113 114 115 116 117 118 119 120 ... NoWriterDateCnt.TitleFile(s) 11234정성태6/29/201719060오류 유형: 404. SharePoint 2013 설치 과정에서 "The username is invalid The account must be a valid domain account" 오류 발생11233정성태6/28/201718878오류 유형: 403. SharePoint Server 2013을 Windows Server 2016에 설치할 때 .NET 4.5 설치 오류 발생11232정성태6/28/201719743Windows: 144. Windows Server 2016에 Windows Identity Extensions을 설치하는 방법11231정성태6/28/201719561디버깅 기술: 86. windbg의 mscordacwks DLL 로드 문제 - 세 번째 이야기 [1]11230정성태6/28/201719026제니퍼 .NET: 26. 제니퍼 닷넷 적용 사례 (6) - 잦은 Recycle 문제11229정성태6/27/201720457오류 유형: 402. Windows Server Backup 관리 콘솔이 없어진 경우11228정성태6/26/201717576개발 환경 구성: 320. Visual Basic .NET 프로젝트에서 내장 Manifest 자원을 EXE 파일로부터 제거하는 방법111227정성태6/19/201726109개발 환경 구성: 319. windbg에서 python 스크립트 실행하는 방법 - pykd [6]11226정성태6/19/201717129오류 유형: 401. Microsoft Edge를 실행했는데 입력 반응이 없는 경우11225정성태6/19/201716423오류 유형: 400. Outlook - The required file ExSec32.dll cannot be found in your path. Install Microsoft Outlook again.11224정성태6/13/201718921.NET Framework: 661. Json.NET의 DeserializeObject 수행 시 속성 이름을 동적으로 바꾸는 방법111223정성태6/12/201717856개발 환경 구성: 318. WCF Service Application과 WCFTestClient.exe11222정성태6/10/201722001오류 유형: 399. WCF - A property with the name 'UriTemplateMatchResults' already exists.111221정성태6/10/201719076오류 유형: 398. Fakes - Assembly 'Jennifer5.Fakes' with identity '[...].Fakes, [...]' uses '[...]' which has a higher version than referenced assembly '[...]' with identity '[...]'11220정성태6/10/201723829.NET Framework: 660. Shallow Copy와 Deep Copy [1]211219정성태6/7/201718962.NET Framework: 659. 닷넷 - TypeForwardedFrom / TypeForwardedTo 특성의 사용법11218정성태6/1/201721871개발 환경 구성: 317. Hyper-V 내의 VM에서 다시 Hyper-V를 설치: Nested Virtualization11217정성태6/1/201718011오류 유형: 397. initerrlog: Could not open error log file 'C:\...\MSSQL12.MSSQLSERVER\MSSQL\Log\ERRORLOG'11216정성태6/1/201719737오류 유형: 396. Activation context generation failed11215정성태6/1/201721473오류 유형: 395. 관리 콘솔을 실행하면 "This app has been blocked for your protection" 오류 발생 [1]11214정성태6/1/201718755오류 유형: 394. MSDTC 서비스 시작 시 -1073737712(0xC0001010) 오류와 함께 종료되는 문제 [1]11213정성태5/26/201724180오류 유형: 393. TFS - The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.11212정성태5/26/201723460오류 유형: 392. Windows Server 2016에 KB4019472 업데이트가 실패하는 경우11211정성태5/26/201722262오류 유형: 391. BeginInvoke에 전달한 람다 함수에 CS1660 에러가 발생하는 경우11210정성태5/25/201722575기타: 65. ActiveX 없는 전자 메일에 사용된 "개인정보 보호를 위해 암호화된 보안메일"의 암호화 방법11209정성태5/25/201770227Windows: 143. Windows 10의 Recovery 파티션을 삭제 및 새로 생성하는 방법 [16] ... 106 107 108 [109] 110 111 112 113 114 115 116 117 118 119 120 ...