diff options
Diffstat (limited to 'examples/tiny.lua')
-rw-r--r-- | examples/tiny.lua | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/examples/tiny.lua b/examples/tiny.lua index fe0bced..7548995 100644 --- a/examples/tiny.lua +++ b/examples/tiny.lua | |||
@@ -19,11 +19,12 @@ local terror = { | |||
19 | factor = "Error matching 'Factor'", | 19 | factor = "Error matching 'Factor'", |
20 | openParExp = "Error matching expression after '('", | 20 | openParExp = "Error matching expression after '('", |
21 | closePar = "Error matching ')'", | 21 | closePar = "Error matching ')'", |
22 | eof = "Error, expecting EOF", | ||
22 | undefined = "Undefined Error" | 23 | undefined = "Undefined Error" |
23 | } | 24 | } |
24 | 25 | ||
25 | g = re.compile([[ | 26 | g = re.compile([[ |
26 | Tiny <- CmdSeq^undefined | 27 | Tiny <- CmdSeq (!. / %{eof}) |
27 | CmdSeq <- (Cmd SEMICOLON^cmdSeq) (Cmd SEMICOLON^cmdSeq)* | 28 | CmdSeq <- (Cmd SEMICOLON^cmdSeq) (Cmd SEMICOLON^cmdSeq)* |
28 | Cmd <- IfCmd / RepeatCmd / ReadCmd / WriteCmd / AssignCmd | 29 | Cmd <- IfCmd / RepeatCmd / ReadCmd / WriteCmd / AssignCmd |
29 | IfCmd <- IF Exp^ifExp THEN^ifThen CmdSeq^ifThenCmdSeq (ELSE CmdSeq^ifElseCmdSeq / '') END^ifEnd | 30 | IfCmd <- IF Exp^ifExp THEN^ifThen CmdSeq^ifThenCmdSeq (ELSE CmdSeq^ifElseCmdSeq / '') END^ifEnd |
@@ -118,5 +119,5 @@ repeat | |||
118 | print(mymatch(g, s)) | 119 | print(mymatch(g, s)) |
119 | 120 | ||
120 | print(mymatch(g, "a : 2")) | 121 | print(mymatch(g, "a : 2")) |
121 | print(mymatch(g, "a := (2")) | 122 | print(mymatch(g, "a := 2; 6")) |
122 | 123 | ||