4a01a66dba3b38b7f92a97eeb629180a39abd272
TP1 PDS - Traducteur RDF/Turtle vers RDF/Ntriples
Réalisé par Thibaut ROCHAS et Tuan Minh VU
Implémentation du ASD
turtle ::= Turtle(phrase*)
phrase ::= Phrase(entity, aff*)
aff ::= Aff(ntity, complement*)
complement ::= Complement(entity)
| Complement_Text(text)
text ::= Text(entity)
|TextSTR(String)
entity ::= Entity(String)
Conversion vers Ntriples par ASD attribuée
turtle ::= Turtle(phrase*)
phrase ::= Phrase(entity, aff*)
aff*.s = entity.val
aff ::= Aff(entity, complement*)
complement*.s = aff.s
complement*.v = entity.val
complement ::= Complement(entity)
complement.c = entity.val
| Complement_Text(text)
complement.c = text.val
text ::= Text(entity)
text.val = entity.val
|TextSTR(String)
text.val = String.self
entity ::= Entity(String)
entity.val=String.self
| TAD | Nom d'attribut | Type | Polarité |
|---|---|---|---|
| phrase | String | H | |
| aff | s | String | H |
| complement | s | String | H |
| complement | v | String | H |
| complement | c | String | H/S |
| Entity | val | String | S |
##Analyse lexicale et syntaxique
#Lexer
#Parser Au début on créer un objet TutrleAST, il génère la structure Ntriple. On transmet le TurtleAST aux "phrase" enfants
#Difficulté : Nous avons ID qui est un String avec composé de lettres (non accentuées) et de chiffres, commençant obligatoirement par une lettre, et STRING qui peut être n'importe quelle chaîne de caractères (hors "). La grammaire était ambiguë, ce qui provoquait une erreur de compilation de Java
Compatibilité
- Java JDK 21
- ANTLR3 3.5.2
- Gradle 8.5
Construction, exécution
Pour construire le projet, depuis la racine du projet :
./gradlew build
Pour exécuter le programme Java TP1.Main, depuis la racine du projet :
java -jar /build/libs/TP1.jar [args]
Structure du projet
Fichiers de code source et de tests
src/main/java/: fichiers sources Java à complétersrc/main/antlr/: fichier sources ANTLR à complétertests/: fichiers textes à utiliser pour les tests
Moteur de production Gradle
settings.gradle,build.gradle: configuration Gradlegradle/wrapper: exécutable de Wrapper Gradlegradlew,gradlew.bat: scripts (unix/windows) à exécuter depuis le terminal pour lancer le moteur de production
Environnement VSCode
.vscode: configuration de VSCodeeclipse-formatter.xml: formatage de code source Java, optionnel
Git
.gitignore: configuration pour ignorer certains fichiers et répertoires
Description
Languages
Java
78.6%
GAP
21.4%