You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/*
Grammar originally from https://shenlanguage.org/OSM/Syntax.html
Manually converted to be viewd by
(IPV6) https://www.bottlecaps.de/rr/ui
(IPV4) https://rr.red-dove.com/ui
Copy and paste the this on one of the urls shown above on the
'Edit Grammar' tab then click the 'View Diagram' tab.
*/
datatype_definition ::=
"(datatype" lowercase datatype_rules ')'
datatype_rules ::=
datatype_rule
| datatype_rule datatype_rules
datatype_rule ::=
side_conditions schemes underline scheme ';'
| side_conditions simple_schemes double_underline formula ';'
side_conditions ::=
//Ɛ
| side_condition
| side_condition side_conditions
side_condition ::=
"if" item
| "let" variable item
underline ::=
'_' +
//| "one or more concatenations of the underscore _"
double_underline ::=
'='+
//| one or more concatenations of =
simple_schemes ::=
formula ';'
| formula ';' simple_schemes
formula ::=
item ':' item
| item
schemes ::=
//Ɛ
| scheme ';' schemes
scheme ::=
assumptions ">>" formula
| formula
assumptions ::=
formula
| formula ',' assumptions
/*
Grammar originally from https://shenlanguage.org/OSM/Syntax.html
Manually converted to be viewd by
(IPV6) https://www.bottlecaps.de/rr/ui
(IPV4) https://rr.red-dove.com/ui
Copy and paste the this on one of the urls shown above on the
'Edit Grammar' tab then click the 'View Diagram' tab.
*/
prolog_definition ::=
"(defprolog" lowercase clauses ')'
clauses ::=
clause
| clause clauses
clause ::=
head "<--" tail
head ::=
prolog_patterns
prolog_patterns ::=
//Ɛ
| prolog_pattern prolog_patterns
prolog_pattern ::=
base
| '[' prolog_pattern prolog_patterns '|' prolog_pattern ']'
| '[' prolog_patterns ']'
| "(cons" prolog_pattern prolog_pattern ')'
tail ::=
//Ɛ
| '!' tail
| application tail
lowercase ::=
//any <symbol> not beginning in uppercase
([a-z] | alpha_punct)alpha*
alpha_punct ::=
[-.=*/+_?\$!@~><&%'#`;:{}]
alpha ::=
[A-Za-z]
| alpha_punct
The text was updated successfully, but these errors were encountered:
Manually converting the grammars shown at https://shenlanguage.org/OSM/Syntax.html to an
EBNF
understood by (IPV6) https://www.bottlecaps.de/rr/ui or (IPV4) https://rr.red-dove.com/ui to generate a nice navigable railroad diagram for then to help document/debug/develop then (see bellow).The text was updated successfully, but these errors were encountered: