Skip to content
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

Fills in more abnf #4

merged 3 commits into from Nov 5, 2018


Copy link

@Nzen 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 3 commits Nov 4, 2018
The previous version (three backticks) appeared as three literal
backticks. This version, results in <code>`</code> .
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
Copy link

@simonrepp 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
Linked issues

Successfully merging this pull request may close these issues.

None yet

2 participants