summaryrefslogtreecommitdiff
path: root/examples/holaMundo.py
diff options
context:
space:
mode:
authorCengiz Kaygusuz <cngkaygusuz@gmail.com>2017-11-20 20:46:39 -0500
committerCengiz Kaygusuz <cngkaygusuz@gmail.com>2017-11-20 20:46:39 -0500
commit27e183a78c8062ed7c2bbb91655a5e56cd697bba (patch)
tree88fd355a0cc6da4c130582e092d702836596cbb2 /examples/holaMundo.py
parent4ba589cf13588e90992e23deb5a9784340efd2cc (diff)
downloadpyparsing-git-27e183a78c8062ed7c2bbb91655a5e56cd697bba.tar.gz
Move src to root
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...
+