Files
IBAFLang/IBAF-Editor/syntax/cbs-gen/IBAF-Start.sdf3
2023-11-18 11:18:25 +01:00

58 lines
1.1 KiB
Plaintext

module IBAF-Start
imports
IBAF-Statements
IBAF-Expressions
Funcons
// Language "IBAFlang"
lexical syntax // Language
LEX-keyword = "else"
LEX-keyword = "false"
LEX-keyword = "if"
LEX-keyword = "true"
LEX-keyword = "while"
LEX-keyword = "int"
syntax // Language
context-free syntax // Language
L-start.L-start--L-statement-S =
L-statement*
L-keyword.LEX-keyword =
LEX-keyword
context-free syntax // Semantics
FCT.T-start =
"start" "[:" L-start ":]"
FCT-Quoted.LEX-keyword = LEX-keyword
context-free syntax // Desugaring
variables // Meta-variables
L-start = "(:START" [1-9]? ":)" {prefer}
L-start? = "(:START" [1-9]? "?:)" {prefer}
L-start* = "(:START" [1-9]? "*:)" {prefer}
L-start+ = "(:START" [1-9]? "+:)" {prefer}
L-statement* = "..." [1-9]? {prefer}
// SDF comments
lexical syntax
LEX-id = LEX-keyword {reject}
lexical restrictions
LEX-id -/- [A-Za-z0-9]
context-free syntax
L-exp.L-exp--L-exp-PLUS-L-exp =
L-exp "+" L-exp
{assoc}
L-exp.L-exp--L-exp-AMPERSAND-AMPERSAND-L-exp =
L-exp "&&" L-exp
{assoc}
sorts // ASTs
T-start