标签: c syntax keyword
在我深入研究OpenNTPD源代码文件的过程中,我注意到我之前从未在任何C代码中看到的新关键字和语法,例如}%,%%,{{ 1}}和%type在名为parse.y的文件中:
}%
%%
%type
%token
除了这些关键字,大多数文件的内容都有通常的C语法。有人知道这些关键字是什么以及它们用于什么?
答案 0 :(得分:3)
我的猜测是这是Yacc代码(即grammar的定义),而不是普通的C.这是一个类似于BNF的符号。
答案 1 :(得分:0)
如果您查看*.l个文件,您可能还会看到很多C代码,其中包含%%,%x,%s,%option然后它是一个词法分析器输入文件,通常附带一个yacc *.y文件。
*.l
%x
%s
%option
*.y