New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fills in more abnf #4

merged 3 commits into from Nov 5, 2018


2 participants

Nzen commented Nov 4, 2018

Fills in section, block, template, and instruction productions in the abnf file.

This abnf moves the ignored whitespace surrounding names to the instructions. Mostly, because I didn't notice until later and interpreted these productions as forbidding that whitespace. I'll defer, if the other style is preferred.

I've, intentionally, done the reverse by moving surrounding ignored whitespace from each instruction operator to the trimmed instruction production.

I wasn't sure what the prevailing ordering scheme was, so I put block and template on the bottom.

Nzen added some commits Nov 4, 2018

Markdown escapes the backtick operator
The previous version (three backticks) appeared as three literal
backticks. This version, results in <code>`</code> .
Abnf for block, template, section, instruction
Fills in missing abnf productions for block, template, and instruction. Adds more to section and name. Uses braced terms to indicate optionality. (This is redundant for optional-whitespace, which itself may be of no length; but clarifies intent.)

Enumerates trimmed instructions. Notes that these may start or end with ignorable whitespace, to avoid repeating so for each instruction. Distinguishes these from the raw text within a block, which retains outside whitespace.

Changes fieldset entry to allow escaped names. Both enojs and enopy tokenize either name style, so this may have been a typo.

Ensures names can have a template clause, just the operator, or the name operator and a value.

Permits whitespace between the list operator and its value.

Permits empty line continuations.

@simonrepp simonrepp merged commit 37cffe8 into eno-lang:master Nov 5, 2018


This comment has been minimized.


simonrepp commented Nov 5, 2018

Fantastic! I especially like how all whitespace is marked optional everywhere, this really makes it more clear what's going on. I did some light tweaks on what caught my eye right away (probably changed my own stuff from before haha), but this is all good stuff really. :) Thanks a ton, good progress made here thanks to your help! ❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment