、私は、このようなparse.yという名前のファイルに}%
、%%
、%type
と%token
などの前に任意のCコードで見たことがない新しいキーワードとsyntaxsに気づいた:Cで使用されるキーワード '%type'と '%token'は何ですか?私は<a href="http://openntpd.org/" rel="nofollow">OpenNTPD</a>ソースコードファイルを掘り下げるたが
%{
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
...
%}
%token LISTEN ON
%token SERVER SERVERS SENSOR CORRECTION RTABLE REFID WEIGHT
%token ERROR
%token <v.string> STRING
%token <v.number>
....
grammar : /* empty */
| grammar '\n'
| grammar main '\n'
| grammar error '\n' { file->errors++; }
;
main : LISTEN ON address listen_opts {
struct listen_addr *la;
struct ntp_addr *h, *next;
if ($3->a)
...
ファイルの内容のほとんどは、これらのキーワードを除く通常のC構文を持ちます。誰かがこれらのキーワードが何で、何が使われているかを知っていますか?
これは[Yacc](http://dinosaur.compilertools.net/)のパーサー定義です。 –