页面加载中
博客快捷键
按住 Shift 键查看可用快捷键
ShiftK
开启/关闭快捷键功能
ShiftA
打开/关闭中控台
ShiftD
深色/浅色显示模式
ShiftS
站内搜索
ShiftR
随机访问
ShiftH
返回首页
ShiftL
友链页面
ShiftP
关于本站
ShiftI
原版/本站右键菜单
松开 Shift 键或点击外部区域关闭
互动
最近评论
暂无评论
标签
寻找感兴趣的领域
暂无标签
    0
    文章
    0
    标签
    8
    分类
    10
    评论
    128
    功能
    深色模式
    标签
    JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
    互动
    最近评论
    暂无评论
    标签
    寻找感兴趣的领域
    暂无标签
      0
      文章
      0
      标签
      8
      分类
      10
      评论
      128
      功能
      深色模式
      标签
      JavaScript12TypeScript8React15Next.js6Vue10Node.js7CSS5前端20
      随便逛逛
      博客分类
      文章标签
      复制地址
      深色模式
      AnHeYuAnHeYu
      Search⌘K
      博客
        暂无其他文档

        Build Your Own Interpreter

        January 26, 20262 分钟 阅读184 次阅读
        引用站外地址
        Build Your Own Interpreter
        CodeCrafters
        引用站外地址
        Build Your Own Interpreter
        Github

        1️⃣ Base Stage

        Scanning: Empty file

        Scanning: Parentheses

        Scanning: Braces

        Scanning: Other single-character tokens

        Scanning: Lexical errors

        Scanning: Assignment & equality Operators

        Scanning: Negation & inequality operators

        Scanning: Relational operators

        Scanning: Division operator & comments

        Scanning: Multi-line errors

        Scanning: String literals

        Scanning: Number literals

        Scanning: Identifiers

        Scanning: Reserved words

        2️⃣ Parsing Expressions

        Booleans & Nil

        Number literals

        String literals

        Parentheses

        Unary Operators

        Arithmetic operators (1/2)

        Arithmetic operators (2/2)

        Comparison operators

        Equality operators

        Syntactic errors

        3️⃣ Evaluating Expressions

        Literals: Booleans & Nil

        Literals: Strings & Numbers

        Parentheses

        Unary Operators: Negation & Not

        Arithmetic Operators (1/2)

        Arithmetic Operators (2/2)

        String Concatenation

        Relational Operators

        Equality Operators

        Runtime Errors: Unary Operators

        Runtime Errors: Binary Operators (1/2)

        Runtime Errors: Binary Operators (2/2)

        Runtime Errors: Relational Operators

        4️⃣ Statements & State

        Print: Generate output

        Expression statements

        Variables: Declare variables

        Variables: Runtime Errors

        Variables: Initialize variables

        Variables: Redeclare variables

        Assignment operation

        Block syntax

        Scopes

        5️⃣ Control Flow

        If statements

        Else statements

        Else-if statements

        Nested if statements

        Logical OR operator

        Logical AND operator

        While statements

        For statements

        Syntactic errors

        6️⃣ Functions

        Native functions

        Functions without arguments

        Functions with arguments

        Syntax errors

        Return statements

        Higher order functions

        Runtime errors

        Function scope

        Closures

        7️⃣ Resolving & Binding

        Identifier Resolution

        Self Initialization

        Variable Redeclaration

        Invalid Return

        8️⃣ Classes

        Class Declarations

        Class Instances

        Getters & Setters

        Instance Methods

        The 'this' keyword

        Invalid usages of 'this'

        最后更新于 March 13, 2026
        On this page
        暂无目录