1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- import imports.arguments as ARG
- from pattern.fr import parse, split
- phrase_en_entree = ARG.obtenir( '-p' )
- if phrase_en_entree :
- texte_brut = phrase_en_entree
- else :
- texte_brut = u"Suivez les flèches, attention aux trous.".encode('utf-8')
- texte_traite = parse( texte_brut )
- numero_mot = -1
- def imprimer_erreur ( erreur ):
- print '💩 erreur : ' + str( erreur )
- def demarrer_graphe () :
- print 'digraph G {'
- print ' graph [ rankdir=LR ];'
- def ajouter_noeud_mot ( word, numero ):
- print ' ' + str( numero ) + ' [label="' + word.string + '"];'
- def lier_a_noeud_precedent ( numero ):
- if ( numero_mot > 0 ):
- print ' ' + str( numero - 1 ) + ' -> ' + str ( numero )
- def clore_graphe () :
- print '}'
- demarrer_graphe ()
- # pour chaque phrase
- for phrase in split( texte_traite ):
- # pour chaque mot
- for word in phrase.words:
- # on incrément le numéro du mot
- numero_mot = numero_mot + 1
- ajouter_noeud_mot ( word, numero_mot )
- lier_a_noeud_precedent ( numero_mot )
- clore_graphe ()
|