summaryrefslogtreecommitdiff
path: root/examples/holaMundo.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/holaMundo.py')
-rw-r--r--examples/holaMundo.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/examples/holaMundo.py b/examples/holaMundo.py
new file mode 100644
index 0000000..6ae2cc5
--- /dev/null
+++ b/examples/holaMundo.py
@@ -0,0 +1,38 @@
+# -*- coding: UTF-8 -*-
+
+# escrito por Marco Alfonso, 2004 Noviembre
+
+# importamos el modulo
+from pyparsing import *
+saludo= Word(alphas) + ',' + Word(alphas) + '!'
+
+# Aqui decimos que la gramatica "saludo" DEBE contener
+# una palabra compuesta de caracteres alfanumericos
+# (Word(alphas)) mas una ',' mas otra palabra alfanumerica,
+# mas '!' y esos seian nuestros tokens
+tokens = saludo.parseString("Hola, Mundo !")
+
+# Ahora parseamos una cadena, "Hola, Mundo!",
+# el metodo parseString, nos devuelve una lista con los tokens
+# encontrados, en caso de no haber errores...
+for i in range(len(tokens)):
+ print ("Token %d -> %s" % (i,tokens[i]))
+
+#imprimimos cada uno de los tokens Y listooo!!, he aquí a salida
+# Token 0 -> Hola
+# Token 1 -> ,
+# Token 2-> Mundo
+# Token 3 -> !
+
+# Por supuesto, se pueden "reutilizar" gramáticas, por ejemplo:
+numimag = Word(nums) + 'i'
+numreal = Word(nums)
+numcomplex = numreal + '+' + numimag
+print (numcomplex.parseString("3+5i"))
+
+# Cambiar a complejo numero durante parsear:
+numcomplex.setParseAction(lambda t: complex(''.join(t).replace('i','j')))
+print (numcomplex.parseString("3+5i"))
+
+# Excelente!!, bueno, los dejo, me voy a seguir tirando código...
+