summaryrefslogtreecommitdiff
path: root/test/context3.lm
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2014-02-01 19:49:33 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2014-02-01 19:49:33 +0000
commit404ae0f284a3b2d41fcdb53826550e4dfec5c65c (patch)
treecc446af26234e4465b8cc168b720ec44816ff5ab /test/context3.lm
downloadcolm-tarball-404ae0f284a3b2d41fcdb53826550e4dfec5c65c.tar.gz
Diffstat (limited to 'test/context3.lm')
-rw-r--r--test/context3.lm47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/context3.lm b/test/context3.lm
new file mode 100644
index 0000000..f990837
--- /dev/null
+++ b/test/context3.lm
@@ -0,0 +1,47 @@
+##### LM #####
+context ctx
+
+ i: int
+ j: int
+ k: int
+
+ lex
+ ignore /space+/
+ literal `* `( `)
+ token id /[a-zA-Z_]+/
+ end
+
+ def foo [id]
+
+ int f()
+ {
+ i = i + 1
+ }
+
+ def item
+ [id]
+ | [foo]
+ | [`( item* `)]
+ {
+ i = 0
+ f()
+ f()
+ f()
+ print( i '\n' )
+ }
+
+
+ def start
+ [item*]
+
+end # ctx
+
+CTX: ctx = cons ctx []
+parse Input: ctx::start( CTX ) [stdin]
+print( Input )
+
+##### IN #####
+a b c ( d ) e f
+##### EXP #####
+3
+a b c ( d ) e f