2009-07-31 7 views

Antwort

1

tokens.h ist eine Datei, die von yacc oder bison generiert wird und eine Liste von Tokens in Ihrer Grammatik enthält.

%token INTEGER 
%token ID 
%token STRING 
%token SPACE 

Ausführen dieser Datei durch yacc/bison führt in einer tokens.h-Datei, die Präprozessordefinitionen für diese Token enthält:

/* Something like this... */ 
#define INTEGER (1) 
#define ID  (2) 
#define STRING (3) 
+0

so, wie ich es benutzt werde soll .. Hast du irgendwelche Links? – Hick

+0

Verwenden Sie Flex? –

+0

Nein, ich bin nicht. Ich programmiere mein eigenes Lex. Kannst du ein paar Bücher dazu empfehlen? – Hick

0

Ihre yacc/bison Eingabedatei Token Erklärungen dergleichen enthalten

Wahrscheinlich ist tokens.h eine Datei, die vom Parser-Generator (Yacc/Bison) generiert wird und Token-Definitionen enthält, damit Sie Tok zurückgeben können ens vom Lexer zum Parser.

Mit Lex/Flex und Yacc/Bison, funktioniert es wie folgt aus:

parser.y:

%token FOO 
%token BAR 

%% 

start: FOO BAR; 

%% 

lexer.l:

%{ 
#include "tokens.h" 
%} 

%% 

foo {return FOO;} 
bar {return BAR;} 

%%