2008-12-29 3 views
3

J'ai un problème étrange avec le jeton NULL: "null"> dans mon analyseur JavaCC. Dans l'expression commeJeton NULL en JavaCC

String IsNullClause(): 
{ 
     String res = ""; 
} 
{ 
    <IS> {res += " IS ";} 
    [<NOT> {res += " NOT ";} ] 
    <NULL> {res += " NULL ";} 

{ 
    return res; 
} 
} 

analyseur ne voit pas NULL jeton et émet une exception que "null" prévu. Si je change la définition de jeton à < NULL: "null_val"> ou quelque chose d'autre cela fonctionne très bien. Est-ce mon erreur ou JavaCC n'accepte pas 'null' comme valeur de jeton?

Répondre

3

Il y a échantillons grammaires langage Java en package JavaCC, avec le jeton difinition suivant:

< NULL: "null" >

donc je suis assez sûr JavaCC peut gérer jeton nul.

Etes-vous sûr qu'aucun jeton déclaré avant que NULL ne corresponde "null"? Les jetons sont appariés dans l'ordre de déclaration. Vous pouvez essayer de déclarer NULL au tout début.

Questions connexes