lidotcircle / dcparse

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DCParse

从头实现一个C99编译器

项目概述

  • 正则表达式. 通过正则表达式构建 DFA, 实现不匹配的字符串可以不需要全部输入就可判定为不匹配
  • Tokenizer 利用正则表达式或者其他规则将文本转换为 tokens
  • Parser Bottom-Up parser, 并实现额外的规则解决 typedef 导致的问题
  • Calculator 利用以上工具实现的一个简单的计算器, 可以定义函数并有一些预置的函数
  • cparser C99编译器(未完成), 目标代码为 (WASM)
    • 语法规则
    • 类型检查
    • 代码生成
    • 优化

About


Languages

Language:C++ 95.3%Language:CMake 4.7%