2010-10-24 13 views
4

Je veux construire un analyseur lexical simple pour un langage spécifique qui a réservé des mots comme (si, sinon, etc.) en utilisant ANTLR. J'ai suivi plusieurs tutoriels et j'ai pu trouver les moyens de définir toutes les options sauf les mots-clés réservés. Comment définir des mots-clés réservés dans le fichier de grammaire dans ANTLR?Définir les mots-clés dans la grammaire ANTLR

Merci à l'avance Shamika

Répondre

2

This ANTLR 2.0 tutorial explique comment traiter les mots-clés dans un lexer ANTLR. Recherchez simplement la section intitulée "Mots clés".

Il existe un lien en haut de la page vers un didacticiel vidéo pour ANTLR 3.0, si cela vous convient davantage.

+0

pensé que je ne retrouverais jamais ce tutoriel, merci –

8

Définissez-les avant une règle pouvant éventuellement correspondre à ces mots-clés.

Par exemple, vous avez une règle qui correspond à des identifiants, où un identifiant est constitué d'un mot-clé minerai plus de lettres, votre réservé if devrait être des lieux avant que la règle d'identification dans votre lexer:

grammar T; 

// parser rules here 

IF 
    : 'if' 
    ; 

IDENTIFIER 
    : ('a'..'z')+ 
    ; 

De cette façon , un if deviendra toujours un jeton IF et non un IDENTIFIER.