Neopolitan Parser Grammar

This is where I'm working on the Parser grammar to make the AST for the LSP and Tree-Sitter parsers for Neopolitan. (I built the original parser before learning how to define this grammar. Any differences will be normalized to use this moving forward)

*Primitives**

These are all the things that don't call another item. They're what will be used to assemble the full items. They'll be created in the scanner.cc file

*SECTION TOKENS**

These tokens are used for basic sections as well as container sections. The assembly of the container section start and end triggers is done in a later step

*SECTION HEADERS**

There are "SECTION" and "CONTAINER" template. Some section types have one, some have the other, and some have both.

*Full Items**

These are the things that are made from either primitives, other full items, or both. They'll be assembled in the tree-sitter grammar.js file