question de debutant sur JAVACC

question de debutant sur JAVACC - Java - Programmation

Marsh Posté le 05-12-2003 à 16:04:26    

Bonjour,
 
Je connais tres peu javacc et je dois modifier une fonction d'un parser deja cree.
 
Voici la fonction:
 
String libelleChar(String libelle) :
{
 Token t = new Token() ;
 String s = "" ;
}
{
 ( LOOKAHEAD(2) s = otherDetail() | s = otherList() | s = digit("" ) | t = <SPACE> | t = <OTHER_LETTER> | t = <SOLD_LIST> | t = <ARTICLE_DETAIL> | t = <x> | t = "." | t = "*" | t = "(" | " )" | t = "-" | t = <LOWER_LETTER> | t = "%" | t="'" | t="," )
 {
  if (t.image == null) {
   return libelle + s ;
  } else {
   return libelle + t.image ;
  }
 }
}
 
Cette fonction verifie que le caractere d'un libelle est valide et si c'est le cas le rajoute à libelle passé en paramètre.
 
Comment faire la meme fonction qui definisse simplement qu'un caractere d'un libellé est un caractère ASCII sans avoir a definir un TOKEN avec tous les caracteres ASCII?  
 
Merci par avance de vos reponses

Reply

Marsh Posté le 05-12-2003 à 16:04:26   

Reply

Marsh Posté le 05-12-2003 à 16:12:18    

"." non ?

Reply

Marsh Posté le 28-06-2007 à 18:33:18    

Bonjour,
 
En fait j'aurais un peut le même problème. Je m'explique, je cherche à écrire les token une fois analysés dans un fichier en sortie...
 
La première étape est de pouvoir identifier les token et les afficher par exemple dans la fenêtre de DEBUG, puis de les écrire dans un fichier en sortie et enfin de pouvoir faire des stats ou autres sur ces données.
 
Le problème c'est que pour que ça marche il me faut faire ça dans le ".JJ" avant qu'il soit traité par JavaCC... En effet, si je le met dans le ".Java" ça ne sert à rien car chaque fois que je vais générer mon parser (le ".Java" ), ce que j'aurais fais au coups précédent va être écrasé.
 
Est-ce que quelqu'un pourrait m'aider s'il vous plait ?
 
Par avance merci.
 
Marco.


---------------
Marco
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed