├── .cursor └── rules │ └── project-rule.mdc ├── .github └── workflows │ └── maven.yml ├── .gitignore ├── .junie └── guidelines.md ├── .qoder └── repowiki │ ├── en │ ├── content │ │ ├── API Reference │ │ │ ├── API Reference.md │ │ │ ├── AST Construction API.md │ │ │ ├── Code Generation API.md │ │ │ ├── Compiler Class API.md │ │ │ ├── Control Flow Analysis API.md │ │ │ ├── Intermediate Representation API.md │ │ │ ├── Symbol Resolution API.md │ │ │ └── Type Checking API.md │ │ ├── Abstract Syntax Tree (AST) │ │ │ ├── AST Construction Process.md │ │ │ ├── AST Node Hierarchy │ │ │ │ ├── AST Declarations.md │ │ │ │ ├── AST Expressions.md │ │ │ │ ├── AST Node Hierarchy.md │ │ │ │ ├── AST Statements.md │ │ │ │ └── AST Type Representations.md │ │ │ ├── Abstract Syntax Tree (AST).md │ │ │ ├── Declaration Nodes.md │ │ │ ├── Expression Nodes.md │ │ │ ├── Statement Nodes.md │ │ │ └── Visitor Pattern Implementation.md │ │ ├── Advanced Topics │ │ │ ├── Advanced Optimizations.md │ │ │ ├── Advanced Topics.md │ │ │ ├── Interprocedural Analysis.md │ │ │ ├── JIT Compilation.md │ │ │ ├── Modular Compiler Pipeline.md │ │ │ └── Register Allocation.md │ │ ├── Code Generation │ │ │ ├── Assembly Translation.md │ │ │ ├── Bytecode Encoding.md │ │ │ ├── Code Generation.md │ │ │ └── Instruction Emission.md │ │ ├── Compiler Architecture │ │ │ ├── Abstract Syntax Tree Construction.md │ │ │ ├── Code Generation.md │ │ │ ├── Compiler Architecture.md │ │ │ ├── Control Flow Analysis and CFG.md │ │ │ ├── Error Handling and Diagnostics.md │ │ │ ├── Intermediate Representation (IR) Generation.md │ │ │ ├── Lexical Analysis.md │ │ │ ├── Optimization Passes.md │ │ │ ├── Symbol Table and Scope Management.md │ │ │ ├── Syntactic Analysis.md │ │ │ └── Type System and Type Checking.md │ │ ├── Control Flow Analysis │ │ │ ├── Basic Block Implementation.md │ │ │ ├── CFG Construction Algorithm.md │ │ │ ├── CFG Representation.md │ │ │ ├── Control Flow Analysis Framework.md │ │ │ ├── Control Flow Analysis.md │ │ │ ├── Control Flow Optimization Interface.md │ │ │ └── Liveness Analysis.md │ │ ├── Cymbol Language Specification │ │ │ ├── Advanced Language Features.md │ │ │ ├── Control Structures.md │ │ │ ├── Cymbol Language Specification.md │ │ │ ├── Data Types.md │ │ │ ├── Functions and Variables.md │ │ │ ├── Operators and Expressions.md │ │ │ └── Syntax Overview.md │ │ ├── Development Guide.md │ │ ├── Getting Started.md │ │ ├── Intermediate Representation (IR) │ │ │ ├── Addressing and Storage Representation.md │ │ │ ├── Function Call Representation in IR.md │ │ │ ├── IR Expressions and Value Representation │ │ │ │ ├── Arithmetic Expressions in IR │ │ │ │ │ ├── Arithmetic Expressions in IR.md │ │ │ │ │ ├── Binary Expressions in IR.md │ │ │ │ │ └── Unary Expressions in IR.md │ │ │ │ ├── Constant Value Representation.md │ │ │ │ ├── IR Expression Class Hierarchy.md │ │ │ │ ├── IR Expressions and Value Representation.md │ │ │ │ └── Operand Management in Expressions │ │ │ │ │ ├── FrameSlot - Stack Frame Location Management.md │ │ │ │ │ ├── Operand Interface and Base Abstraction.md │ │ │ │ │ ├── Operand Management in Expressions.md │ │ │ │ │ ├── OperandSlot - Intermediate Calculation Results.md │ │ │ │ │ └── VarSlot - Variable Reference Management.md │ │ │ ├── IR Node Hierarchy and Base Classes.md │ │ │ ├── IR Statements and Control Flow Instructions │ │ │ │ ├── Assignment Statements.md │ │ │ │ ├── Conditional Jump Instructions.md │ │ │ │ ├── Expression Statements.md │ │ │ │ ├── IR Statement Base Class.md │ │ │ │ ├── IR Statements and Control Flow Instructions.md │ │ │ │ ├── Label and Function Entry Instructions.md │ │ │ │ ├── Return Instructions.md │ │ │ │ └── Unconditional Jump Instructions.md │ │ │ └── Intermediate Representation (IR).md │ │ ├── Lexical Analysis.md │ │ ├── Optimization │ │ │ ├── Control Flow Analysis.md │ │ │ ├── Flow Optimizer Interface.md │ │ │ ├── Jump Optimization.md │ │ │ ├── Liveness Analysis.md │ │ │ └── Optimization.md │ │ ├── Project Overview │ │ │ ├── Build System and Testing Framework.md │ │ │ ├── Compiler Architecture and Design │ │ │ │ ├── Compilation Pipeline Architecture │ │ │ │ │ ├── AST Construction Phase.md │ │ │ │ │ ├── Code Generation Phase.md │ │ │ │ │ ├── Compilation Pipeline Architecture.md │ │ │ │ │ ├── Control Flow Graph Construction Phase.md │ │ │ │ │ ├── Intermediate Representation Generation Phase.md │ │ │ │ │ ├── Lexical Analysis Phase.md │ │ │ │ │ ├── Optimization Phase.md │ │ │ │ │ ├── Semantic Analysis Phase.md │ │ │ │ │ └── Syntactic Analysis Phase.md │ │ │ │ ├── Compiler Architecture and Design.md │ │ │ │ ├── Component Interaction Patterns │ │ │ │ │ ├── Compilation Pipeline Phase Interactions.md │ │ │ │ │ ├── Compiler Driver and Phase Interactions.md │ │ │ │ │ ├── Component Interaction Patterns.md │ │ │ │ │ ├── Error Reporting and Handling Integration.md │ │ │ │ │ └── Symbol Table and Type System Interactions.md │ │ │ │ ├── Design Patterns Implementation │ │ │ │ │ ├── Composite Pattern Implementation.md │ │ │ │ │ ├── Design Patterns Implementation.md │ │ │ │ │ ├── Singleton Pattern Implementation.md │ │ │ │ │ ├── Strategy Pattern Implementation.md │ │ │ │ │ └── Visitor Pattern Implementation.md │ │ │ │ ├── Error Handling and Diagnostics Architecture │ │ │ │ │ ├── CymbalError Class Hierarchy.md │ │ │ │ │ ├── Error Handling and Diagnostics Architecture.md │ │ │ │ │ ├── ErrorIssuer Component.md │ │ │ │ │ └── Phase-Level Error Integration.md │ │ │ │ └── Extensibility and Plugin Architecture │ │ │ │ │ ├── Configurable Compilation Pipeline Architecture.md │ │ │ │ │ ├── Custom Optimization Passes with IFlowOptimizer.md │ │ │ │ │ ├── Extending the Cymbol Language with Custom Features.md │ │ │ │ │ ├── Extensibility and Plugin Architecture.md │ │ │ │ │ └── Target-Independent Code Generation via IOperatorEmitter.md │ │ │ ├── Core Compiler Concepts │ │ │ │ ├── Abstract Syntax Tree (AST) Hierarchy.md │ │ │ │ ├── Core Compiler Concepts.md │ │ │ │ ├── Intermediate Representation (IR) Structure.md │ │ │ │ ├── Stack-Based Virtual Machine Architecture.md │ │ │ │ ├── Symbol Table and Scope Management.md │ │ │ │ └── Type System and Type Checking.md │ │ │ ├── Cymbol Language Specification │ │ │ │ ├── Control Structures.md │ │ │ │ ├── Cymbol Language Specification.md │ │ │ │ ├── Data Types.md │ │ │ │ ├── Expressions and Operators.md │ │ │ │ ├── Functions and Variables.md │ │ │ │ └── Syntax Overview.md │ │ │ ├── Educational Structure and Progression │ │ │ │ ├── Abstract Syntax Tree Construction.md │ │ │ │ ├── Code Generation and Virtual Machine.md │ │ │ │ ├── Educational Structure and Progression.md │ │ │ │ ├── Foundations_ Lexical and Syntactic Analysis.md │ │ │ │ ├── Optimization and Advanced Compilation.md │ │ │ │ └── Symbol Table and Semantic Analysis.md │ │ │ └── Project Overview.md │ │ ├── References and Further Reading.md │ │ ├── Symbol Table and Scoping │ │ │ ├── Integration with Type System.md │ │ │ ├── Scope Hierarchy and Management.md │ │ │ ├── Symbol Declaration and Resolution Process.md │ │ │ ├── Symbol Definitions and Types.md │ │ │ └── Symbol Table and Scoping.md │ │ ├── Syntactic Analysis.md │ │ ├── Testing Strategy │ │ │ ├── End-to-End Testing.md │ │ │ ├── Integration Testing.md │ │ │ ├── Test Organization and Coverage.md │ │ │ ├── Testing Strategy.md │ │ │ └── Unit Testing.md │ │ ├── Troubleshooting.md │ │ ├── Type System │ │ │ ├── Type Checking.md │ │ │ ├── Type Hierarchy.md │ │ │ ├── Type Management.md │ │ │ └── Type System.md │ │ └── Virtual Machine │ │ │ ├── Debugging Support.md │ │ │ ├── Execution Engine.md │ │ │ ├── Instruction Set.md │ │ │ ├── Memory Model.md │ │ │ ├── Stack Frame Management.md │ │ │ ├── VM Architecture.md │ │ │ └── Virtual Machine.md │ └── meta │ │ └── repowiki-metadata.json │ └── zh │ ├── content │ ├── 中间表示(IR) │ │ ├── IR生成.md │ │ ├── IR设计.md │ │ ├── 中间表示(IR).md │ │ └── 地址化表示.md │ ├── 代码优化 │ │ ├── 代码优化.md │ │ ├── 优化框架.md │ │ ├── 活性分析.md │ │ └── 跳转优化.md │ ├── 代码生成 │ │ ├── 代码生成.md │ │ ├── 代码生成器.md │ │ ├── 虚拟机指令.md │ │ └── 调试信息.md │ ├── 开发指南.md │ ├── 快速入门.md │ ├── 技术栈与依赖.md │ ├── 抽象语法树(AST) │ │ ├── AST构建.md │ │ ├── AST节点类型.md │ │ ├── AST遍历.md │ │ └── 抽象语法树(AST).md │ ├── 控制流图(CFG) │ │ ├── 基本块.md │ │ ├── 控制流图(CFG).md │ │ ├── 控制流边.md │ │ └── 数据流分析.md │ ├── 测试策略 │ │ ├── 单元测试.md │ │ ├── 测试策略.md │ │ ├── 端到端测试.md │ │ └── 集成测试.md │ ├── 符号表管理 │ │ ├── 作用域系统.md │ │ ├── 符号定义.md │ │ ├── 符号表管理.md │ │ └── 符号解析.md │ ├── 类型系统 │ │ ├── 类型定义.md │ │ ├── 类型推导.md │ │ ├── 类型检查.md │ │ └── 类型系统.md │ ├── 编译器架构 │ │ ├── 整体架构 │ │ │ ├── 数据流 │ │ │ │ ├── AST数据流.md │ │ │ │ ├── CFG数据流.md │ │ │ │ ├── IR数据流.md │ │ │ │ ├── 数据流.md │ │ │ │ └── 符号表数据流.md │ │ │ ├── 整体架构.md │ │ │ ├── 架构模式 │ │ │ │ ├── 工厂模式.md │ │ │ │ ├── 构建器模式.md │ │ │ │ ├── 架构模式.md │ │ │ │ ├── 访问者模式.md │ │ │ │ └── 责任链模式.md │ │ │ └── 组件职责 │ │ │ │ ├── AST构建器职责.md │ │ │ │ ├── IR生成器职责.md │ │ │ │ ├── 代码生成器职责.md │ │ │ │ ├── 组件职责.md │ │ │ │ ├── 词法分析器职责.md │ │ │ │ └── 语法分析器职责.md │ │ ├── 模块交互 │ │ │ ├── 扩展机制与模块解耦.md │ │ │ ├── 数据契约与中间表示 │ │ │ │ ├── AST数据流.md │ │ │ │ ├── IR数据流.md │ │ │ │ └── 数据契约与中间表示.md │ │ │ ├── 核心交互机制 │ │ │ │ ├── 任务组合机制.md │ │ │ │ ├── 核心交互机制.md │ │ │ │ └── 阶段管理.md │ │ │ └── 模块交互.md │ │ ├── 编译器架构.md │ │ └── 编译流程 │ │ │ ├── 流水线机制.md │ │ │ ├── 编译流程.md │ │ │ ├── 错误处理.md │ │ │ └── 阶段执行.md │ ├── 词法分析.md │ ├── 语法分析 │ │ ├── 语法分析.md │ │ ├── 语法分析器实现.md │ │ └── 语法规则.md │ ├── 调试与可视化 │ │ ├── AST可视化.md │ │ ├── CFG可视化.md │ │ ├── IR可视化.md │ │ └── 调试与可视化.md │ └── 项目概述.md │ └── meta │ └── repowiki-metadata.json ├── .roo └── mcp.json ├── EP21编译期构造课程讲义.md ├── LICENSE ├── LLM_UML_Guide.md ├── README.md ├── README_EN.md ├── docs ├── Env-Computation与Apply-Eval.md ├── README.md ├── VM虚拟机设计.md ├── 与传统编译过程的对比.md ├── 测试最佳实践.md ├── 测试策略.md ├── 计算的解释.md └── 设计要素.md ├── ep1 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ └── Hello.g4 ├── ep10 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── CSV.g4 │ ├── CSV.interp │ ├── CSV.tokens │ ├── CSVLexer.interp │ ├── CSVLexer.java │ ├── CSVLexer.tokens │ ├── CSVParser.java │ ├── Calc.java │ ├── build.xml │ └── data.csv ├── ep11 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── ASTVisitor.java │ ├── AdditionNode.java │ ├── BuildAstVisitor.java │ ├── Calc.java │ ├── DivisionNode.java │ ├── EvalExprVisitor.java │ ├── ExpressionNode.java │ ├── InfixExpressionNode.java │ ├── Math.g4 │ ├── Math.interp │ ├── Math.tokens │ ├── MathBaseVisitor.java │ ├── MathLexer.interp │ ├── MathLexer.java │ ├── MathLexer.tokens │ ├── MathParser.java │ ├── MathVisitor.java │ ├── MultiplicationNode.java │ ├── NegateNode.java │ ├── NumberNode.java │ ├── SubtractionNode.java │ ├── build.xml │ └── file.py ├── ep12 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ └── ep12 │ ├── Calc.java │ ├── ast │ ├── AdditionNode.java │ ├── AssignNode.java │ ├── DivisionNode.java │ ├── ExpressionNode.java │ ├── InfixExpressionNode.java │ ├── MultiplicationNode.java │ ├── NegateNode.java │ ├── NumberNode.java │ ├── SubtractionNode.java │ └── VarNode.java │ ├── parser │ ├── Math.g4 │ ├── Math.interp │ ├── Math.tokens │ ├── MathBaseVisitor.java │ ├── MathLexer.interp │ ├── MathLexer.java │ ├── MathLexer.tokens │ ├── MathParser.java │ └── MathVisitor.java │ └── visitor │ ├── ASTVisitor.java │ ├── BuildAstVisitor.java │ └── EvalExprVisitor.java ├── ep13 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── ASTVisitor.java │ ├── BuildAstVisitor.java │ ├── Calc.java │ ├── EvalExprVisitor.java │ ├── Math.g4 │ ├── Math.interp │ ├── Math.tokens │ ├── MathBaseVisitor.java │ ├── MathLexer.interp │ ├── MathLexer.java │ ├── MathLexer.tokens │ ├── MathParser.java │ ├── MathVisitor.java │ ├── build.xml │ ├── ep12 │ └── ast │ │ ├── AdditionNode.java │ │ ├── AssignNode.java │ │ ├── DivisionNode.java │ │ ├── ExpressionNode.java │ │ ├── InfixExpressionNode.java │ │ ├── MultiplicationNode.java │ │ ├── NegateNode.java │ │ ├── NumberNode.java │ │ ├── SubtractionNode.java │ │ └── VarNode.java │ └── t.math ├── ep14 ├── pom.xml └── src │ └── main │ ├── antlr4 │ └── MathExpr.g4 │ ├── java │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ └── ep14 │ │ ├── Compiler.java │ │ ├── compiler │ │ ├── MathExpr.interp │ │ ├── MathExpr.tokens │ │ ├── MathExprBaseListener.java │ │ ├── MathExprBaseVisitor.java │ │ ├── MathExprLexer.interp │ │ ├── MathExprLexer.java │ │ ├── MathExprLexer.tokens │ │ ├── MathExprListener.java │ │ ├── MathExprParser.java │ │ └── MathExprVisitor.java │ │ └── symtab │ │ ├── BaseScope.java │ │ ├── BuiltIntTypeSymbol.java │ │ ├── Scope.java │ │ ├── ScopedSymbol.java │ │ ├── Symbol.java │ │ ├── SymbolCollector.java │ │ ├── SymbolTable.java │ │ ├── Type.java │ │ └── VariableSymbol.java │ └── resources │ └── t.math ├── ep15 └── pom.xml ├── ep16 ├── pom.xml ├── src │ └── main │ │ ├── antlr4 │ │ └── Cymbol.g4 │ │ ├── java │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep16 │ │ │ ├── Compiler.java │ │ │ ├── misc │ │ │ ├── CompilerLogger.java │ │ │ ├── FunctionSpace.java │ │ │ ├── MemorySpace.java │ │ │ ├── ScopeUtil.java │ │ │ └── Util.java │ │ │ ├── parser │ │ │ ├── Cymbol.interp │ │ │ ├── Cymbol.tokens │ │ │ ├── CymbolBaseListener.java │ │ │ ├── CymbolBaseVisitor.java │ │ │ ├── CymbolLexer.interp │ │ │ ├── CymbolLexer.java │ │ │ ├── CymbolLexer.tokens │ │ │ ├── CymbolListener.java │ │ │ ├── CymbolParser.java │ │ │ └── CymbolVisitor.java │ │ │ ├── symtab │ │ │ ├── BaseScope.java │ │ │ ├── BuiltInTypeSymbol.java │ │ │ ├── GlobalScope.java │ │ │ ├── LocalScope.java │ │ │ ├── MethodSymbol.java │ │ │ ├── ReturnValue.java │ │ │ ├── Scope.java │ │ │ ├── ScopedSymbol.java │ │ │ ├── Symbol.java │ │ │ ├── Type.java │ │ │ ├── TypeTable.java │ │ │ └── VariableSymbol.java │ │ │ └── visitor │ │ │ ├── CymbolASTVisitor.java │ │ │ ├── Interpreter.java │ │ │ ├── LocalDefine.java │ │ │ └── LocalResolver.java │ │ └── resources │ │ └── t.cymbol └── tutorial.md ├── ep17 ├── TODO.md ├── pom.xml └── src │ └── main │ ├── antlr4 │ └── Cymbol.g4 │ ├── java │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ ├── ep14 │ │ └── symtab │ │ │ ├── BaseScope.java │ │ │ ├── BuiltInTypeSymbol.java │ │ │ ├── GlobalScope.java │ │ │ ├── LocalScope.java │ │ │ ├── MethodSymbol.java │ │ │ ├── ReturnValue.java │ │ │ ├── Scope.java │ │ │ ├── ScopedSymbol.java │ │ │ ├── Symbol.java │ │ │ ├── Type.java │ │ │ ├── TypeTable.java │ │ │ └── VariableSymbol.java │ │ └── ep17 │ │ ├── Compiler.java │ │ ├── misc │ │ ├── CompilerLogger.java │ │ ├── FunctionSpace.java │ │ ├── Graph.java │ │ ├── MemorySpace.java │ │ ├── ScopeUtil.java │ │ └── Util.java │ │ ├── parser │ │ ├── Cymbol.interp │ │ ├── Cymbol.tokens │ │ ├── CymbolBaseListener.java │ │ ├── CymbolBaseVisitor.java │ │ ├── CymbolLexer.interp │ │ ├── CymbolLexer.java │ │ ├── CymbolLexer.tokens │ │ ├── CymbolListener.java │ │ ├── CymbolParser.java │ │ └── CymbolVisitor.java │ │ └── visitor │ │ └── CallGraphVisitor.java │ └── resources │ └── t.cymbol ├── ep18 ├── TODO.md ├── Update.md ├── VM_Design.md ├── pom.xml └── src │ └── main │ ├── antlr4 │ └── VMAssembler.g4 │ ├── java │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ └── ep18 │ │ ├── VMInterpreter.java │ │ ├── VMRunner.java │ │ ├── parser │ │ ├── VMAssembler.interp │ │ ├── VMAssembler.tokens │ │ ├── VMAssemblerBaseListener.java │ │ ├── VMAssemblerBaseVisitor.java │ │ ├── VMAssemblerLexer.interp │ │ ├── VMAssemblerLexer.java │ │ ├── VMAssemblerLexer.tokens │ │ ├── VMAssemblerListener.java │ │ ├── VMAssemblerParser.java │ │ └── VMAssemblerVisitor.java │ │ └── stackvm │ │ ├── ByteCodeAssembler.java │ │ ├── BytecodeDefinition.java │ │ ├── CymbolStackVM.java │ │ ├── DisAssembler.java │ │ ├── FunctionSymbol.java │ │ ├── LabelSymbol.java │ │ ├── StackFrame.java │ │ └── StructSpace.java │ └── resources │ ├── c.vm │ └── t.vm ├── ep19 ├── Design.md ├── Plan.md ├── README.md ├── benchmark_results │ └── benchmark_results.csv ├── debug_test.cymbol ├── docs │ ├── ep19-improvements-summary.md │ └── tasks.md ├── pom.xml ├── src │ ├── main │ │ ├── antlr4 │ │ │ └── org │ │ │ │ └── teachfx │ │ │ │ └── antlr4 │ │ │ │ └── ep19 │ │ │ │ └── parser │ │ │ │ └── Cymbol.g4 │ │ ├── java │ │ │ └── org │ │ │ │ └── teachfx │ │ │ │ └── antlr4 │ │ │ │ └── ep19 │ │ │ │ ├── Compiler.java │ │ │ │ ├── misc │ │ │ │ ├── CompilerLogger.java │ │ │ │ ├── ScopeUtil.java │ │ │ │ └── Util.java │ │ │ │ ├── parser │ │ │ │ ├── Cymbol.interp │ │ │ │ ├── Cymbol.tokens │ │ │ │ ├── CymbolLexer.interp │ │ │ │ └── CymbolLexer.tokens │ │ │ │ ├── pass │ │ │ │ ├── CymbolASTVisitor.java │ │ │ │ ├── CymbolAssembler.java │ │ │ │ ├── Interpreter.java │ │ │ │ ├── LocalDefine.java │ │ │ │ ├── LocalResolver.java │ │ │ │ └── TypeCheckVisitor.java │ │ │ │ ├── pipeline │ │ │ │ ├── CompilationResult.java │ │ │ │ ├── CompilerPipeline.java │ │ │ │ ├── ConfigurableCompilerPipeline.java │ │ │ │ └── DefaultCompilerPipeline.java │ │ │ │ ├── runtime │ │ │ │ ├── FunctionSpace.java │ │ │ │ ├── MemorySpace.java │ │ │ │ └── StructInstance.java │ │ │ │ └── symtab │ │ │ │ ├── ReturnValue.java │ │ │ │ ├── Type.java │ │ │ │ ├── TypeChecker.java │ │ │ │ ├── TypeTable.java │ │ │ │ ├── scope │ │ │ │ ├── BaseScope.java │ │ │ │ ├── GlobalScope.java │ │ │ │ ├── LocalScope.java │ │ │ │ ├── Scope.java │ │ │ │ └── ScopedSymbol.java │ │ │ │ ├── symbol │ │ │ │ ├── BuiltInTypeSymbol.java │ │ │ │ ├── MethodSymbol.java │ │ │ │ ├── PrimitiveType.java │ │ │ │ ├── StructSymbol.java │ │ │ │ ├── Symbol.java │ │ │ │ ├── TypedefSymbol.java │ │ │ │ └── VariableSymbol.java │ │ │ │ └── type │ │ │ │ └── ArrayType.java │ │ └── resources │ │ │ ├── log4j2.xml │ │ │ └── t.cymbol │ └── test │ │ ├── java │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep19 │ │ │ ├── CompilerTestUtil.java │ │ │ ├── ComprehensiveTest.java │ │ │ ├── ErrorRecoveryTest.java │ │ │ ├── FunctionAndMethodTest.java │ │ │ ├── IntegrationTest.java │ │ │ ├── PerformanceBenchmarkTest.java │ │ │ ├── StructAndTypedefTest.java │ │ │ └── TypeSystemTest.java │ │ └── resources │ │ ├── minimal_test.cymbol │ │ ├── simple_test.cymbol │ │ └── struct_method_test.cymbol └── tdd_driven_todo_cases.md ├── ep2 ├── pom.xml └── src │ └── main │ └── java │ ├── ArrayInit.interp │ ├── ArrayInit.tokens │ ├── ArrayInitBaseListener.java │ ├── ArrayInitBaseVisitor.java │ ├── ArrayInitLexer.interp │ ├── ArrayInitLexer.java │ ├── ArrayInitLexer.tokens │ ├── ArrayInitListener.java │ ├── ArrayInitParser.java │ ├── ArrayInitVisitor.java │ └── org │ └── teachfx │ └── antlr4 │ ├── ArrayInit.g4 │ ├── ArrayInit.tokens │ ├── ArrayInitLexer.tokens │ ├── ShortToUnicodeString.java │ ├── Test.java │ ├── Translate.java │ ├── build.xml │ └── ep20 │ └── parser │ ├── ArrayInit.tokens │ ├── ArrayInitLexer.tokens │ └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── ArrayInit.interp │ └── ArrayInitLexer.interp ├── ep20 ├── README.md ├── README_ZH.md ├── docs │ ├── compilation-sequence.md │ ├── design │ │ ├── register-allocation-algorithm-details.md │ │ ├── register-allocation-api-design.md │ │ ├── register-allocation-design.md │ │ ├── register-allocation-integration.md │ │ ├── register-allocation-test-strategy.md │ │ └── technical-design.md │ ├── ep20-improvements-summary.md │ ├── migration │ │ ├── final-project-report.md │ │ ├── grammar-diff-analysis.md │ │ ├── phase1-operators-completion.md │ │ ├── phase2-arrays-completion.md │ │ ├── phase2-arrays-summary.md │ │ ├── project-completion-summary.md │ │ └── tdd-migration-plan.md │ ├── module-interaction.md │ ├── project-architecture.md │ ├── tdd_implementation_steps.md │ ├── tdd_improvement_tasks.md │ └── tdd_test_case_guide.md ├── pom.xml └── src │ ├── main │ ├── antlr4 │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep20 │ │ │ └── parser │ │ │ └── Cymbol.g4 │ ├── java │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep20 │ │ │ ├── Compiler.java │ │ │ ├── ast │ │ │ ├── ASTNode.java │ │ │ ├── ASTVisitor.java │ │ │ ├── CompileUnit.java │ │ │ ├── decl │ │ │ │ ├── DeclNode.java │ │ │ │ ├── FuncDeclNode.java │ │ │ │ ├── StructDeclNode.java │ │ │ │ ├── StructMemberNode.java │ │ │ │ ├── TypedefDeclNode.java │ │ │ │ ├── VarDeclListNode.java │ │ │ │ └── VarDeclNode.java │ │ │ ├── expr │ │ │ │ ├── ArrayAccessNode.java │ │ │ │ ├── ArrayLiteralNode.java │ │ │ │ ├── BinaryExprNode.java │ │ │ │ ├── BoolExprNode.java │ │ │ │ ├── CallFuncNode.java │ │ │ │ ├── CastExprNode.java │ │ │ │ ├── ExprNode.java │ │ │ │ ├── FieldAccessNode.java │ │ │ │ ├── FloatExprNode.java │ │ │ │ ├── IDExprNode.java │ │ │ │ ├── IntExprNode.java │ │ │ │ ├── LiteralNode.java │ │ │ │ ├── NullExprNode.java │ │ │ │ ├── StringExprNode.java │ │ │ │ └── UnaryExprNode.java │ │ │ ├── stmt │ │ │ │ ├── AssignStmtNode.java │ │ │ │ ├── BlockStmtNode.java │ │ │ │ ├── BreakStmtNode.java │ │ │ │ ├── ContinueStmtNode.java │ │ │ │ ├── ExprStmtNode.java │ │ │ │ ├── IfStmtNode.java │ │ │ │ ├── ReturnStmtNode.java │ │ │ │ ├── ScopeType.java │ │ │ │ ├── StmtNode.java │ │ │ │ ├── VarDeclStmtNode.java │ │ │ │ └── WhileStmtNode.java │ │ │ └── type │ │ │ │ └── TypeNode.java │ │ │ ├── debugger │ │ │ └── ast │ │ │ │ ├── Dumpable.java │ │ │ │ └── Dumper.java │ │ │ ├── driver │ │ │ ├── ErrorIssuer.java │ │ │ ├── Phase.java │ │ │ └── Task.java │ │ │ ├── error │ │ │ └── CymbalError.java │ │ │ ├── ir │ │ │ ├── IRNode.java │ │ │ ├── IRVisitor.java │ │ │ ├── JMPInstr.java │ │ │ ├── Prog.java │ │ │ ├── expr │ │ │ │ ├── CallFunc.java │ │ │ │ ├── Expr.java │ │ │ │ ├── ImmValue.java │ │ │ │ ├── Operand.java │ │ │ │ ├── VarSlot.java │ │ │ │ ├── addr │ │ │ │ │ ├── FrameSlot.java │ │ │ │ │ └── OperandSlot.java │ │ │ │ ├── arith │ │ │ │ │ ├── BinExpr.java │ │ │ │ │ └── UnaryExpr.java │ │ │ │ └── val │ │ │ │ │ └── ConstVal.java │ │ │ └── stmt │ │ │ │ ├── Assign.java │ │ │ │ ├── CJMP.java │ │ │ │ ├── ExprStmt.java │ │ │ │ ├── FuncEntryLabel.java │ │ │ │ ├── JMP.java │ │ │ │ ├── Label.java │ │ │ │ ├── ReturnVal.java │ │ │ │ └── Stmt.java │ │ │ ├── parser │ │ │ └── Location.java │ │ │ ├── pass │ │ │ ├── ast │ │ │ │ ├── ASTBaseVisitor.java │ │ │ │ └── CymbolASTBuilder.java │ │ │ ├── cfg │ │ │ │ ├── BasicBlock.java │ │ │ │ ├── CFG.java │ │ │ │ ├── CFGBuilder.java │ │ │ │ ├── ControlFlowAnalysis.java │ │ │ │ ├── IFlowOptimizer.java │ │ │ │ ├── IOrdIdentity.java │ │ │ │ ├── LinearIRBlock.java │ │ │ │ ├── LivenessAnalysis.java │ │ │ │ └── Loc.java │ │ │ ├── codegen │ │ │ │ ├── CymbolAssembler.java │ │ │ │ ├── CymbolVMIOperatorEmitter.java │ │ │ │ └── IOperatorEmitter.java │ │ │ ├── ir │ │ │ │ └── CymbolIRBuilder.java │ │ │ ├── sematic │ │ │ │ └── TypeChecker.java │ │ │ └── symtab │ │ │ │ └── LocalDefine.java │ │ │ ├── symtab │ │ │ ├── scope │ │ │ │ ├── BaseScope.java │ │ │ │ ├── GlobalScope.java │ │ │ │ ├── LocalScope.java │ │ │ │ └── Scope.java │ │ │ ├── symbol │ │ │ │ ├── MethodSymbol.java │ │ │ │ ├── ScopedSymbol.java │ │ │ │ ├── StructSymbol.java │ │ │ │ ├── Symbol.java │ │ │ │ ├── TypedefSymbol.java │ │ │ │ └── VariableSymbol.java │ │ │ └── type │ │ │ │ ├── ArrayType.java │ │ │ │ ├── BuiltInTypeSymbol.java │ │ │ │ ├── OperatorType.java │ │ │ │ ├── StructType.java │ │ │ │ ├── Type.java │ │ │ │ └── TypeTable.java │ │ │ └── utils │ │ │ ├── Kind.java │ │ │ └── StreamUtils.java │ └── resources │ │ ├── arith.cymbol │ │ ├── graph_0_optimized.md │ │ ├── graph_0_origin.md │ │ ├── graph_1_optimized.md │ │ ├── graph_1_origin.md │ │ ├── log4j2.xml │ │ └── t.cymbol │ └── test │ ├── java │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ └── ep20 │ │ ├── ArraysTest.java │ │ ├── NewSyntaxTest.java │ │ ├── OperatorsTest.java │ │ ├── ast │ │ ├── expr │ │ │ ├── BinaryExprNodeTest.java │ │ │ ├── BoolExprNodeTest.java │ │ │ ├── CallFuncNodeTest.java │ │ │ ├── LiteralExprNodeTest.java │ │ │ └── UnaryExprNodeTest.java │ │ └── stmt │ │ │ ├── AssignStmtNodeTest.java │ │ │ ├── IfStmtNodeTest.java │ │ │ ├── ReturnStmtNodeTest.java │ │ │ └── WhileStmtNodeTest.java │ │ ├── ir │ │ ├── ThreeAddressCodeTest.java │ │ └── expr │ │ │ └── addr │ │ │ └── AddressingTest.java │ │ └── pass │ │ ├── cfg │ │ ├── BasicBlockOptimizationTest.java │ │ ├── BasicBlockTest.java │ │ ├── CFGBuilderTest.java │ │ ├── ControlFlowGraphTest.java │ │ ├── DataFlowAnalysisTest.java │ │ └── LivenessAnalysisTest.java │ │ ├── codegen │ │ ├── CymbolAssemblerTest.java │ │ ├── DebugOutputTest.java │ │ ├── DebugTest.java │ │ ├── EndToEndCompilationTest.java │ │ ├── FunctionCallTest.java │ │ └── VMInstructionTest.java │ │ ├── sematic │ │ └── TypeCheckerTest.java │ │ └── symtab │ │ └── LocalDefineTest.java │ └── resources │ ├── arrays │ ├── array_access_test.cym │ └── array_declaration_test.cym │ ├── ast │ ├── expressions │ │ └── sample.txt │ └── statements │ │ └── sample.txt │ ├── cfg │ └── graphs │ │ └── sample.txt │ ├── codegen │ └── instructions │ │ └── sample.txt │ ├── ir │ └── expected │ │ └── sample.txt │ └── operators │ ├── logical_and_test.cym │ └── modulo_test.cym ├── ep21 ├── README.md ├── TODO.md ├── clean-vscode-cache.sh ├── docs │ ├── JUnit5配置说明.md │ ├── Java21性能基准测试报告.md │ ├── Java21适配计划.md │ ├── test_templates.md │ ├── 单元概要.md │ ├── 改进计划2025.md │ ├── 测试重构总结.md │ ├── 详细设计.md │ ├── 进阶模块技术实现指南.md │ ├── 高年级研究生进阶模块建议.md │ ├── 高年级研究生进阶模块建议.md.backup │ └── 高年级研究生进阶模块建议_review.md ├── pom.xml └── src │ ├── main │ ├── antlr4 │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep21 │ │ │ └── Cymbol.g4 │ ├── java │ │ └── org │ │ │ └── teachfx │ │ │ └── antlr4 │ │ │ └── ep21 │ │ │ ├── Compiler.java │ │ │ ├── analysis │ │ │ ├── dataflow │ │ │ │ ├── DataFlowFramework.java │ │ │ │ └── LiveVariableAnalyzer.java │ │ │ └── ssa │ │ │ │ └── SSAGraph.java │ │ │ ├── ast │ │ │ ├── ASTNode.java │ │ │ ├── ASTVisitor.java │ │ │ ├── CompileUnit.java │ │ │ ├── decl │ │ │ │ ├── DeclNode.java │ │ │ │ ├── FuncDeclNode.java │ │ │ │ ├── VarDeclListNode.java │ │ │ │ └── VarDeclNode.java │ │ │ ├── expr │ │ │ │ ├── BinaryExprNode.java │ │ │ │ ├── BoolExprNode.java │ │ │ │ ├── CallFuncNode.java │ │ │ │ ├── ExprNode.java │ │ │ │ ├── FloatExprNode.java │ │ │ │ ├── IDExprNode.java │ │ │ │ ├── IntExprNode.java │ │ │ │ ├── LiteralNode.java │ │ │ │ ├── NullExprNode.java │ │ │ │ ├── StringExprNode.java │ │ │ │ └── UnaryExprNode.java │ │ │ ├── stmt │ │ │ │ ├── AssignStmtNode.java │ │ │ │ ├── BlockStmtNode.java │ │ │ │ ├── BreakStmtNode.java │ │ │ │ ├── ContinueStmtNode.java │ │ │ │ ├── ExprStmtNode.java │ │ │ │ ├── IfStmtNode.java │ │ │ │ ├── ReturnStmtNode.java │ │ │ │ ├── ScopeType.java │ │ │ │ ├── StmtNode.java │ │ │ │ ├── VarDeclStmtNode.java │ │ │ │ └── WhileStmtNode.java │ │ │ └── type │ │ │ │ └── TypeNode.java │ │ │ ├── debugger │ │ │ └── ast │ │ │ │ ├── Dumpable.java │ │ │ │ └── Dumper.java │ │ │ ├── driver │ │ │ ├── ErrorIssuer.java │ │ │ ├── Phase.java │ │ │ └── Task.java │ │ │ ├── error │ │ │ └── CymbalError.java │ │ │ ├── ir │ │ │ ├── IRNode.java │ │ │ ├── IRVisitor.java │ │ │ ├── JMPInstr.java │ │ │ ├── Prog.java │ │ │ ├── expr │ │ │ │ ├── CallFunc.java │ │ │ │ ├── Expr.java │ │ │ │ ├── ImmValue.java │ │ │ │ ├── Operand.java │ │ │ │ ├── VarSlot.java │ │ │ │ ├── addr │ │ │ │ │ ├── FrameSlot.java │ │ │ │ │ └── OperandSlot.java │ │ │ │ ├── arith │ │ │ │ │ ├── BinExpr.java │ │ │ │ │ └── UnaryExpr.java │ │ │ │ └── val │ │ │ │ │ └── ConstVal.java │ │ │ ├── lir │ │ │ │ ├── LIRAssign.java │ │ │ │ └── LIRNode.java │ │ │ ├── mir │ │ │ │ ├── MIRAssignStmt.java │ │ │ │ ├── MIRExpr.java │ │ │ │ ├── MIRFunction.java │ │ │ │ ├── MIRNode.java │ │ │ │ ├── MIRStmt.java │ │ │ │ └── MIRVisitor.java │ │ │ └── stmt │ │ │ │ ├── Assign.java │ │ │ │ ├── CJMP.java │ │ │ │ ├── ExprStmt.java │ │ │ │ ├── FuncEntryLabel.java │ │ │ │ ├── JMP.java │ │ │ │ ├── Label.java │ │ │ │ ├── ReturnVal.java │ │ │ │ └── Stmt.java │ │ │ ├── parser │ │ │ ├── Cymbol.interp │ │ │ ├── Cymbol.tokens │ │ │ ├── CymbolLexer.interp │ │ │ ├── CymbolLexer.tokens │ │ │ └── Location.java │ │ │ ├── pass │ │ │ ├── ast │ │ │ │ ├── ASTBaseVisitor.java │ │ │ │ └── CymbolASTBuilder.java │ │ │ ├── cfg │ │ │ │ ├── BasicBlock.java │ │ │ │ ├── CFG.java │ │ │ │ ├── CFGBuilder.java │ │ │ │ ├── CFGConstants.java │ │ │ │ ├── ControlFlowAnalysis.java │ │ │ │ ├── IFlowOptimizer.java │ │ │ │ ├── IOrdIdentity.java │ │ │ │ ├── LinearIRBlock.java │ │ │ │ ├── LivenessAnalysis.java │ │ │ │ └── Loc.java │ │ │ ├── codegen │ │ │ │ ├── CymbolAssembler.java │ │ │ │ ├── CymbolVMIOperatorEmitter.java │ │ │ │ └── IOperatorEmitter.java │ │ │ ├── ir │ │ │ │ └── CymbolIRBuilder.java │ │ │ ├── sematic │ │ │ │ └── TypeChecker.java │ │ │ └── symtab │ │ │ │ └── LocalDefine.java │ │ │ ├── symtab │ │ │ ├── scope │ │ │ │ ├── BaseScope.java │ │ │ │ ├── GlobalScope.java │ │ │ │ ├── LocalScope.java │ │ │ │ └── Scope.java │ │ │ ├── symbol │ │ │ │ ├── MethodSymbol.java │ │ │ │ ├── ScopedSymbol.java │ │ │ │ ├── Symbol.java │ │ │ │ └── VariableSymbol.java │ │ │ └── type │ │ │ │ ├── BuiltInTypeSymbol.java │ │ │ │ ├── OperatorType.java │ │ │ │ ├── Type.java │ │ │ │ └── TypeTable.java │ │ │ └── utils │ │ │ ├── Kind.java │ │ │ └── StreamUtils.java │ └── resources │ │ ├── arith.cymbol │ │ ├── log4j2.xml │ │ └── t.cymbol │ └── test │ └── java │ └── org │ └── teachfx │ └── antlr4 │ └── ep21 │ ├── ast │ └── expr │ │ └── BoolExprNodeTest.java │ ├── pass │ ├── cfg │ │ ├── BasicBlockTest.java │ │ ├── CFGBuilderTest.java │ │ ├── ControlFlowAnalysisTest.java │ │ └── DuplicateEdgeTest.java │ ├── codegen │ │ └── CymbolAssemblerTest.java │ ├── ir │ │ └── CymbolIRBuilderTest.java │ ├── sematic │ │ └── TypeCheckerTest.java │ └── symtab │ │ └── LocalDefineTest.java │ └── test │ └── MIRTest.java ├── ep3 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── CommonLexRules.g4 │ ├── ExprJoyRide.java │ ├── LibExpr.g4 │ ├── LibExpr.interp │ ├── LibExpr.tokens │ ├── LibExprBaseListener.java │ ├── LibExprLexer.interp │ ├── LibExprLexer.java │ ├── LibExprLexer.tokens │ ├── LibExprListener.java │ ├── LibExprParser.java │ ├── build.xml │ ├── ep20 │ └── parser │ │ ├── CommonLexRules.tokens │ │ ├── LibExpr.tokens │ │ ├── LibExprLexer.tokens │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ ├── CommonLexRules.interp │ │ ├── CommonLexRules.java │ │ ├── LibExprBaseListener.java │ │ ├── LibExprBaseVisitor.java │ │ ├── LibExprLexer.java │ │ ├── LibExprListener.java │ │ ├── LibExprParser.java │ │ └── LibExprVisitor.java │ ├── gen │ ├── CommonLexRules.interp │ ├── CommonLexRules.java │ └── CommonLexRules.tokens │ └── t.expr ├── ep4 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── Calc.java │ ├── EvalVisitor.java │ ├── LabeledExpr.g4 │ ├── LabeledExpr.interp │ ├── LabeledExpr.tokens │ ├── LabeledExprBaseVisitor.java │ ├── LabeledExprLexer.interp │ ├── LabeledExprLexer.java │ ├── LabeledExprLexer.tokens │ ├── LabeledExprParser.java │ ├── LabeledExprVisitor.java │ ├── ReadMe.md │ ├── build.xml │ ├── ep20 │ └── parser │ │ ├── LabeledExpr.tokens │ │ ├── LabeledExprLexer.tokens │ │ └── src │ │ └── main │ │ └── java │ │ └── org │ │ └── teachfx │ │ └── antlr4 │ │ ├── LabeledExpr.interp │ │ ├── LabeledExprBaseListener.java │ │ ├── LabeledExprBaseVisitor.java │ │ ├── LabeledExprLexer.interp │ │ ├── LabeledExprLexer.java │ │ ├── LabeledExprListener.java │ │ ├── LabeledExprParser.java │ │ └── LabeledExprVisitor.java │ └── t.expr ├── ep5 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── Demo.java │ ├── ExtractInterfaceListener.java │ ├── ExtractInterfaceTool.java │ ├── Java.g4 │ ├── Java.interp │ ├── Java.tokens │ ├── JavaBaseListener.java │ ├── JavaLexer.interp │ ├── JavaLexer.java │ ├── JavaLexer.tokens │ ├── JavaListener.java │ ├── JavaParser.java │ └── build.xml ├── ep6 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── CSV.g4 │ ├── CSV.interp │ ├── CSV.tokens │ ├── CSVBaseListener.java │ ├── CSVExplor.java │ ├── CSVLexer.interp │ ├── CSVLexer.java │ ├── CSVLexer.tokens │ ├── CSVListener.java │ ├── CSVParser.java │ ├── CSVReader.java │ ├── Data.csv │ ├── REAME.md │ └── build.xml ├── ep7 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── JSON.g4 │ ├── JSON.interp │ ├── JSON.tokens │ ├── JSONBaseListener.java │ ├── JSONLexer.interp │ ├── JSONLexer.java │ ├── JSONLexer.tokens │ ├── JSONListener.java │ ├── JSONParser.java │ ├── build.xml │ └── t.json ├── ep8 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── ASTNode.java │ ├── AddNode.java │ ├── BinArithNode.java │ ├── ExprNode.java │ ├── ExprVisitor.java │ ├── IntNode.java │ ├── OPType.java │ ├── RawValueNode.java │ ├── StatNode.java │ ├── StatsNode.java │ ├── VarNode.java │ ├── VecMath.g4 │ ├── VecMath.interp │ ├── VecMath.tokens │ ├── VecMathBaseVisitor.java │ ├── VecMathLexer.interp │ ├── VecMathLexer.java │ ├── VecMathLexer.tokens │ ├── VecMathParser.java │ ├── VecMathVisitor.java │ └── build.xml ├── ep9 ├── pom.xml └── src │ └── main │ └── java │ └── org │ └── teachfx │ └── antlr4 │ ├── Calc.java │ ├── Expr.g4 │ ├── Expr.interp │ ├── Expr.tokens │ ├── ExprLexer.interp │ ├── ExprLexer.java │ ├── ExprLexer.tokens │ ├── ExprParser.java │ └── build.xml ├── pom.xml └── scripts ├── check_utf8.py ├── cp_prototype.py ├── cpfromtemplate.sh ├── run.bat ├── run.ps1 ├── run.py └── run.sh /.cursor/rules/project-rule.mdc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.cursor/rules/project-rule.mdc -------------------------------------------------------------------------------- /.github/workflows/maven.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.github/workflows/maven.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.gitignore -------------------------------------------------------------------------------- /.junie/guidelines.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.junie/guidelines.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/API Reference.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/API Reference.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/AST Construction API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/AST Construction API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/Code Generation API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/Code Generation API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/Compiler Class API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/Compiler Class API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/Control Flow Analysis API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/Control Flow Analysis API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/Symbol Resolution API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/Symbol Resolution API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/API Reference/Type Checking API.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/API Reference/Type Checking API.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/Advanced Optimizations.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/Advanced Optimizations.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/Advanced Topics.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/Advanced Topics.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/Interprocedural Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/Interprocedural Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/JIT Compilation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/JIT Compilation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/Modular Compiler Pipeline.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/Modular Compiler Pipeline.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Advanced Topics/Register Allocation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Advanced Topics/Register Allocation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Code Generation/Assembly Translation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Code Generation/Assembly Translation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Code Generation/Bytecode Encoding.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Code Generation/Bytecode Encoding.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Code Generation/Code Generation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Code Generation/Code Generation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Code Generation/Instruction Emission.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Code Generation/Instruction Emission.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Compiler Architecture/Code Generation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Compiler Architecture/Code Generation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Compiler Architecture/Lexical Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Compiler Architecture/Lexical Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Compiler Architecture/Optimization Passes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Compiler Architecture/Optimization Passes.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Compiler Architecture/Syntactic Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Compiler Architecture/Syntactic Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Control Flow Analysis/CFG Representation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Control Flow Analysis/CFG Representation.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Control Flow Analysis/Liveness Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Control Flow Analysis/Liveness Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Cymbol Language Specification/Data Types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Cymbol Language Specification/Data Types.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Development Guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Development Guide.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Getting Started.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Getting Started.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Lexical Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Lexical Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Optimization/Control Flow Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Optimization/Control Flow Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Optimization/Flow Optimizer Interface.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Optimization/Flow Optimizer Interface.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Optimization/Jump Optimization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Optimization/Jump Optimization.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Optimization/Liveness Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Optimization/Liveness Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Optimization/Optimization.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Optimization/Optimization.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Project Overview/Project Overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Project Overview/Project Overview.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/References and Further Reading.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/References and Further Reading.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Syntactic Analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Syntactic Analysis.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Testing Strategy/End-to-End Testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Testing Strategy/End-to-End Testing.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Testing Strategy/Integration Testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Testing Strategy/Integration Testing.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Testing Strategy/Testing Strategy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Testing Strategy/Testing Strategy.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Testing Strategy/Unit Testing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Testing Strategy/Unit Testing.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Troubleshooting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Troubleshooting.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Type System/Type Checking.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Type System/Type Checking.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Type System/Type Hierarchy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Type System/Type Hierarchy.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Type System/Type Management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Type System/Type Management.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Type System/Type System.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Type System/Type System.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Debugging Support.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Debugging Support.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Execution Engine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Execution Engine.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Instruction Set.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Instruction Set.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Memory Model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Memory Model.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Stack Frame Management.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Stack Frame Management.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/VM Architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/VM Architecture.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/content/Virtual Machine/Virtual Machine.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/content/Virtual Machine/Virtual Machine.md -------------------------------------------------------------------------------- /.qoder/repowiki/en/meta/repowiki-metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/en/meta/repowiki-metadata.json -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/中间表示(IR)/IR生成.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/中间表示(IR)/IR生成.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/中间表示(IR)/IR设计.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/中间表示(IR)/IR设计.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/中间表示(IR)/中间表示(IR).md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/中间表示(IR)/中间表示(IR).md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/中间表示(IR)/地址化表示.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/中间表示(IR)/地址化表示.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码优化/代码优化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码优化/代码优化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码优化/优化框架.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码优化/优化框架.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码优化/活性分析.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码优化/活性分析.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码优化/跳转优化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码优化/跳转优化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码生成/代码生成.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码生成/代码生成.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码生成/代码生成器.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码生成/代码生成器.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码生成/虚拟机指令.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码生成/虚拟机指令.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/代码生成/调试信息.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/代码生成/调试信息.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/开发指南.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/开发指南.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/快速入门.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/快速入门.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/技术栈与依赖.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/技术栈与依赖.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/抽象语法树(AST)/AST构建.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/抽象语法树(AST)/AST构建.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/抽象语法树(AST)/AST节点类型.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/抽象语法树(AST)/AST节点类型.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/抽象语法树(AST)/AST遍历.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/抽象语法树(AST)/AST遍历.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/抽象语法树(AST)/抽象语法树(AST).md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/抽象语法树(AST)/抽象语法树(AST).md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/控制流图(CFG)/基本块.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/控制流图(CFG)/基本块.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/控制流图(CFG)/控制流图(CFG).md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/控制流图(CFG)/控制流图(CFG).md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/控制流图(CFG)/控制流边.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/控制流图(CFG)/控制流边.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/控制流图(CFG)/数据流分析.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/控制流图(CFG)/数据流分析.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/测试策略/单元测试.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/测试策略/单元测试.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/测试策略/测试策略.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/测试策略/测试策略.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/测试策略/端到端测试.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/测试策略/端到端测试.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/测试策略/集成测试.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/测试策略/集成测试.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/符号表管理/作用域系统.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/符号表管理/作用域系统.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/符号表管理/符号定义.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/符号表管理/符号定义.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/符号表管理/符号表管理.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/符号表管理/符号表管理.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/符号表管理/符号解析.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/符号表管理/符号解析.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/类型系统/类型定义.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/类型系统/类型定义.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/类型系统/类型推导.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/类型系统/类型推导.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/类型系统/类型检查.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/类型系统/类型检查.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/类型系统/类型系统.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/类型系统/类型系统.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/AST数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/AST数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/CFG数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/CFG数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/IR数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/IR数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/符号表数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/数据流/符号表数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/整体架构.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/整体架构.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/工厂模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/工厂模式.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/构建器模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/构建器模式.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/架构模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/架构模式.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/访问者模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/访问者模式.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/责任链模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/架构模式/责任链模式.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/AST构建器职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/AST构建器职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/IR生成器职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/IR生成器职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/代码生成器职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/代码生成器职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/组件职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/组件职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/词法分析器职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/词法分析器职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/语法分析器职责.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/整体架构/组件职责/语法分析器职责.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/扩展机制与模块解耦.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/扩展机制与模块解耦.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/AST数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/AST数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/IR数据流.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/IR数据流.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/数据契约与中间表示.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/数据契约与中间表示/数据契约与中间表示.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/任务组合机制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/任务组合机制.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/核心交互机制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/核心交互机制.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/阶段管理.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/核心交互机制/阶段管理.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/模块交互/模块交互.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/模块交互/模块交互.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/编译器架构.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/编译器架构.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/编译流程/流水线机制.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/编译流程/流水线机制.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/编译流程/编译流程.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/编译流程/编译流程.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/编译流程/错误处理.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/编译流程/错误处理.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/编译器架构/编译流程/阶段执行.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/编译器架构/编译流程/阶段执行.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/词法分析.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/词法分析.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/语法分析/语法分析.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/语法分析/语法分析.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/语法分析/语法分析器实现.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/语法分析/语法分析器实现.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/语法分析/语法规则.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/语法分析/语法规则.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/调试与可视化/AST可视化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/调试与可视化/AST可视化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/调试与可视化/CFG可视化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/调试与可视化/CFG可视化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/调试与可视化/IR可视化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/调试与可视化/IR可视化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/调试与可视化/调试与可视化.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/调试与可视化/调试与可视化.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/content/项目概述.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/content/项目概述.md -------------------------------------------------------------------------------- /.qoder/repowiki/zh/meta/repowiki-metadata.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.qoder/repowiki/zh/meta/repowiki-metadata.json -------------------------------------------------------------------------------- /.roo/mcp.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/.roo/mcp.json -------------------------------------------------------------------------------- /EP21编译期构造课程讲义.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/EP21编译期构造课程讲义.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/LICENSE -------------------------------------------------------------------------------- /LLM_UML_Guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/LLM_UML_Guide.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/README.md -------------------------------------------------------------------------------- /README_EN.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/README_EN.md -------------------------------------------------------------------------------- /docs/Env-Computation与Apply-Eval.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/Env-Computation与Apply-Eval.md -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/VM虚拟机设计.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/VM虚拟机设计.md -------------------------------------------------------------------------------- /docs/与传统编译过程的对比.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/与传统编译过程的对比.md -------------------------------------------------------------------------------- /docs/测试最佳实践.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/测试最佳实践.md -------------------------------------------------------------------------------- /docs/测试策略.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/测试策略.md -------------------------------------------------------------------------------- /docs/计算的解释.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/计算的解释.md -------------------------------------------------------------------------------- /docs/设计要素.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/docs/设计要素.md -------------------------------------------------------------------------------- /ep1/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep1/pom.xml -------------------------------------------------------------------------------- /ep1/src/main/java/org/teachfx/antlr4/Hello.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep1/src/main/java/org/teachfx/antlr4/Hello.g4 -------------------------------------------------------------------------------- /ep10/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/pom.xml -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSV.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSV.g4 -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSV.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSV.interp -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSV.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSV.tokens -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSVLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSVLexer.interp -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSVLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSVLexer.java -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSVLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSVLexer.tokens -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/CSVParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/CSVParser.java -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/Calc.java -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep10/src/main/java/org/teachfx/antlr4/data.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep10/src/main/java/org/teachfx/antlr4/data.csv -------------------------------------------------------------------------------- /ep11/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/pom.xml -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/ASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/ASTVisitor.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/AdditionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/AdditionNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/BuildAstVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/BuildAstVisitor.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/Calc.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/DivisionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/DivisionNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/EvalExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/EvalExprVisitor.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/ExpressionNode.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep11; 2 | 3 | public abstract class ExpressionNode { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/InfixExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/InfixExpressionNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/Math.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/Math.g4 -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/Math.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/Math.interp -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/Math.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/Math.tokens -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathBaseVisitor.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathLexer.interp -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathLexer.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathLexer.tokens -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathParser.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MathVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MathVisitor.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/MultiplicationNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/MultiplicationNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/NegateNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/NegateNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/NumberNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/NumberNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/SubtractionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/SubtractionNode.java -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep11/src/main/java/org/teachfx/antlr4/file.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep11/src/main/java/org/teachfx/antlr4/file.py -------------------------------------------------------------------------------- /ep12/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/pom.xml -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/Calc.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/AdditionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/AdditionNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/AssignNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/AssignNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/DivisionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/DivisionNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/ExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/ExpressionNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/InfixExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/InfixExpressionNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/MultiplicationNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/MultiplicationNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/NegateNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/NegateNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/NumberNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/NumberNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/SubtractionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/SubtractionNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/ast/VarNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/ast/VarNode.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.g4 -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.interp -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/Math.tokens -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathBaseVisitor.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.interp -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathLexer.tokens -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathParser.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/parser/MathVisitor.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/ASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/ASTVisitor.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/BuildAstVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/BuildAstVisitor.java -------------------------------------------------------------------------------- /ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/EvalExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep12/src/main/java/org/teachfx/antlr4/ep12/visitor/EvalExprVisitor.java -------------------------------------------------------------------------------- /ep13/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/pom.xml -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ASTVisitor.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/BuildAstVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/BuildAstVisitor.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/Calc.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/EvalExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/EvalExprVisitor.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/Math.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/Math.g4 -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/Math.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/Math.interp -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/Math.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/Math.tokens -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathBaseVisitor.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathLexer.interp -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathLexer.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathLexer.tokens -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathParser.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/MathVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/MathVisitor.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/AdditionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/AdditionNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/AssignNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/AssignNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/DivisionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/DivisionNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/ExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/ExpressionNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/InfixExpressionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/InfixExpressionNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/MultiplicationNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/MultiplicationNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/NegateNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/NegateNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/NumberNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/NumberNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/SubtractionNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/SubtractionNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/ep12/ast/VarNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/ep12/ast/VarNode.java -------------------------------------------------------------------------------- /ep13/src/main/java/org/teachfx/antlr4/t.math: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep13/src/main/java/org/teachfx/antlr4/t.math -------------------------------------------------------------------------------- /ep14/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/pom.xml -------------------------------------------------------------------------------- /ep14/src/main/antlr4/MathExpr.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/antlr4/MathExpr.g4 -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/Compiler.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExpr.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExpr.interp -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExpr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExpr.tokens -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExprLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExprLexer.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExprParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/compiler/MathExprParser.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/BaseScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/BaseScope.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Scope.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/ScopedSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/ScopedSymbol.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Symbol.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/SymbolCollector.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/SymbolCollector.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/SymbolTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/SymbolTable.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/Type.java -------------------------------------------------------------------------------- /ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/VariableSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/java/org/teachfx/antlr4/ep14/symtab/VariableSymbol.java -------------------------------------------------------------------------------- /ep14/src/main/resources/t.math: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep14/src/main/resources/t.math -------------------------------------------------------------------------------- /ep15/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep15/pom.xml -------------------------------------------------------------------------------- /ep16/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/pom.xml -------------------------------------------------------------------------------- /ep16/src/main/antlr4/Cymbol.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/antlr4/Cymbol.g4 -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/Compiler.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/misc/CompilerLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/misc/CompilerLogger.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/misc/FunctionSpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/misc/FunctionSpace.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/misc/MemorySpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/misc/MemorySpace.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/misc/ScopeUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/misc/ScopeUtil.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/misc/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/misc/Util.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/Cymbol.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/Cymbol.interp -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/Cymbol.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/Cymbol.tokens -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.interp -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolLexer.tokens -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolListener.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolParser.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/parser/CymbolVisitor.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/BaseScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/BaseScope.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/GlobalScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/GlobalScope.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/LocalScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/LocalScope.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/MethodSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/MethodSymbol.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/ReturnValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/ReturnValue.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Scope.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/ScopedSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/ScopedSymbol.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Symbol.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/Type.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/TypeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/TypeTable.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/VariableSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/symtab/VariableSymbol.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/Interpreter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/Interpreter.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/LocalDefine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/LocalDefine.java -------------------------------------------------------------------------------- /ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/LocalResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/java/org/teachfx/antlr4/ep16/visitor/LocalResolver.java -------------------------------------------------------------------------------- /ep16/src/main/resources/t.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/src/main/resources/t.cymbol -------------------------------------------------------------------------------- /ep16/tutorial.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep16/tutorial.md -------------------------------------------------------------------------------- /ep17/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/TODO.md -------------------------------------------------------------------------------- /ep17/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/pom.xml -------------------------------------------------------------------------------- /ep17/src/main/antlr4/Cymbol.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/antlr4/Cymbol.g4 -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/BaseScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/BaseScope.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/GlobalScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/GlobalScope.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/LocalScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/LocalScope.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/MethodSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/MethodSymbol.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/ReturnValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/ReturnValue.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Scope.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/ScopedSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/ScopedSymbol.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Symbol.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/Type.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/TypeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/TypeTable.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/VariableSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep14/symtab/VariableSymbol.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/Compiler.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/CompilerLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/CompilerLogger.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/FunctionSpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/FunctionSpace.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/Graph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/Graph.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/MemorySpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/MemorySpace.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/ScopeUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/ScopeUtil.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/misc/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/misc/Util.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/Cymbol.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/Cymbol.interp -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/Cymbol.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/Cymbol.tokens -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.interp -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolLexer.tokens -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolListener.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolParser.java -------------------------------------------------------------------------------- /ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/java/org/teachfx/antlr4/ep17/parser/CymbolVisitor.java -------------------------------------------------------------------------------- /ep17/src/main/resources/t.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep17/src/main/resources/t.cymbol -------------------------------------------------------------------------------- /ep18/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/TODO.md -------------------------------------------------------------------------------- /ep18/Update.md: -------------------------------------------------------------------------------- 1 | # 更新日志 2 | 3 | ## 条目 4 | -------------------------------------------------------------------------------- /ep18/VM_Design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/VM_Design.md -------------------------------------------------------------------------------- /ep18/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/pom.xml -------------------------------------------------------------------------------- /ep18/src/main/antlr4/VMAssembler.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/antlr4/VMAssembler.g4 -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/VMInterpreter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/VMInterpreter.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/VMRunner.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/VMRunner.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssembler.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssembler.interp -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssembler.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssembler.tokens -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssemblerLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/parser/VMAssemblerLexer.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/CymbolStackVM.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/CymbolStackVM.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/DisAssembler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/DisAssembler.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/FunctionSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/FunctionSymbol.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/LabelSymbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/LabelSymbol.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/StackFrame.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/StackFrame.java -------------------------------------------------------------------------------- /ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/StructSpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/java/org/teachfx/antlr4/ep18/stackvm/StructSpace.java -------------------------------------------------------------------------------- /ep18/src/main/resources/c.vm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/resources/c.vm -------------------------------------------------------------------------------- /ep18/src/main/resources/t.vm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep18/src/main/resources/t.vm -------------------------------------------------------------------------------- /ep19/Design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/Design.md -------------------------------------------------------------------------------- /ep19/Plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/Plan.md -------------------------------------------------------------------------------- /ep19/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/README.md -------------------------------------------------------------------------------- /ep19/benchmark_results/benchmark_results.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/benchmark_results/benchmark_results.csv -------------------------------------------------------------------------------- /ep19/debug_test.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/debug_test.cymbol -------------------------------------------------------------------------------- /ep19/docs/ep19-improvements-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/docs/ep19-improvements-summary.md -------------------------------------------------------------------------------- /ep19/docs/tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/docs/tasks.md -------------------------------------------------------------------------------- /ep19/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/pom.xml -------------------------------------------------------------------------------- /ep19/src/main/antlr4/org/teachfx/antlr4/ep19/parser/Cymbol.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/antlr4/org/teachfx/antlr4/ep19/parser/Cymbol.g4 -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/Compiler.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/misc/CompilerLogger.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/misc/CompilerLogger.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/misc/ScopeUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/misc/ScopeUtil.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/misc/Util.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/misc/Util.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/parser/Cymbol.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/parser/Cymbol.interp -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/parser/Cymbol.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/parser/Cymbol.tokens -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/parser/CymbolLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/parser/CymbolLexer.interp -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/parser/CymbolLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/parser/CymbolLexer.tokens -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/CymbolASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/CymbolASTVisitor.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/CymbolAssembler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/CymbolAssembler.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/Interpreter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/Interpreter.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/LocalDefine.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/LocalDefine.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/LocalResolver.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/LocalResolver.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/pass/TypeCheckVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/pass/TypeCheckVisitor.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/FunctionSpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/FunctionSpace.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/MemorySpace.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/MemorySpace.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/StructInstance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/runtime/StructInstance.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/ReturnValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/ReturnValue.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/Type.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/TypeChecker.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/TypeChecker.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/TypeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/TypeTable.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/BaseScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/BaseScope.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/LocalScope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/LocalScope.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/scope/Scope.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/symbol/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/symbol/Symbol.java -------------------------------------------------------------------------------- /ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/type/ArrayType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/java/org/teachfx/antlr4/ep19/symtab/type/ArrayType.java -------------------------------------------------------------------------------- /ep19/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/resources/log4j2.xml -------------------------------------------------------------------------------- /ep19/src/main/resources/t.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/main/resources/t.cymbol -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/CompilerTestUtil.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/CompilerTestUtil.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/ComprehensiveTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/ComprehensiveTest.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/ErrorRecoveryTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/ErrorRecoveryTest.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/FunctionAndMethodTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/FunctionAndMethodTest.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/IntegrationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/IntegrationTest.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/StructAndTypedefTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/StructAndTypedefTest.java -------------------------------------------------------------------------------- /ep19/src/test/java/org/teachfx/antlr4/ep19/TypeSystemTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/java/org/teachfx/antlr4/ep19/TypeSystemTest.java -------------------------------------------------------------------------------- /ep19/src/test/resources/minimal_test.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/resources/minimal_test.cymbol -------------------------------------------------------------------------------- /ep19/src/test/resources/simple_test.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/resources/simple_test.cymbol -------------------------------------------------------------------------------- /ep19/src/test/resources/struct_method_test.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/src/test/resources/struct_method_test.cymbol -------------------------------------------------------------------------------- /ep19/tdd_driven_todo_cases.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep19/tdd_driven_todo_cases.md -------------------------------------------------------------------------------- /ep2/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/pom.xml -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInit.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInit.interp -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInit.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInit.tokens -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitBaseListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitBaseListener.java -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitBaseVisitor.java -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitLexer.interp -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitLexer.java -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitLexer.tokens -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitListener.java -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitParser.java -------------------------------------------------------------------------------- /ep2/src/main/java/ArrayInitVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/ArrayInitVisitor.java -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ArrayInit.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ArrayInit.g4 -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ArrayInit.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ArrayInit.tokens -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ArrayInitLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ArrayInitLexer.tokens -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ShortToUnicodeString.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ShortToUnicodeString.java -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/Test.java -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/Translate.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/Translate.java -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ep20/parser/ArrayInit.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ep20/parser/ArrayInit.tokens -------------------------------------------------------------------------------- /ep2/src/main/java/org/teachfx/antlr4/ep20/parser/ArrayInitLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep2/src/main/java/org/teachfx/antlr4/ep20/parser/ArrayInitLexer.tokens -------------------------------------------------------------------------------- /ep20/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/README.md -------------------------------------------------------------------------------- /ep20/README_ZH.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/README_ZH.md -------------------------------------------------------------------------------- /ep20/docs/compilation-sequence.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/compilation-sequence.md -------------------------------------------------------------------------------- /ep20/docs/design/register-allocation-algorithm-details.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/register-allocation-algorithm-details.md -------------------------------------------------------------------------------- /ep20/docs/design/register-allocation-api-design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/register-allocation-api-design.md -------------------------------------------------------------------------------- /ep20/docs/design/register-allocation-design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/register-allocation-design.md -------------------------------------------------------------------------------- /ep20/docs/design/register-allocation-integration.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/register-allocation-integration.md -------------------------------------------------------------------------------- /ep20/docs/design/register-allocation-test-strategy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/register-allocation-test-strategy.md -------------------------------------------------------------------------------- /ep20/docs/design/technical-design.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/design/technical-design.md -------------------------------------------------------------------------------- /ep20/docs/ep20-improvements-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/ep20-improvements-summary.md -------------------------------------------------------------------------------- /ep20/docs/migration/final-project-report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/final-project-report.md -------------------------------------------------------------------------------- /ep20/docs/migration/grammar-diff-analysis.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/grammar-diff-analysis.md -------------------------------------------------------------------------------- /ep20/docs/migration/phase1-operators-completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/phase1-operators-completion.md -------------------------------------------------------------------------------- /ep20/docs/migration/phase2-arrays-completion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/phase2-arrays-completion.md -------------------------------------------------------------------------------- /ep20/docs/migration/phase2-arrays-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/phase2-arrays-summary.md -------------------------------------------------------------------------------- /ep20/docs/migration/project-completion-summary.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/project-completion-summary.md -------------------------------------------------------------------------------- /ep20/docs/migration/tdd-migration-plan.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/migration/tdd-migration-plan.md -------------------------------------------------------------------------------- /ep20/docs/module-interaction.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/module-interaction.md -------------------------------------------------------------------------------- /ep20/docs/project-architecture.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/project-architecture.md -------------------------------------------------------------------------------- /ep20/docs/tdd_implementation_steps.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/tdd_implementation_steps.md -------------------------------------------------------------------------------- /ep20/docs/tdd_improvement_tasks.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/tdd_improvement_tasks.md -------------------------------------------------------------------------------- /ep20/docs/tdd_test_case_guide.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/docs/tdd_test_case_guide.md -------------------------------------------------------------------------------- /ep20/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/pom.xml -------------------------------------------------------------------------------- /ep20/src/main/antlr4/org/teachfx/antlr4/ep20/parser/Cymbol.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/antlr4/org/teachfx/antlr4/ep20/parser/Cymbol.g4 -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/Compiler.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/ASTNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/ASTNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/ASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/ASTVisitor.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/CompileUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/CompileUnit.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/DeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/DeclNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/FuncDeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/FuncDeclNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/StructDeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/StructDeclNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/VarDeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/decl/VarDeclNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/BinaryExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/BinaryExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/BoolExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/BoolExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/CallFuncNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/CallFuncNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/CastExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/CastExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/ExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/ExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/FloatExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/FloatExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/IDExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/IDExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/IntExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/IntExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/LiteralNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/LiteralNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/NullExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/NullExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/StringExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/StringExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/UnaryExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/expr/UnaryExprNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/AssignStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/AssignStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/BlockStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/BlockStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/BreakStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/BreakStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ExprStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ExprStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/IfStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/IfStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ReturnStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ReturnStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ScopeType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/ScopeType.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/StmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/StmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/WhileStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/stmt/WhileStmtNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ast/type/TypeNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ast/type/TypeNode.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/debugger/ast/Dumpable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/debugger/ast/Dumpable.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/debugger/ast/Dumper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/debugger/ast/Dumper.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/driver/ErrorIssuer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/driver/ErrorIssuer.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/driver/Phase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/driver/Phase.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/driver/Task.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/driver/Task.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/error/CymbalError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/error/CymbalError.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/IRNode.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep20.ir; 2 | 3 | public abstract class IRNode { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/IRVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/IRVisitor.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/JMPInstr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/JMPInstr.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/Prog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/Prog.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/CallFunc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/CallFunc.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/Expr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/Expr.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/ImmValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/ImmValue.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/Operand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/Operand.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/VarSlot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/VarSlot.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/addr/FrameSlot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/addr/FrameSlot.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/BinExpr.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/UnaryExpr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/arith/UnaryExpr.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/val/ConstVal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/expr/val/ConstVal.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Assign.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Assign.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/CJMP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/CJMP.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/ExprStmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/ExprStmt.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/FuncEntryLabel.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/FuncEntryLabel.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/JMP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/JMP.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Label.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Label.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/ReturnVal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/ReturnVal.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Stmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/ir/stmt/Stmt.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/parser/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/parser/Location.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/ast/ASTBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/ast/ASTBaseVisitor.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/BasicBlock.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/CFG.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/CFG.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/CFGBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/CFGBuilder.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/IOrdIdentity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/IOrdIdentity.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/Loc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/pass/cfg/Loc.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/scope/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/scope/Scope.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/symbol/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/symbol/Symbol.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/ArrayType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/ArrayType.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/Type.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/TypeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/symtab/type/TypeTable.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/utils/Kind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/utils/Kind.java -------------------------------------------------------------------------------- /ep20/src/main/java/org/teachfx/antlr4/ep20/utils/StreamUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/java/org/teachfx/antlr4/ep20/utils/StreamUtils.java -------------------------------------------------------------------------------- /ep20/src/main/resources/arith.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/arith.cymbol -------------------------------------------------------------------------------- /ep20/src/main/resources/graph_0_optimized.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/graph_0_optimized.md -------------------------------------------------------------------------------- /ep20/src/main/resources/graph_0_origin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/graph_0_origin.md -------------------------------------------------------------------------------- /ep20/src/main/resources/graph_1_optimized.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/graph_1_optimized.md -------------------------------------------------------------------------------- /ep20/src/main/resources/graph_1_origin.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/graph_1_origin.md -------------------------------------------------------------------------------- /ep20/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/log4j2.xml -------------------------------------------------------------------------------- /ep20/src/main/resources/t.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/main/resources/t.cymbol -------------------------------------------------------------------------------- /ep20/src/test/java/org/teachfx/antlr4/ep20/ArraysTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/java/org/teachfx/antlr4/ep20/ArraysTest.java -------------------------------------------------------------------------------- /ep20/src/test/java/org/teachfx/antlr4/ep20/NewSyntaxTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/java/org/teachfx/antlr4/ep20/NewSyntaxTest.java -------------------------------------------------------------------------------- /ep20/src/test/java/org/teachfx/antlr4/ep20/OperatorsTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/java/org/teachfx/antlr4/ep20/OperatorsTest.java -------------------------------------------------------------------------------- /ep20/src/test/java/org/teachfx/antlr4/ep20/ast/expr/BoolExprNodeTest.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep20.ast.expr; 2 | public class BoolExprNodeTest { 3 | } 4 | -------------------------------------------------------------------------------- /ep20/src/test/resources/arrays/array_access_test.cym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/resources/arrays/array_access_test.cym -------------------------------------------------------------------------------- /ep20/src/test/resources/arrays/array_declaration_test.cym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/resources/arrays/array_declaration_test.cym -------------------------------------------------------------------------------- /ep20/src/test/resources/ast/expressions/sample.txt: -------------------------------------------------------------------------------- 1 | // Sample expression test resource -------------------------------------------------------------------------------- /ep20/src/test/resources/ast/statements/sample.txt: -------------------------------------------------------------------------------- 1 | // Sample statement test resource -------------------------------------------------------------------------------- /ep20/src/test/resources/cfg/graphs/sample.txt: -------------------------------------------------------------------------------- 1 | // Sample CFG test resource -------------------------------------------------------------------------------- /ep20/src/test/resources/codegen/instructions/sample.txt: -------------------------------------------------------------------------------- 1 | // Sample codegen test resource -------------------------------------------------------------------------------- /ep20/src/test/resources/ir/expected/sample.txt: -------------------------------------------------------------------------------- 1 | // Sample IR expected test resource -------------------------------------------------------------------------------- /ep20/src/test/resources/operators/logical_and_test.cym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/resources/operators/logical_and_test.cym -------------------------------------------------------------------------------- /ep20/src/test/resources/operators/modulo_test.cym: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep20/src/test/resources/operators/modulo_test.cym -------------------------------------------------------------------------------- /ep21/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/README.md -------------------------------------------------------------------------------- /ep21/TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/TODO.md -------------------------------------------------------------------------------- /ep21/clean-vscode-cache.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/clean-vscode-cache.sh -------------------------------------------------------------------------------- /ep21/docs/JUnit5配置说明.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/JUnit5配置说明.md -------------------------------------------------------------------------------- /ep21/docs/Java21性能基准测试报告.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/Java21性能基准测试报告.md -------------------------------------------------------------------------------- /ep21/docs/Java21适配计划.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/Java21适配计划.md -------------------------------------------------------------------------------- /ep21/docs/test_templates.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/test_templates.md -------------------------------------------------------------------------------- /ep21/docs/单元概要.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/单元概要.md -------------------------------------------------------------------------------- /ep21/docs/改进计划2025.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/改进计划2025.md -------------------------------------------------------------------------------- /ep21/docs/测试重构总结.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/测试重构总结.md -------------------------------------------------------------------------------- /ep21/docs/详细设计.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/详细设计.md -------------------------------------------------------------------------------- /ep21/docs/进阶模块技术实现指南.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/进阶模块技术实现指南.md -------------------------------------------------------------------------------- /ep21/docs/高年级研究生进阶模块建议.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/高年级研究生进阶模块建议.md -------------------------------------------------------------------------------- /ep21/docs/高年级研究生进阶模块建议.md.backup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/高年级研究生进阶模块建议.md.backup -------------------------------------------------------------------------------- /ep21/docs/高年级研究生进阶模块建议_review.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/docs/高年级研究生进阶模块建议_review.md -------------------------------------------------------------------------------- /ep21/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/pom.xml -------------------------------------------------------------------------------- /ep21/src/main/antlr4/org/teachfx/antlr4/ep21/Cymbol.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/antlr4/org/teachfx/antlr4/ep21/Cymbol.g4 -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/Compiler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/Compiler.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/analysis/ssa/SSAGraph.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/analysis/ssa/SSAGraph.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/ASTNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/ASTNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/ASTVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/ASTVisitor.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/CompileUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/CompileUnit.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/DeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/DeclNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/FuncDeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/FuncDeclNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/VarDeclNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/decl/VarDeclNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/BoolExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/BoolExprNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/CallFuncNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/CallFuncNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/ExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/ExprNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/IDExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/IDExprNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/IntExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/IntExprNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/LiteralNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/LiteralNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/NullExprNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/expr/NullExprNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/ExprStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/ExprStmtNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/IfStmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/IfStmtNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/ScopeType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/ScopeType.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/StmtNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/stmt/StmtNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ast/type/TypeNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ast/type/TypeNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/debugger/ast/Dumpable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/debugger/ast/Dumpable.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/debugger/ast/Dumper.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/debugger/ast/Dumper.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/driver/ErrorIssuer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/driver/ErrorIssuer.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/driver/Phase.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/driver/Phase.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/driver/Task.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/driver/Task.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/error/CymbalError.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/error/CymbalError.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/IRNode.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep21.ir; 2 | 3 | public abstract class IRNode { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/IRVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/IRVisitor.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/JMPInstr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/JMPInstr.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/Prog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/Prog.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/CallFunc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/CallFunc.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/Expr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/Expr.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/ImmValue.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/ImmValue.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/Operand.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/Operand.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/VarSlot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/VarSlot.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/arith/BinExpr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/arith/BinExpr.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/val/ConstVal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/expr/val/ConstVal.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/lir/LIRAssign.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/lir/LIRAssign.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/lir/LIRNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/lir/LIRNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRAssignStmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRAssignStmt.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRExpr.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRExpr.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRFunction.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRFunction.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRNode.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRStmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRStmt.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/mir/MIRVisitor.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Assign.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Assign.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/CJMP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/CJMP.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/ExprStmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/ExprStmt.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/JMP.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/JMP.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Label.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Label.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/ReturnVal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/ReturnVal.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Stmt.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/ir/stmt/Stmt.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Cymbol.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Cymbol.interp -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Cymbol.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Cymbol.tokens -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/parser/CymbolLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/parser/CymbolLexer.interp -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/parser/CymbolLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/parser/CymbolLexer.tokens -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Location.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/parser/Location.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/BasicBlock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/BasicBlock.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFG.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFG.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFGBuilder.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFGBuilder.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFGConstants.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/CFGConstants.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/IOrdIdentity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/IOrdIdentity.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/Loc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/pass/cfg/Loc.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/scope/Scope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/scope/Scope.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/symbol/Symbol.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/symbol/Symbol.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/type/Type.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/type/Type.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/type/TypeTable.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/symtab/type/TypeTable.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/utils/Kind.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/utils/Kind.java -------------------------------------------------------------------------------- /ep21/src/main/java/org/teachfx/antlr4/ep21/utils/StreamUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/java/org/teachfx/antlr4/ep21/utils/StreamUtils.java -------------------------------------------------------------------------------- /ep21/src/main/resources/arith.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/resources/arith.cymbol -------------------------------------------------------------------------------- /ep21/src/main/resources/log4j2.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/resources/log4j2.xml -------------------------------------------------------------------------------- /ep21/src/main/resources/t.cymbol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/main/resources/t.cymbol -------------------------------------------------------------------------------- /ep21/src/test/java/org/teachfx/antlr4/ep21/ast/expr/BoolExprNodeTest.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep21.ast.expr; 2 | public class BoolExprNodeTest { 3 | } 4 | -------------------------------------------------------------------------------- /ep21/src/test/java/org/teachfx/antlr4/ep21/test/MIRTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep21/src/test/java/org/teachfx/antlr4/ep21/test/MIRTest.java -------------------------------------------------------------------------------- /ep3/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/pom.xml -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/CommonLexRules.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/CommonLexRules.g4 -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/ExprJoyRide.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/ExprJoyRide.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExpr.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExpr.g4 -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExpr.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExpr.interp -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExpr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExpr.tokens -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprBaseListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprBaseListener.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.interp -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprLexer.tokens -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprListener.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/LibExprParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/LibExprParser.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/ep20/parser/CommonLexRules.tokens: -------------------------------------------------------------------------------- 1 | ID=1 2 | INT=2 3 | NEWLINE=3 4 | WS=4 5 | -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/ep20/parser/LibExpr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/ep20/parser/LibExpr.tokens -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/ep20/parser/LibExprLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/ep20/parser/LibExprLexer.tokens -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/gen/CommonLexRules.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/gen/CommonLexRules.interp -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/gen/CommonLexRules.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep3/src/main/java/org/teachfx/antlr4/gen/CommonLexRules.java -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/gen/CommonLexRules.tokens: -------------------------------------------------------------------------------- 1 | ID=1 2 | INT=2 3 | NEWLINE=3 4 | WS=4 5 | -------------------------------------------------------------------------------- /ep3/src/main/java/org/teachfx/antlr4/t.expr: -------------------------------------------------------------------------------- 1 | 193 2 | a=5 3 | b=6 4 | a+b*2 5 | (1+2)*3 6 | 7 | -------------------------------------------------------------------------------- /ep4/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/pom.xml -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/Calc.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/EvalVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/EvalVisitor.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.g4 -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.interp -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExpr.tokens -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprBaseVisitor.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.interp -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprLexer.tokens -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprParser.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/LabeledExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/LabeledExprVisitor.java -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/ReadMe.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/ReadMe.md -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/ep20/parser/LabeledExpr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep4/src/main/java/org/teachfx/antlr4/ep20/parser/LabeledExpr.tokens -------------------------------------------------------------------------------- /ep4/src/main/java/org/teachfx/antlr4/t.expr: -------------------------------------------------------------------------------- 1 | 193 2 | a=5 3 | b=6 4 | a+b*2 5 | (1+2)*3 6 | 7 | -------------------------------------------------------------------------------- /ep5/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/pom.xml -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/Demo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/Demo.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/ExtractInterfaceListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/ExtractInterfaceListener.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/ExtractInterfaceTool.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/ExtractInterfaceTool.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/Java.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/Java.g4 -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/Java.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/Java.interp -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/Java.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/Java.tokens -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaBaseListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaBaseListener.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaLexer.interp -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaLexer.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaLexer.tokens -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaListener.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/JavaParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/JavaParser.java -------------------------------------------------------------------------------- /ep5/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep5/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep6/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/pom.xml -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSV.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSV.g4 -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSV.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSV.interp -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSV.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSV.tokens -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVBaseListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVBaseListener.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVExplor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVExplor.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVLexer.interp -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVLexer.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVLexer.tokens -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVListener.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVParser.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/CSVReader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/CSVReader.java -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/Data.csv: -------------------------------------------------------------------------------- 1 | Name,Age,Score 2 | "Arthur",19,150 3 | "Blitz",22,139 4 | -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/REAME.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ep6/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep6/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep7/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/pom.xml -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSON.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSON.g4 -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSON.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSON.interp -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSON.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSON.tokens -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONBaseListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONBaseListener.java -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONLexer.interp -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONLexer.java -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONLexer.tokens -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONListener.java -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/JSONParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/JSONParser.java -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep7/src/main/java/org/teachfx/antlr4/t.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep7/src/main/java/org/teachfx/antlr4/t.json -------------------------------------------------------------------------------- /ep8/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/pom.xml -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/ASTNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/ASTNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/AddNode.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep8; 2 | 3 | public class AddNode { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/BinArithNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/BinArithNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/ExprNode.java: -------------------------------------------------------------------------------- 1 | package org.teachfx.antlr4.ep8; 2 | 3 | public class ExprNode { 4 | 5 | } 6 | -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/ExprVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/ExprVisitor.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/IntNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/IntNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/OPType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/OPType.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/RawValueNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/RawValueNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/StatNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/StatNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/StatsNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/StatsNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VarNode.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VarNode.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMath.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMath.g4 -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMath.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMath.interp -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMath.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMath.tokens -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathBaseVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathBaseVisitor.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.interp -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathLexer.tokens -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathParser.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/VecMathVisitor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/VecMathVisitor.java -------------------------------------------------------------------------------- /ep8/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep8/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /ep9/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/pom.xml -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/Calc.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/Calc.java -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/Expr.g4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/Expr.g4 -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/Expr.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/Expr.interp -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/Expr.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/Expr.tokens -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/ExprLexer.interp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/ExprLexer.interp -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/ExprLexer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/ExprLexer.java -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/ExprLexer.tokens: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/ExprLexer.tokens -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/ExprParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/ExprParser.java -------------------------------------------------------------------------------- /ep9/src/main/java/org/teachfx/antlr4/build.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/ep9/src/main/java/org/teachfx/antlr4/build.xml -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/pom.xml -------------------------------------------------------------------------------- /scripts/check_utf8.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/check_utf8.py -------------------------------------------------------------------------------- /scripts/cp_prototype.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/cp_prototype.py -------------------------------------------------------------------------------- /scripts/cpfromtemplate.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/cpfromtemplate.sh -------------------------------------------------------------------------------- /scripts/run.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/run.bat -------------------------------------------------------------------------------- /scripts/run.ps1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/run.ps1 -------------------------------------------------------------------------------- /scripts/run.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/run.py -------------------------------------------------------------------------------- /scripts/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/whtoo/How_to_implment_PL_in_Antlr4/HEAD/scripts/run.sh --------------------------------------------------------------------------------