diff options
author | Paul McGuire <ptmcg@users.noreply.github.com> | 2018-01-06 23:38:53 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-06 23:38:53 -0600 |
commit | 430c5ad767cc946e9da7cd5f4673a4e3bd135a3c (patch) | |
tree | 5a7df11e0fd52ab320b0ef3e670e260f315ca9ae /examples/holaMundo.py | |
parent | f1d12567a8da4d254e6d62bb0d650c87c7d0bb89 (diff) | |
parent | d953150a6db3ac247a64b047edc2df7156f3e56b (diff) | |
download | pyparsing-git-430c5ad767cc946e9da7cd5f4673a4e3bd135a3c.tar.gz |
Merge pull request #1 from cngkaygusuz/master
Add Scrutinizer-CI configuration and other niceties
Diffstat (limited to 'examples/holaMundo.py')
-rw-r--r-- | examples/holaMundo.py | 38 |
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...
+
|