
.. _programming:

====================
Programming in Spicy
====================

This chapter summarizes the main concepts of writing Spicy grammars. We
begin with a deep-dive on Spicy's main task, parsing: We walk through
all the corresponding constructs & mechanisms available to grammar
writers, without paying too much attention to other specifics of the
Spicy language, such as data types and control flow constructs. Much
of that should be sufficiently intuitive to readers familiar with
standard scripting languages. However, once we finish the parsing
section, we follow up with a comprehensive overview of the Spicy
language, as well as a reference of pre-built library functionality
that Spicy grammars can leverage.

.. toctree::
    :maxdepth: 2

    parsing
    language/index
    library
    examples
    guidelines
    debugging
    extending
