2009-07-31 6 views

Répondre

1

tokens.h est un fichier généré par ou bison qui contient une liste de jetons dans votre grammaire.

Votre fichier d'entrée yacc/bison peut contenir des déclarations symboliques comme:

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

L'exécution de ce fichier par yacc/bison se traduira par un fichier tokens.h qui contient les définitions de préprocesseur pour ces jetons:

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

alors comment suis-je censé l'utiliser .. Avez-vous des liens? – Hick

+0

Utilisez-vous flex? –

+0

non je ne suis pas. Je programme ma propre lex. pouvez-vous recommander des livres à ce sujet? – Hick

0

Probablement, tokens.h est un fichier généré par le générateur d'analyseur syntaxique (Yacc/Bison) contenant des définitions de jeton de sorte que vous pouvez retourner tok ens du lexer à l'analyseur.

Avec Lex/Flex et Yacc/Bison, il fonctionne comme ceci:

parser.y:

%token FOO 
%token BAR 

%% 

start: FOO BAR; 

%% 

lexer.l:

%{ 
#include "tokens.h" 
%} 

%% 

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

%% 
Questions connexes