Skip to content

lab1

:material-circle-edit-outline: 约 151 个字 :material-clock-time-two-outline: 预计阅读时间 1 分钟

TODO

  • ast/tree.hpp 中定义了 AST 的节点类型
    • 你需要根据 SysY 语言的语法规则,定义更多的 AST 节点类型,例如 AST::WhileStmtAST::IfStmt 等。
    • 为了方便打印语法树,我们还给每个节点添加了 to_stringget_children 方法。具体的实现可以参考已经给出的类的定义。
  • 词法分析器的定义在 lexer/lexer.l
    • 你需要根据 SysY 语言的词法规则,定义更多的 token 类型。
  • 语法分析器的定义在 parser/parser.y
    • 你需要根据 SysY 语言的语法规则,定义更多的语法规则。