import logging
import sys
from Traducteur.parseur import FactNode
-from Traducteur.load import jdcSet
+from Traducteur.load import jdcSet
from Traducteur import regles
from Traducteur.dictErreurs import ecritErreur
#debug=1
debug=0
-#on n'a qu'un mocle par commande.
-#en fin de traitement, on remet à jour l'arbre syntaxique (lineno,colno,etc.)
+#on n'a qu'un mocle par commande.
+#en fin de traitement, on remet a jour l'arbre syntaxique (lineno,colno,etc.)
#--------------------------------------------------------------------------------
def renameMotCle(jdc,command,mocle,new_name, erreur=0,ensemble=regles.SansRegle):
boolChange=1
if debug:print "Renommage de:",c.name,mc.name,mc.lineno,mc.colno
if erreur :
- ecritErreur((command,mocle),c.lineno)
+ ecritErreur((command,mocle),c.lineno)
else :
- logging.info("Renommage de: %s %s ligne %d en %s",c.name,mc.name,mc.lineno,new_name)
+ logging.info("Renommage de: %s %s ligne %d en %s",c.name,mc.name,mc.lineno,new_name)
s=jdc.getLines()[mc.lineno-1]
jdc.getLines()[mc.lineno-1]=s[:mc.colno]+new_name+s[mc.colno+len(mocle):]
diff=len(new_name) - len(mocle)
decaleLignesdeNBlancs(jdc,mc.lineno,mc.endline-1,diff)
if boolChange : jdc.reset(jdc.getSource())
-
+
#------------------------------------------------------
def renameMotCleAvecErreur(jdc,command,mocle,new_name):
#------------------------------------------------------
#----------------------------------------------------------
ligne = premiere + 1
while ligne < derniere :
- s=jdc.getLines()[ligne]
- if nbBlanc > 0 :
- jdc.getLines()[ligne] = nbBlanc*" " + s
- else :
- toutblancs=-1*nbBlanc*" "
- if jdc.getLines()[ligne][0:-1*nbBlanc] == toutblancs:
- jdc.getLines()[ligne] = s[-1*nbBlanc:]
- ligne=ligne+1
+ s=jdc.getLines()[ligne]
+ if nbBlanc > 0 :
+ jdc.getLines()[ligne] = nbBlanc*" " + s
+ else :
+ toutblancs=-1*nbBlanc*" "
+ if jdc.getLines()[ligne][0:-1*nbBlanc] == toutblancs:
+ jdc.getLines()[ligne] = s[-1*nbBlanc:]
+ ligne=ligne+1
#---------------------------------------------------------------------------------------------
def renameMotCleInFact(jdc,command,fact,mocle,new_name, ensemble=regles.SansRegle, erreur=0):
jdc.getLines()[n.lineno-1]=s[:n.colno]+new_name+s[n.colno+len(mocle):]
boolChange=1
if erreur :
- ecritErreur((command,fact,mocle),c.lineno)
+ ecritErreur((command,fact,mocle),c.lineno)
else :
- logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
+ logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
if boolChange : jdc.reset(jdc.getSource())
jdc.getLines()[n.lineno-1]=s[:n.colno]+new_name+s[n.colno+len(mocle):]
boolChange=1
if erreur :
- ecritErreur((command,fact,mocle),c.lineno)
+ ecritErreur((command,fact,mocle),c.lineno)
else :
- logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
+ logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
if boolChange : jdc.reset(jdc.getSource())
-
-
+
+
#-----------------------------------------------------------------
def renameCommande(jdc,command,new_name,ensemble=regles.SansRegle):
#-----------------------------------------------------------------
boolChange=0
if debug :
if ensemble != regles.SansRegle :
- logging.info("traitement de %s renomme en %s sous conditions", command, new_name)
+ logging.info("traitement de %s renomme en %s sous conditions", command, new_name)
else :
- logging.info("traitement de %s renomme en %s ", command, new_name)
+ logging.info("traitement de %s renomme en %s ", command, new_name)
for c in jdc.root.childNodes:
if c.name != command:continue
if ensemble.verif(c) == 0 : continue
#-----------------------------------------------------------
def renameCommandeSiRegle(jdc,command,new_name,liste_regles):
#-----------------------------------------------------------
-
+
if command not in jdcSet : return
mesRegles=regles.ensembleRegles(liste_regles)
renameCommande(jdc,command,new_name,mesRegles)
-