gobstones / pygobstones-lang

[PyGbostones] Implementation for Gobstones and XGobstones programming languages
http://www.gobstones.org
GNU General Public License v3.0
0 stars 1 forks source link

Return AST in JSON format #3

Open faloi opened 9 years ago

faloi commented 9 years ago

Because parsing JSON is almost free in any language.

arypbatista commented 9 years ago

Hola @faloi ,

Si actualizás a la última versión, podés acceder a esta funcionalidad a través del comando:

./gbs.py --output-type json --print-ast --target parse

La opción "target" con valor "parse" hace que el interprete solo ejecute la fase de parseo y no avance en su pipeline. No está documentado esto... lo haré luego (quizás).

Saludos!

arypbatista commented 9 years ago

Ah, y podés parsear procedimientos, funciones y tipos sin tener un program definido. Pero no pedazos de código arbitrarios.

faloi commented 9 years ago

Buenísimo che, es todo lo que quería. Podríamos cerrar ambas issues.

Peeeero hay un problema: ponga el flag que ponga, siempre se rompe con este error:

Haciendo análisis sintáctico.
Explotando macros del programa.
Python Error: :

    Failed to execute /home/faloi/Desktop/gobstones/ast.gbs file.

ERROR:root:global name 'tree' is not defined
Traceback (most recent call last):
  File "./.heroku/vendor/pygobstones-lang/gbs.py", line 293, in main
    gbs_run = run_filename(options['src'], options)
  File "./.heroku/vendor/pygobstones-lang/gbs.py", line 270, in run_filename
    gbs_run = gobstones.run(filename, open(filename).read(), get_initial_board(options))
  File "/home/faloi/workspace/mumuki/stones-spec/.heroku/vendor/pygobstones-lang/lang/__init__.py", line 123, in run
    gbs_run = self.compile(filename, program_text)
  File "/home/faloi/workspace/mumuki/stones-spec/.heroku/vendor/pygobstones-lang/lang/__init__.py", line 103, in compile
    self.check(tree)
NameError: global name 'tree' is not defined
arypbatista commented 9 years ago

Colgué.. Eso por no correr los tests. Ahora subo el fix

On 16:20, Sun, Jun 7, 2015 Federico Aloi notifications@github.com wrote:

Buenísimo che, es todo lo que quería. Podríamos cerrar ambas issues.

Peeeero hay un problema: ponga el flag que ponga, siempre se rompe con este error:

Haciendo análisis sintáctico. Explotando macros del programa. Python Error: :

Failed to execute /home/faloi/Desktop/gobstones/ast.gbs file.

ERROR:root:global name 'tree' is not defined Traceback (most recent call last): File "./.heroku/vendor/pygobstones-lang/gbs.py", line 293, in main gbs_run = run_filename(options['src'], options) File "./.heroku/vendor/pygobstones-lang/gbs.py", line 270, in run_filename gbs_run = gobstones.run(filename, open(filename).read(), get_initial_board(options)) File "/home/faloi/workspace/mumuki/stones-spec/.heroku/vendor/pygobstones-lang/lang/init.py", line 123, in run gbs_run = self.compile(filename, program_text) File "/home/faloi/workspace/mumuki/stones-spec/.heroku/vendor/pygobstones-lang/lang/init.py", line 103, in compile self.check(tree) NameError: global name 'tree' is not defined

— Reply to this email directly or view it on GitHub https://github.com/gobstones/PyGobstones-Lang/issues/3#issuecomment-109789798 .