From 2dfcd38fed141264389ab924c1c5185e5fd2b843 Mon Sep 17 00:00:00 2001 From: tuvu Date: Fri, 14 Feb 2025 14:14:01 +0100 Subject: [PATCH] redo manuel and add caracters --- src/main/antlr/TurtleLexer.g | 3 +-- src/main/java/TP1/ASD_Turtle.java | 15 +++++++++++++-- src/main/java/TP1/Main.java | 3 ++- src/main/java/TP1/TurtleAST.java | 3 --- tests/test2_copy.ttl | 1 + 5 files changed, 17 insertions(+), 8 deletions(-) create mode 100755 tests/test2_copy.ttl diff --git a/src/main/antlr/TurtleLexer.g b/src/main/antlr/TurtleLexer.g index f8c8ed2..585ece8 100644 --- a/src/main/antlr/TurtleLexer.g +++ b/src/main/antlr/TurtleLexer.g @@ -27,5 +27,4 @@ G: '"' fragment WS: (' ' | '\n' | '\t' | '\r' | '\u000C'); WSS: WS+ { skip(); }; ID: ('a'..'z'|'A'..'Z')('a'..'z'|'A'..'Z'|'0'..'9'|'_'|'-')*; -STRING: ('a'..'z'|'A'..'Z'|'0'..'9'|'_'|' '|'-'|'é'|'è'|'&')+; -//STRING: '"'(~('"'))+'"'; +STRING: ('a'..'z'|'A'..'Z'|'\u00C0'..'\u00FF')('a'..'z'|'A'..'Z'|'0'..'9'|'\u00C0'..'\u00FF'|'_'|'-'|'&'|' ')* ; \ No newline at end of file diff --git a/src/main/java/TP1/ASD_Turtle.java b/src/main/java/TP1/ASD_Turtle.java index cac3840..2cff98b 100644 --- a/src/main/java/TP1/ASD_Turtle.java +++ b/src/main/java/TP1/ASD_Turtle.java @@ -7,6 +7,7 @@ public class ASD_Turtle implements TurtleASD { sealed interface Phrase{} sealed interface Affectation{} sealed interface Complement{} + sealed interface Text{} sealed interface Entity{} record TurtleImp(List phrases) implements Turtle{ @@ -48,9 +49,19 @@ public class ASD_Turtle implements TurtleASD { return " <" + this.entity.toString() + ">"; } } - record Complement_TextImp(String string) implements Complement{ + record Complement_TextImp(Text text) implements Complement{ public String toString(){ - return " \"" + this.string + "\""; + return " \"" + text.toString() + "\""; + } + } + record TextSTRImp(String string) implements Text{ + public String toString(){ + return this.string; + } + } + record TextImp(Entity entity) implements Text{ + public String toString(){ + return entity.toString(); } } record EntityImp(String string) implements Entity{ diff --git a/src/main/java/TP1/Main.java b/src/main/java/TP1/Main.java index fa07201..9a5a000 100644 --- a/src/main/java/TP1/Main.java +++ b/src/main/java/TP1/Main.java @@ -30,7 +30,8 @@ public class Main { //titre EntityImp titre = new EntityImp("titre"); - Complement_TextImp compilation = new Complement_TextImp("Compilation"); + TextSTRImp text_compilation=new TextSTRImp("Compilation"); + Complement_TextImp compilation = new Complement_TextImp(text_compilation); AffectationImp aff2 = new AffectationImp(titre, List.of(compilation)); //auteur diff --git a/src/main/java/TP1/TurtleAST.java b/src/main/java/TP1/TurtleAST.java index 989cbbb..41af37d 100644 --- a/src/main/java/TP1/TurtleAST.java +++ b/src/main/java/TP1/TurtleAST.java @@ -52,12 +52,10 @@ 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){ @@ -66,7 +64,6 @@ 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); } diff --git a/tests/test2_copy.ttl b/tests/test2_copy.ttl new file mode 100755 index 0000000..0208bc6 --- /dev/null +++ b/tests/test2_copy.ttl @@ -0,0 +1 @@ + "M1". \ No newline at end of file