随笔分类 - C/C++
摘要:本节是我们这个编译器系列的第二节,进入语法分析与语义分析的部分解。在本节我们会编写一个简单的解析器。 解析器的主要功能分为两个部分: 识别输入的语法元素生成AST(Abstract Syntax Trees)并确保输入符合语法规则 解析AST并计算表达式的值 在开始代码编写之前,请先了解本节最重要的
阅读全文
摘要:本节我们先从一个简易的可以识别四则运算和整数值的词法分析扫描器开始。它实现的功能也很简单,就是读取我们给定的文件,并识别出文件中的token将其输出。 这个简易的扫描器支持的词法元素只有五个: 四个基本的算术运算符:+、-、*、/ 十进制整数 我们需要事先定义好每一个token,使用枚举类型来表示:
阅读全文
摘要:编译器写作之旅 最近在Github上看到一个十分有趣的项目acwj(A Compiler Writing Journey),一个用C语言编写编译器的项目。身为一个程序员,这在我看来是一件十分酷的事情。于是便跟随着作者的项目学习,在此记录学习过程,并于大家分享。 本系列文章的目标 编写一个可以自编译的
阅读全文

浙公网安备 33010602011771号