有关在C++中为很酷的语言制作编译器的问题

Questions about making compiler for cool language in C++

本文关键字:语言 问题 编译器 C++      更新时间:2023-10-16

大约一周前,我在 coursera.org 开始了一门在线课程"编译器"。今天我得到了一些开始的代码。

我希望你能帮助我得到一些问题的答案。

%{ /* some code */ %} =>这是什么,我一直认为%是模块运算符


[ t]+ [0-9]+ { return(NUM); } => 我可以理解代码的一部分[0-9]+但我不明白[t]+在这里做什么。

看起来像Lex,而不是C++

%{ %}指定将逐字复制到输出源中的 C/C++ 代码。

[ t]+忽略所有空白和制表符(t是制表符(。

首先,如果提供编写编译器的语言的详细信息,那就太好了。

根据所提供的任何信息,这里最好的猜测是 [\t] 用于识别选项卡,以防使用缩进来识别单独代码块的类似 python 的语言。