Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Catalog · How the catalog works
Anything · Lazarus or Delphi
Random projectRandom project

Pascal-to-IL-Compiler

PascalABC.net 개발툴을 활용한 pascal 컴파일러 개발

View on GitHub

Member rating

No ratings yet.

Sign in to rate this project.

README

Pascal-to-IL-Compiler

PascalABC.net 개발툴을 활용한 pascal 컴파일러 개발

사용된 개발툴 : PascalABC.net https://pascalabc.net/en/

컴파일러 이론 단계에 맞춰 4개 unit + 진입점으로 분리


AST.pas 노드 타입 정의 (TVarType, TExprNode/TStmtNode 계열). 다른 unit에 의존 안 함.

Lexer.pas 어휘 분석 (TTokenKind, TToken, TLexer). AST에도 의존 안 함.

Parser.pas 구문 분석 (TParser). AST + Lexer에 의존.

CodeGen.pas IL 코드 생성 (TCodeGenerator). AST + Reflection.Emit에 의존.

Main.pas 진입점. TestSource 문자열 + 실행 로직만 남김.


의존 관계 (화살표 = uses):

앞으로의 작업 원칙

파일명은 절대 바꾸지 않는다. Stage14, 15... 진행해도 항상 이 5개 파일 안에서만 수정.

기능 하나 = 관련 unit 하나만 수정. 예: 새 연산자 추가 → Lexer.pas + Parser.pas만.

제네릭 진짜 구현(DefineGenericParameters) → CodeGen.pas만.

Stage 완료 시점마다 커밋 + 태그.


활용하거나 활용될 pascal wpf xaml Designer 사용된 개발툴 및 컨트롤 들

  1. PascalABC.net : https://pascalabc.net/en/
  2. WpfDesigner : https://www.nuget.org/api/v2/package/ICSharpCode.WpfDesigner/8.1.56
  3. AvalonEdit : https://www.nuget.org/packages/AvalonEdit/6.3.1.120
  4. DockPanelSuite : https://www.nuget.org/api/v2/package/DockPanelSuite/3.1.0
  5. DockPanelSuite.ThemeVS2015 : https://www.nuget.org/packages/DockPanelSuite.ThemeVS2015/