URL: https://linuxfr.org/forums/programmation-java/posts/javacc-reconnaissance-du-token-le-plus-grand Title: [Javacc] reconnaissance du token "le plus grand" Authors: Watchwolf Date: 2008年11月17日T19:24:13+01:00 Tags: Score: 0 Bonjour J'ai un petit compilateur à écrire en javacc et je rencontre un problème: javacc semble reconnaitre le token le plus grand en priorité :/ Le code et l'erreur parle d'eux même je pense. > options { STATIC = false ; } PARSER_BEGIN(Adder) class Adder { public static void main( String[] args ) throws ParseException, TokenMgrError { Adder parser = new Adder( System.in ) ; parser.Start() ; } } PARSER_END(Adder) SKIP : { "\r" } TOKEN : { < NUMBER: (["0"-"9"])+> | < WORD : (~[" ","\n"])+> | < WORDS: (|" ")+> | < EOL: ("\n")> } void Start() : { int n; Token t; } { (t = { n = Integer.parseInt(t.image); System.out.println(n); } " " " " )+ } echo "123 mot1 mot2 mot3" | java Adder Exception in thread "main" ParseException: Encountered " "123 mot1 mot2 mot3 "" at line 1, column 1. Was expecting: £spaces£ £/spaces£... £spaces£ £/spaces£ £spaces£ £/spaces£at Adder.generateParseException(Adder.java:190) £spaces£ £/spaces£at Adder.jj_consume_token(Adder.java:128) £spaces£ £/spaces£at Adder.Start(Adder.java:13) £spaces£ £/spaces£at Adder.main(Adder.java:6) Merci d'avance :)> /

AltStyle によって変換されたページ (->オリジナル) /