Skip to content

Identifiers.sdf3

pdmosses/metaborg-tiger/org.metaborg.lang.tiger.statix/syntax/Identifiers.sdf3

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
module Identifiers

imports Base

lexical syntax

  ID = [a-zA-Z] [a-zA-Z0-9\_]*
  ID = "_main"

lexical restrictions

  ID -/- [a-zA-Z0-9\_]

lexical syntax

  ID = "label"        {reject}
  ID = "goto"         {reject}
  ID = "declarations" {reject}
  ID = "true"         {reject}
  ID = "false"        {reject}

lexical syntax

  ID = "array"        {reject}
  ID = "if"           {reject}
  ID = "then"         {reject}
  ID = "else"         {reject}
  ID = "while"        {reject}
  ID = "for"          {reject}
  ID = "to"           {reject}
  ID = "do"           {reject}
  ID = "let"          {reject}
  ID = "in"           {reject}
  ID = "end"          {reject}
  ID = "of"           {reject}
  ID = "break"        {reject}
  ID = "nil"          {reject}
  ID = "function"     {reject}
  ID = "var"          {reject}
  ID = "type"         {reject}
  ID = "import"       {reject}
  ID = "primitive"    {reject}

lexical syntax

  ID = "class"        {reject}
  ID = "extends"      {reject}
  ID = "method"       {reject}
  ID = "new"          {reject}