commit initial
Cette révision appartient à :
33
latex/conversion.py
Fichier normal
33
latex/conversion.py
Fichier normal
@@ -0,0 +1,33 @@
|
||||
def code(s) :
|
||||
try :
|
||||
debut = s.index(r"\begin{tabbing}")
|
||||
fin = s.index(r"\end{tabbing}")
|
||||
pos_let = s.index("let", debut)
|
||||
if s[pos_let+3:].startswith(" rec") :
|
||||
pos_let = pos_let + 4
|
||||
pos_nom = s.index(" ", pos_let) + 1
|
||||
fin_nom = s.index(" ", pos_nom)
|
||||
nom = s[pos_nom:fin_nom]
|
||||
repl = r"\lstinputcaml[linerange="+nom+"-"+nom+"_fin]{ccp2004.ml}\n"
|
||||
news = s[:debut] + repl + s[fin + len(r"\end{tabbing}"):]
|
||||
return code(news)
|
||||
except ValueError :
|
||||
return s
|
||||
|
||||
def caml(s, start=0) :
|
||||
try :
|
||||
pos_let = s.index("\nlet", start)
|
||||
fin = s.index(r";;", pos_let)
|
||||
print(s[pos_let:fin+3])
|
||||
if s[pos_let+4:].startswith(" rec") :
|
||||
delta = 5
|
||||
else :
|
||||
delta = 0
|
||||
pos_nom = s.index(" ", pos_let + delta) + 1
|
||||
fin_nom = s.index(" ", pos_nom)
|
||||
nom = s[pos_nom:fin_nom]
|
||||
print(nom)
|
||||
news = s[:pos_let] + "(*** " + nom + " ***)" + s[pos_let:fin+3] + "(*** " + nom + "_fin ***)\n" + s[fin+3:]
|
||||
return caml(news, fin + 3 + len("(*** " + nom + " ***)")+ len("(*** " + nom + "_fin ***)\n"))
|
||||
except ValueError :
|
||||
return s
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur