From 8518da7b7b7c7c2fbc686d45a99a5b74db82ec9a Mon Sep 17 00:00:00 2001 From: trochas Date: Fri, 14 Feb 2025 12:43:36 +0100 Subject: [PATCH] maj lexer --- src/main/antlr/TurtleLexer.g | 4 +++- src/main/antlr/TurtleParser.g | 3 +-- src/main/java/TP1/TurtleAST.java | 4 ++++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/main/antlr/TurtleLexer.g b/src/main/antlr/TurtleLexer.g index 4a36a93..f8c8ed2 100644 --- a/src/main/antlr/TurtleLexer.g +++ b/src/main/antlr/TurtleLexer.g @@ -26,4 +26,6 @@ G: '"' // Whitespaces are ignored. fragment WS: (' ' | '\n' | '\t' | '\r' | '\u000C'); WSS: WS+ { skip(); }; -ID: ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_')*; \ No newline at end of file +ID: ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'-')*; +STRING: ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|' '|'-'|'é'|'è'|'&')+; +//STRING: '"'(~('"'))+'"'; diff --git a/src/main/antlr/TurtleParser.g b/src/main/antlr/TurtleParser.g index 78f91ff..701ea42 100644 --- a/src/main/antlr/TurtleParser.g +++ b/src/main/antlr/TurtleParser.g @@ -62,11 +62,10 @@ verbe returns[String val] : comp[TurtleAST parent] : LC i=ID RC // {parent.addComplement($i.text,false);} - | G i=ID G //"ID" + | G i=STRING G //"STRING" {parent.addComplement($i.text,true);} ; entity returns[String val] : i=ID {$val = $i.text;} ; - diff --git a/src/main/java/TP1/TurtleAST.java b/src/main/java/TP1/TurtleAST.java index 40b016b..989cbbb 100644 --- a/src/main/java/TP1/TurtleAST.java +++ b/src/main/java/TP1/TurtleAST.java @@ -52,10 +52,12 @@ public class TurtleAST { public void addSujet(String sujet){ this.currentSujet=sujet; + System.out.println("debug : sujet = " + sujet); } public void addVerbe(String verbe){ this.currentVerbe=verbe; + System.out.println("debug : verbe = " + verbe); } public void addComplement(String complement, Boolean isText){ @@ -64,6 +66,8 @@ public class TurtleAST { EntityImp c = new EntityImp(complement, isText); PhraseImp phrase = new PhraseImp(s,v,c); this.listPhrases.add(phrase); + System.out.println("debug : complement = " + complement); + } public void finishNtriple(){