.. _sphx_glr_examples_composition: Grammar Composition =================== This example shows how to do grammar composition in Lark, by creating a new file format that allows both CSV and JSON to co-exist. We show how, by using namespaces, Lark grammars and their transformers can be fully reused - they don't need to care if their grammar is used directly, or being imported, or who is doing the importing. See `main.py`_ for more details. .. _main.py: https://github.com/lark-parser/lark/blob/master/examples/composition/main.py .. raw:: html
.. raw:: html
.. only:: html .. image:: /examples/composition/images/thumb/sphx_glr_eval_json_thumb.png :alt: :ref:`sphx_glr_examples_composition_eval_json.py` .. raw:: html
Transformer for evaluating json.lark
.. raw:: html
.. only:: html .. image:: /examples/composition/images/thumb/sphx_glr_eval_csv_thumb.png :alt: :ref:`sphx_glr_examples_composition_eval_csv.py` .. raw:: html
Transformer for evaluating csv.lark
.. raw:: html
.. only:: html .. image:: /examples/composition/images/thumb/sphx_glr_main_thumb.png :alt: :ref:`sphx_glr_examples_composition_main.py` .. raw:: html
Grammar Composition
.. raw:: html
.. toctree:: :hidden: /examples/composition/eval_json /examples/composition/eval_csv /examples/composition/main