prettyPrinter Ntriple + fonction de création de Ntriple
This commit is contained in:
16
README.md
16
README.md
@@ -19,22 +19,22 @@ entity ::= Entity(String)
|
|||||||
|
|
||||||
turtle ::= Turtle(phrase*)
|
turtle ::= Turtle(phrase*)
|
||||||
phrase ::= Phrase(entity, aff*)
|
phrase ::= Phrase(entity, aff*)
|
||||||
aff.s = entity.val
|
aff*.s = entity.val
|
||||||
aff ::= Aff(entity, complement*)
|
aff ::= Aff(entity, complement*)
|
||||||
complement.s = aff.s
|
complement*.s = aff.s
|
||||||
complement.v = entity.val
|
complement*.v = entity.val
|
||||||
complement ::= Complement(entity)
|
complement ::= Complement(entity)
|
||||||
phrase.c = entity.val
|
complement.c = entity.val
|
||||||
| Complement_Text(String)
|
| Complement_Text(String)
|
||||||
phrase.c = String.self
|
complement.c = String.self
|
||||||
entity ::= Entity(String)
|
entity ::= Entity(String)
|
||||||
entity.val=String.self
|
entity.val=String.self
|
||||||
|
|
||||||
```
|
```
|
||||||
|TAD |Nom d'attribut |Type | Polarité
|
|TAD |Nom d'attribut |Type | Polarité
|
||||||
|----------------|-----------------|---------------------|---------|
|
|----------------|-----------------|---------------------|---------|
|
||||||
|phrase |s |String |H
|
|phrase | |String |H
|
||||||
|aff |s |String |H
|
|aff | |String |H
|
||||||
|aff |v |String |H
|
|
||||||
|complement |s |String |H
|
|complement |s |String |H
|
||||||
|complement |v |String |H
|
|complement |v |String |H
|
||||||
|complement |c |String |H/S
|
|complement |c |String |H/S
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ options {
|
|||||||
|
|
||||||
}
|
}
|
||||||
prog : bloc EOF
|
prog : bloc EOF
|
||||||
|
{$t = new TurtleAST()}
|
||||||
;
|
;
|
||||||
bloc : sujet listvc P // <entity> list.
|
bloc : sujet listvc P // <entity> list.
|
||||||
;
|
;
|
||||||
@@ -47,6 +48,6 @@ comp : LC ID RC //<ID>
|
|||||||
entity : ID
|
entity : ID
|
||||||
;
|
;
|
||||||
|
|
||||||
turtle
|
turtle returns[TurtleAST t]:
|
||||||
returns[TurtleAST t]: EOF { $t = null ; };
|
EOF { $t = null ; }
|
||||||
|
;
|
||||||
|
|||||||
@@ -1,8 +1,63 @@
|
|||||||
package TP1;
|
package TP1;
|
||||||
|
|
||||||
public class TurtleAST {
|
import java.util.ArrayList;
|
||||||
public TurtleAST(){
|
import java.util.List;
|
||||||
|
|
||||||
|
public class TurtleAST {
|
||||||
|
|
||||||
|
sealed interface Ntriple{}
|
||||||
|
sealed interface Phrase{}
|
||||||
|
sealed interface Entity{}
|
||||||
|
|
||||||
|
|
||||||
|
record NtripleImp(List<PhraseImp> phrases) implements Ntriple{
|
||||||
|
public String toString(){
|
||||||
|
String str = "";
|
||||||
|
for (PhraseImp phrase : this.phrases) {
|
||||||
|
str += phrase.toString() + ".\n" ;
|
||||||
|
}
|
||||||
|
return str;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
record PhraseImp(EntityImp s, EntityImp v, EntityImp c) implements Phrase{
|
||||||
|
public String toString(){
|
||||||
|
return s.toString() + " " + v.toString() + " " + c.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
record EntityImp(String val, Boolean isText) implements Entity{
|
||||||
|
public String toString(){
|
||||||
|
String str="";
|
||||||
|
if(isText) str = "\"" + val + "\"";
|
||||||
|
else str = "<" + val + ">";
|
||||||
|
return str;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String currentSujet;
|
||||||
|
String currentVerbe;
|
||||||
|
List<PhraseImp> listPhrases;
|
||||||
|
Ntriple ntriple;
|
||||||
|
public TurtleAST(){
|
||||||
|
this.listPhrases = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addSujet(String sujet){
|
||||||
|
this.currentSujet=sujet;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addVerbe(String verbe){
|
||||||
|
this.currentVerbe=verbe;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addComplement(String complement, Boolean isText){
|
||||||
|
EntityImp s = new EntityImp(currentSujet, false);
|
||||||
|
EntityImp v = new EntityImp(currentVerbe, false);
|
||||||
|
EntityImp c = new EntityImp(complement, isText);
|
||||||
|
PhraseImp phrase = new PhraseImp(s,v,c);
|
||||||
|
this.listPhrases.add(phrase);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void finishNtriple(){
|
||||||
|
this.ntriple = new NtripleImp(listPhrases);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user