This file will demonstrate all the diagram optimizations and markup.
The markup will be written in markdown. Why?
- Markdown produces clean HTML
- Markdown works in plain text form in the EBNF comments
- Its clean
- And still structured
- It prevents breaking markup
Also, links to sites, like https://github.com/matthijsgroen/ebnf2railroad will be converted into a clickable link.
Text markup is also a breeze. Using asterisks and underscores to place emphasis.
Linking to a EBNF declaration is also nice
It nice if you spend a lot of time and effort on creating a DSL (Domain specific language). That if you formally specify it using EBNF, you get really good looking documentation for free!
-- someone
Small code examples can be embedded as well.
it(could("improve") && clarify()) {
your = "syntax";
// intentions
}
Tiny tidbits to clarify terminals
like null
or undefined
can help greatly.
What would a document great as html format:
-
responsive design
- to view on small screens as well.
- and make no really long run on sentences that seem to last forever on really large screens, because that is really, really annoying to read.
-
clear nice readable text. (nice font!)
-
linking to different sections
โญโดoptimized choicesโถโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โญโดchoice with optionalโถโฎ โ
โโฌโโโโโโโโโโผโฌโโโโโโโโโโผโโโโโโโโฌโโโโโโฌโโโโโโโโโผโโโโโโโโโโฌโผโโโโโโโโโโโฌโข
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โโค a โโค โ โโ โ
โ โโ โ โโฐโโโโฏโ โ โโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โฐโค b โโฏ โ โโ โ
โ โโ โ โฐโโโโฏ โ โโ โ
โ โโ โฐโโโโโโโโโโโโโโโโโโโโโโโฏ โโ โ
โ โโ โญโดnested choices with optionalโถโฎ โโ โ
โ โโโโโโโโผโโโโโโโโโโโโฌโโโโโโฌโโโโโโโโโโโโโผโโโโโโคโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โโค a โโค โ โโ โ
โ โโ โ โโฐโโโโฏโ โ โโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โโค b โโค โ โโ โ
โ โโ โ โโฐโโโโฏโ โ โโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โฐโค c โโฏ โ โโ โ
โ โโ โ โฐโโโโฏ โ โโ โ
โ โโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โโ โ
โ โโโญโดnested choices with multiple optionalsโถโฎโโ โ
โ โโโผโโโโโโโโโโโโโโโโโฌโโโโโโฌโโโโโโโโโโโโโโโโโโผโคโ โ
โ โโโ โโญโโโโฎโ โโโ โ
โ โโโ โโค a โโค โโโ โ
โ โโโ โโฐโโโโฏโ โโโ โ
โ โโโ โโญโโโโฎโ โโโ โ
โ โโโ โโค b โโค โโโ โ
โ โโโ โโฐโโโโฏโ โโโ โ
โ โโโ โโญโโโโฎโ โโโ โ
โ โโโ โโค c โโค โโโ โ
โ โโโ โโฐโโโโฏโ โโโ โ
โ โโโ โโญโโโโฎโ โโโ โ
โ โโโ โโค d โโค โโโ โ
โ โโโ โโฐโโโโฏโ โโโ โ
โ โโโ โโญโโโโฎโ โโโ โ
โ โโโ โฐโค e โโฏ โโโ โ
โ โโโ โฐโโโโฏ โโโ โ
โ โโโฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏโโ โ
โ โโ โญโดnested choicesโถโฎ โโ โ
โ โโ โ โญโโโโฎ โ โโ โ
โ โโโโโโโโโโโโโโโผโโโโโฌโค a โโฌโโโโโโผโโโโโโโโโโโโโคโ โ
โ โโ โ โโฐโโโโฏโ โ โโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โโค b โโค โ โโ โ
โ โโ โ โโฐโโโโฏโ โ โโ โ
โ โโ โ โโญโโโโฎโ โ โโ โ
โ โโ โ โฐโค c โโฏ โ โโ โ
โ โโ โ โฐโโโโฏ โ โโ โ
โ โโ โฐโโโโโโโโโโโโโโโโโฏ โโ โ
โ โโ โญโดchoice with one or moreโถโฎ โโ โ
โ โโฐโโโโโโโโผโโโโโโโโโฌโโโโโโโโฌโโโโโโโโโผโโโโโโโโโฏโ โ
โ โ โ โ โญโโโโฎ โ โ โ โ
โ โ โ โโโค a โโโค โ โ โ
โ โ โ โ โฐโโโโฏ โ โ โ โ
โ โ โ โ โญโโโโฎ โ โ โ โ
โ โ โ โฐโฌโค b โโฌโฏ โ โ โ
โ โ โ โโฐโโโโฏโ โ โ โ
โ โ โ โฐโโโโโโฏ โ โ โ
โ โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โโญโดoptimized one or moreโถโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎโ
โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ
โฐโผโฌโโโโโโโโโโโโโโโโโโจ choice with one or more โ โโโโโโโโโโโโโโโโโโฌโผโฏ
โโ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โโ
โโ โญโดone or moreโถโฎ โโ
โโ โ โญโโโโฎ โ โโ
โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโฌโค a โโฌโโโโผโโโโโโโโโโโโโโโโโโโโโโโโคโ
โโ โ โโฐโโโโฏโ โ โโ
โโ โ โฐโโโโโโฏ โ โโ
โโ โฐโโโโโโโโโโโโโโฏ โโ
โโ โญโดone or more with groupโถโฎ โโ
โโ โ โญโโโโฎ โ โโ
โโโโโโโโโโโโโโโโโโโโผโโโโโโโโฌโฌโค a โโฌโฌโโโโโโโโโผโโโโโโโโโโโโโโโโโโโคโ
โโ โ โโโฐโโโโฏโโ โ โโ
โโ โ โโโญโโโโฎโโ โ โโ
โโ โ โโฐโค b โโฏโ โ โโ
โโ โ โ โฐโโโโฏ โ โ โโ
โโ โ โฐโโโโโโโโฏ โ โโ
โโ โฐโโโโโโโโโโโโโโโโโโโโโโโโโฏ โโ
โโ โญโดone or more with repeaterโถโฎ โญโดoptimizationsโถโโโโโโโโโโโโโฎ โโ
โโ โ โญโโโโฎ โญโโโโฎ โญโโโโฎ โ โ โโโโโโโโโโโโโโโโโโโโโ โ โโ
โโฐโโผโโค a โโโฌโโโโค b โโโค c โโโโโฌโโผโโผโฌโโโจ optimized choices โ โโโฌโผโโฏโ
โ โ โฐโโโโฏ โ โฐโโโโฏ โฐโโโโฏ โ โ โโ โโโโโโโโโโโโโโโโโโโโโ โโ โ
โ โ โ โญโโโโฎ โญโโโโฎ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โฐโโโค e โโโค d โโโโโโฏ โ โโฐโจ optimized one or more โ โฏโ โ
โ โ โฐโโโโฏ โฐโโโโฏ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Text:
optimizations
= optimized choices
| optimized one or more
;
original fragment:
optimizations
= optimized choices
| optimized one or more
| (optimized one or more)
| optimized one or more;
โโโโโโโโโโโโโโโโโโโโโโโโ
โโฌโโโโโโโโโโจ choice with optional โ โโโโโโโโโโฌโข
โ โโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโจ nested choices with optional โ โโโโโโค
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโจ nested choices with multiple optionals โ โค
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ โโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโจ nested choices โ โโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โฐโโโโโโโโจ choice with one or more โ โโโโโโโโโฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
Text:
optimized choices
= choice with optional
| nested choices with optional
| nested choices with multiple optionals
| nested choices
| choice with one or more
;
โโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโฌโโโโโโโโโโโโจ choice with one or more โ โโโโโโโโโโโโฌโข
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโจ one or more โ โโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโจ one or more with group โ โโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ โ
โฐโโจ one or more with repeater โ โโจ optimizations โ โโฏ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโ
Text:
optimized one or more
= choice with one or more
| one or more
| one or more with group
| one or more with repeater , optimizations
;
โ โฌโโโโโโฌโจ
โโญโโโโฎโ
โโค a โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โฐโค b โโฏ
โฐโโโโฏ
Text:
choice with optional = [ "a" | "b" ] ;
โ โฌโโโโโโฌโจ
โโญโโโโฎโ
โโค a โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โโค b โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โฐโค c โโฏ
โฐโโโโฏ
Text:
nested choices with optional = [ "a" | "b" | "c" ] ;
If a choice has an optional path rewrite so that it is more clear that the entire choice can be skipped.
original fragment:
nested choices with optional = "a" | [ "b" | [ "c" ] ];
โ โฌโโโโโโฌโจ
โโญโโโโฎโ
โโค a โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โโค b โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โโค c โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โโค d โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โฐโค e โโฏ
โฐโโโโฏ
Text:
nested choices with multiple optionals = [ "a" | "b" | "c" | "d" | "e" ] ;
original fragment:
nested choices with multiple optionals = "a" | [ "b" | "c"] | [ "d" | "e" ];
โญโโโโฎ
โ โฌโค a โโฌโจ
โโฐโโโโฏโ
โโญโโโโฎโ
โโค b โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โฐโค c โโฏ
โฐโโโโฏ
Text:
nested choices = "a" | "b" | "c" ;
If a structure can be ungrouped without changing the meaning, ungroup it.
original fragment:
nested choices = "a" | ( "b" | "c" );
โญโโโโฎ
โ โฌโค a โโฌโจ
โโฐโโโโฏโ
โโญโโโโฎโ
โโค b โโค
โโฐโโโโฏโ
โโญโโโโฎโ
โฐโค c โโฏ
โฐโโโโฏ
Text:
duplicate choices = "a" | "b" | "c" ;
If a structure can be ungrouped without changing the meaning, ungroup it.
original fragment:
duplicate choices = "a" | ( "b" | "c" | "a" ) | "b";
โ โฌโโโโโโโโฌโจ
โ โญโโโโฎ โ
โโโค a โโโค
โ โฐโโโโฏ โ
โ โญโโโโฎ โ
โฐโฌโค b โโฌโฏ
โโฐโโโโฏโ
โฐโโโโโโฏ
Text:
choice with one or more = "a" | { "b" } ;
โญโโโโฎ
โ โฌโค a โโฌโจ
โโฐโโโโฏโ
โฐโโโโโโฏ
Text:
one or more = { "a" }- ;
original fragment:
one or more = "a", { "a" };
โญโโโโฎ
โ โฌโฌโค a โโฌโฌโจ
โโโฐโโโโฏโโ
โโโญโโโโฎโโ
โโฐโค b โโฏโ
โ โฐโโโโฏ โ
โฐโโโโโโโโฏ
Text:
one or more with group = { "a" | "b" }- ;
โญโโโโฎ โญโโโโฎ โญโโโโฎ
โ โโค a โโโฌโโโโค b โโโค c โโโโโฌโโจ
โฐโโโโฏ โ โฐโโโโฏ โฐโโโโฏ โ
โ โญโโโโฎ โญโโโโฎ โ
โฐโโโค e โโโค d โโโโโโฏ
โฐโโโโฏ โฐโโโโฏ
Text:
one or more with repeater = "a" , "b" , "c" , { "d" , "e" , "b" , "c" } ;
โญโโโโโโโโโโโโโโโโฎ
โ โญโโโโฎ โญโโโโฎ โ
โ โดโฌโโค a โโโค b โโโฌโดโจ
โ โฐโโโโฏ โฐโโโโฏ โ
โฐโโโโโโโโโโโโโโฏ
Text:
optional repeater = { "a" , "b" } ;
If a repetation is optional, but also wrap inside an optional, remove the optional
original fragment:
optional repeater = [ { "a", "b" } ];
โญโโโโโโโโโโโโโโฎ
โ โญโโโโฎ โญโโโโฎ โ
โ โดโโค a โโโค b โโโดโจ
โฐโโโโฏ โฐโโโโฏ
Text:
optional optional = [ "a" , "b" ] ;
original fragment:
optional optional = [ [ "a", "b" ] ];
โญโดnormal valueโถโฎ โญโดnumber valueโถโฎ
โโญโโโโโโโโโโโโโฎโ โญโโโโฎ โโญโโโโโโโโโโโโโฎโ
โโฌโโผโค fixing ref โโผโโฌโโโค * โโโผโค fixing ref โโผโโโฌโโฌโข
โ โโฐโโโโโโโโโโโโโฏโ โ โฐโโโโฏ โโฐโโโโโโโโโโโโโฏโ โ โ
โ โฐโโโโโโโโโโโโโโโฏ โ โฐโโโโโโโโโโโโโโโฏ โ โ
โ โ โญโโโโฎ โโโโโโโโโโโโโโโโ โ โ
โ โฐโโฌโค + โโฌโโจ normal value โ โโฏ โ
โ โโฐโโโโฏโ โโโโโโโโโโโโโโโโ โ
โ โโญโโโโฎโ โ
โ โฐโค - โโฏ โ
โ โฐโโโโฏ โ
โ โญโดspecial valueโถโฎ โ
โ โโญโโโโโโโโโโโโโฎ โ โญโโโโฎ โโโโโโโโโโโโโโโโโ โ
โฐโโโโผโค fixing ref โโโผโโค - โโโจ special value โ โโโโฏ
โโฐโโโโโโโโโโโโโฏ โ โฐโโโโฏ โโโโโโโโโโโโโโโโโ
โฐโโโโโโโโโโโโโโโโฏ
Text:
calculation
= normal value , "*" , number value
| normal value , "+" , normal value
| normal value , "-" , normal value
| special value , "-" , special value
;
โญโโโโโโโโโโโโโฎ
โ โค fixing ref โโจ
โฐโโโโโโโโโโโโโฏ
Text:
normal value = "fixing ref" ;
โญโโโโโโโโโโโโโฎ
โ โค fixing ref โโจ
โฐโโโโโโโโโโโโโฏ
Text:
special value = "fixing ref" ;
โญโโโโโโโโโโโโโฎ
โ โค fixing ref โโจ
โฐโโโโโโโโโโโโโฏ
Text:
number value = "fixing ref" ;
โญโดcomment in choice with optionalโถโฎ
โโฌโโโโโโโโโโผโโโโโโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโผโโโโโโโโโโฌโข
โ โ โ โญโโโโฎ โ โ โ
โ โ โโโโโโโโโค a โโโโโโโโโค โ โ
โ โ โ โฐโโโโฏ โ โ โ
โ โ โ โญโโโโฎ comment โ โ โ
โ โ โฐโโค b โโโโโโโโโโโโโโโฏ โ โ
โ โ โฐโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โญโดcomment in one or more beforeโถโฎ โ
โ โ โญโโโโโโโโฎ โ โ
โ โ โญโโโโฎ comment โ โญโโโโฎ โ โ โ
โโโโโโโโโโโโผโโโค a โโโโโโโโโโโโโโโดโฌโค a โโฌโดโโโผโโโโโโโโโโโค
โ โ โฐโโโโฏ โโฐโโโโฏโ โ โ
โ โ โฐโโโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โญโดcomment_in_one_or_more_inโถโโโโโฎ โ
โ โ โญโโโโโโโโโโโโโโโโโโโโโโฎ โ โ
โ โ โญโโโโฎ โ โญโโโโฎ comment โ โ โ
โโโโโโโโโโโโผโโค a โโโดโฌโโค a โโโโโโโโโโโโโโโฌโดโโผโโโโโโโโโโโค
โ โ โฐโโโโฏ โ โฐโโโโฏ โ โ โ
โ โ โฐโโโโโโโโโโโโโโโโโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โญโดcomment in one or more afterโถโฎ โ
โ โ โญโโโโฎ comment โ โ
โโโโโโโโโโโโผโโโโโโฌโค a โโฌโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโค
โ โ โโฐโโโโฏโ โ โ
โ โ โฐโโโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โโญโดcomment in one or more with repeaterโถโโโโโโโโโโโโโโฎโ
โโ โญโโโโฎ โญโโโโฎ comment โญโโโโฎ โโ
โโผโโค a โโโค b โโโโโโโโโโโโโโโฌโโโโโโโโโโค c โโโโโโโโโโโฌโโผโค
โโ โฐโโโโฏ โฐโโโโฏ โ โฐโโโโฏ โ โโ
โโ โ โญโโโโฎ โญโโโโฎ โญโโโโฎ โ โโ
โโ โฐโโโค b โโโค e โโโค d โโโโโโฏ โโ
โโ โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ โโ
โโฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏโ
โโญโดcomment in nested choices with multiple optionalsโถโฎโ
โโผโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโผโค
โโ โ โญโโโโฎ โ โโ
โโ โโโโโโโโโโโโโโโโโค a โโโโโโโโโโโโโโโโโค โโ
โโ โ โฐโโโโฏ โ โโ
โโ โ comment โ โโ
โโ โโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโค โโ
โโ โ โ โญโโโโฎ comment โ โ โโ
โโ โ โโโค b โโโโโโโโโโโโโโโค โ โโ
โโ โ โ โฐโโโโฏ โ โ โโ
โโ โ โ โญโโโโฎ โ โ โโ
โโ โ โฐโโโโโโโโค c โโโโโโโโโฏ โ โโ
โโ โ โฐโโโโฏ โ โโ
โโ โ โญโโโโฎ โ โโ
โโ โโโโโโโโโโโโโโโโโค d โโโโโโโโโโโโโโโโโค โโ
โโ โ โฐโโโโฏ โ โโ
โโ โ โญโโโโฎ โ โโ
โโ โฐโโโโโโโโโโโโโโโโค e โโโโโโโโโโโโโโโโโฏ โโ
โโ โฐโโโโฏ โโ
โโฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏโ
โ โญโดcomment in one or more with repeater afterโถโฎ โ
โ โ โญโโโโฎ โญโโโโฎ โญโโโโฎ comment โ โ
โโโโโผโโโโค a โโโฌโโโโค b โโโค c โโโโโฌโโโโโโโโโโโโโโโโโผโโโโโค
โ โ โฐโโโโฏ โ โฐโโโโฏ โฐโโโโฏ โ โ โ
โ โ โ โญโโโโฎ โญโโโโฎ โ โ โ
โ โ โฐโโโค e โโโค d โโโโโโฏ โ โ
โ โ โฐโโโโฏ โฐโโโโฏ โ โ
โ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โ
โ โญโดcomment before optionalโถโโโโโโโโโโโฎ โ
โ โ โญโโโโฎ comment โ โ
โฐโโโโโโโโโผโโค a โโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโผโโโโโโโโโฏ
โ โฐโโโโฏ โ โญโโโโฎ โญโโโโฎ โญโโโโฎ โญโโโโฎ โ โ
โ โฐโโค d โโโค e โโโค b โโโค c โโโฏ โ
โ โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Text:
comments
= comment in choice with optional
| comment in one or more before
| comment_in_one_or_more_in
| comment in one or more after
| comment in one or more with repeater
| comment in nested choices with multiple optionals
| comment in one or more with repeater after
| comment before optional
;
โ โฌโโโโโโโโโโโโโโโโโโโโฌโจ
โ โญโโโโฎ โ
โโโโโโโโโค a โโโโโโโโโค
โ โฐโโโโฏ โ
โ โญโโโโฎ comment โ
โฐโโค b โโโโโโโโโโโโโโโฏ
โฐโโโโฏ
Text:
comment in choice with optional = [ "a" | "b" (* comment *) ] ;
โญโโโโโโโโฎ
โญโโโโฎ comment โ โญโโโโฎ โ
โ โโค a โโโโโโโโโโโโโโโดโฌโค a โโฌโดโโจ
โฐโโโโฏ โโฐโโโโฏโ
โฐโโโโโโฏ
Text:
comment in one or more before = "a" , (* comment *) , { "a" } ;
โญโโโโโโโโโโโโโโโโโโโโโโฎ
โญโโโโฎ โ โญโโโโฎ comment โ
โ โโค a โโโดโฌโโค a โโโโโโโโโโโโโโโฌโดโโจ
โฐโโโโฏ โ โฐโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโฏ
Text:
comment_in_one_or_more_in = "a" , { "a" (* comment *) } ;
โญโโโโฎ comment
โ โโฌโค a โโฌโโโโโโโโโโโโโโจ
โโฐโโโโฏโ
โฐโโโโโโฏ
Text:
comment in one or more after = { "a" }- ,
(* comment *) ;
โญโโโโฎ โญโโโโฎ comment โญโโโโฎ
โ โโค a โโโค b โโโโโโโโโโโโโโโฌโโโโโโโโโโค c โโโโโโโโโโโฌโโจ
โฐโโโโฏ โฐโโโโฏ โ โฐโโโโฏ โ
โ โญโโโโฎ โญโโโโฎ โญโโโโฎ โ
โฐโโโค b โโโค e โโโค d โโโโโโฏ
โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ
Text:
comment in one or more with repeater = "a" , "b" ,
(* comment *) , "c" , { "d" , "e" , "b" , "c" } ;
โญโโโโฎ comment
โ โโค a โโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโจ
โฐโโโโฏ โ โญโโโโฎ โญโโโโฎ โญโโโโฎ โญโโโโฎ โ
โฐโโค d โโโค e โโโค b โโโค c โโโฏ
โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ โฐโโโโฏ
Text:
comment before optional = "a" , (* comment *) [ "d" , "e" , "b" , "c" ] ;
โ โฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโจ
โ โญโโโโฎ โ
โโโโโโโโโโโโโโโโโค a โโโโโโโโโโโโโโโโโค
โ โฐโโโโฏ โ
โ comment โ
โโโฌโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโค
โ โ โญโโโโฎ comment โ โ
โ โโโค b โโโโโโโโโโโโโโโค โ
โ โ โฐโโโโฏ โ โ
โ โ โญโโโโฎ โ โ
โ โฐโโโโโโโโค c โโโโโโโโโฏ โ
โ โฐโโโโฏ โ
โ โญโโโโฎ โ
โโโโโโโโโโโโโโโโโค d โโโโโโโโโโโโโโโโโค
โ โฐโโโโฏ โ
โ โญโโโโฎ โ
โฐโโโโโโโโโโโโโโโโค e โโโโโโโโโโโโโโโโโฏ
โฐโโโโฏ
Text:
comment in nested choices with multiple optionals =
[ "a"
| [ "b" (* comment *) | "c" ] (* comment *)
| "d"
| "e"
] ;
โญโโโโฎ โญโโโโฎ โญโโโโฎ comment
โ โโค a โโโฌโโโโค b โโโค c โโโโโฌโโโโโโโโโโโโโโจ
โฐโโโโฏ โ โฐโโโโฏ โฐโโโโฏ โ
โ โญโโโโฎ โญโโโโฎ โ
โฐโโโค e โโโค d โโโโโโฏ
โฐโโโโฏ โฐโโโโฏ
Text:
comment in one or more with repeater after = "a" ,
"b" , "c" , { "d" , "e" , "b" , "c" } , (* comment *) ;
โญโโโโโโโโโโโโโโโโโโโโโโโโโโฎ <h1> can be everywhere </h1>
โ โโค <h1>Danger & Risks</h1> โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโจ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Text:
html = "<h1>Danger & Risks</h1>" (* <h1> can be everywhere </h1> *) ;
โญโดreferenceโถโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โญโดbig partsโถโฎ โ
โญโโโโฎ โ โญโโโโโโโโฎ โโโโโโโโโโโโโโโ โ โญโโโโโโโฎ โ โ โญโโโโฎ
โโโค a โโโผโโค using โโโจ small parts โ โโผโฌโค item โโฌโโผโโผโโค b โโโข
โฐโโโโฏ โ โฐโโโโโโโโฏ โโโโโโโโโโโโโโโ โโโฐโโโโโโโฏโ โ โ โฐโโโโฏ
โ โโฐโโโโโโโโโฏ โ โ
โ โฐโโโโโโโโโโโโฏ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
Text:
simple syntax = "a" , reference , "b" ;
โญโโโโโโโโฎ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโ
โโโค using โโโจ small parts โ โโจ big parts โ โโข
โฐโโโโโโโโฏ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโ
Text:
reference = "using" , small parts , big parts ;
โญโโโโโโโโโโโฎ
โ โฌโค terminal โโฌโจ
โโฐโโโโโโโโโโโฏโ
โ โญโโโโโโโโฎ โ
โฐโโค other โโโโฏ
โฐโโโโโโโโฏ
Text:
small parts = "terminal" | "other" ;
โญโโโโโโโฎ
โ โฌโค item โโฌโจ
โโฐโโโโโโโฏโ
โฐโโโโโโโโโฏ
Text:
big parts = { "item" }- ;
โญโโโโโโโฎ
โ โฌโโโโโโโโโโโโโค item โโโโโโโโโโโโโโโฌโจ
โ โฐโโโโโโโฏ โ
โ โญโโโโโโโโฎ โ
โโโโโโโโโโโโโโค item2 โโโโโโโโโโโโโโค
โ โฐโโโโโโโโฏ โ
โ โญโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโฎ โ
โ โโญโโโโโโโโโโโฎโ โ โญโโโโโโโโโโโฎ โ โ
โฐโโดโค optional โโดโโดโฌโค repeater โโฌโดโโฏ
โฐโโโโโโโโโโโฏ โโฐโโโโโโโโโโโฏโ
โฐโโโโโโโโโโโโโฏ
Text:
definition main characters
= "item"
| "item2"
| [ "optional" ] , { "repeater" }
;
Original fragment:
definition main characters = "item" | "item2" | ["optional"], { "repeater" };
โญโโโโโโโฎ
โ โฌโโโโโโโโโโโโโค item โโโโโโโโโโโโโโโฌโจ
โ โฐโโโโโโโฏ โ
โ โญโโโโโโโโฎ โ
โโโโโโโโโโโโโโค item2 โโโโโโโโโโโโโโค
โ โฐโโโโโโโโฏ โ
โ โญโโโโโโโโโโโโโฎ โญโโโโโโโโโโโโโโโฎ โ
โ โโญโโโโโโโโโโโฎโ โ โญโโโโโโโโโโโฎ โ โ
โฐโโดโค optional โโดโโดโฌโค repeater โโฌโดโโฏ
โฐโโโโโโโโโโโฏ โโฐโโโโโโโโโโโฏโ
โฐโโโโโโโโโโโโโฏ
Text:
alternative main characters
= "item"
| "item2"
| [ "optional" ] , { "repeater" }
;
Original fragment:
alternative main characters = "item" / "item2" ! (/ "optional" /), (: "repeater" :).
โญโโโโโโโโโโโโฌโโโโโโโโโโโฎ
โ โญโโโโฎ โ โญโโโโฎ โโญโโโโฎ
โ โดโฌโโค a โโโโฌโฎโฐโฌโโค n โโโฌโฎโฐโค z โโฌโจ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โฐโโโโฏโ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค b โโโโคโ โโโค o โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โโญโโโโโโฎโโ โ
โโโค c โโโโคโ โโค pqr โโคโ โ
โ โฐโโโโฏ โโ โโฐโโโโโโฏโโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค d โโโโคโ โโโค s โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค e โโโโคโ โโโค t โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค f โโโโคโ โโโค u โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โโญโโโโโโโฎโโ โ โญโโโโฎ โโ โ
โโค ghij โโคโ โโโค v โโโคโ โ
โโฐโโโโโโโฏโโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค k โโโโคโ โโโค w โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โโโค l โโโโคโ โโโค x โโโคโ โ
โ โฐโโโโฏ โโ โ โฐโโโโฏ โโ โ
โ โญโโโโฎ โโ โ โญโโโโฎ โโ โ
โฐโโค m โโโโฏโ โฐโโค y โโโฏโ โ
โฐโโโโฏ โ โฐโโโโฏ โ โ
โฐโโโโโโโโโโโดโโโโโโโฏ
Text:
lowercase letter
= "a" | "b" | "c" | "d" | "e"
| "f" | "ghij" | "k" | "l" | "m"
| "n" | "o" | "pqr" | "s" | "t"
| "u" | "v" | "w" | "x" | "y"
| "z"
;