在C中使用的关键字'%type'和'%token'是什么?

时间:2012-05-04 12:58:14

标签: c syntax keyword

在我深入研究OpenNTPD源代码文件的过程中,我注意到我之前从未在任何C代码中看到的新关键字和语法,例如}%%%,{{ 1}}和%type在名为parse.y的文件中:

%token

除了这些关键字,大多数文件的内容都有通常的C语法。有人知道这些关键字是什么以及它们用于什么?

2 个答案:

答案 0 :(得分:3)

我的猜测是这是Yacc代码(即grammar的定义),而不是普通的C.这是一个类似于BNF的符号。

答案 1 :(得分:0)

如果您查看*.l个文件,您可能还会看到很多C代码,其中包含%%%x%s%option然后它是一个词法分析器输入文件,通常附带一个yacc *.y文件。