/
Basic.sdf
executable file
·29 lines (23 loc) · 1.11 KB
/
Basic.sdf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
module languages/box/syntax/Basic
imports basic/Comments
imports basic/StrCon
imports basic/NatCon
exports
sorts SpaceSymbol SpaceOption
context-free syntax
"hs" -> SpaceSymbol {cons("horizontal")}
"vs" -> SpaceSymbol {cons("vertical")}
"is" -> SpaceSymbol {cons("indentation")}
"ts" -> SpaceSymbol {cons("tabstop")}
SpaceSymbol "=" NatCon -> SpaceOption
exports
sorts Box BoxOperator
context-free syntax
StrCon -> Box {cons("string")}
operator:BoxOperator "[" list:Box* "]" -> Box {cons("appl")}
"H" options:SpaceOption* -> BoxOperator {cons("h")}
"V" options:SpaceOption* -> BoxOperator {cons("v")}
"HV" options:SpaceOption* -> BoxOperator {cons("hv")}
"HOV" options:SpaceOption* -> BoxOperator {cons("hov")}
"I" options:SpaceOption* -> BoxOperator {cons("i")}
"WD" -> BoxOperator {cons("wd")}