summaryrefslogtreecommitdiff
path: root/test/ignore4.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/ignore4.lm
downloadcolm-tarball-404ae0f284a3b2d41fcdb53826550e4dfec5c65c.tar.gz
Diffstat (limited to 'test/ignore4.lm')
-rw-r--r--test/ignore4.lm74
1 files changed, 74 insertions, 0 deletions
diff --git a/test/ignore4.lm b/test/ignore4.lm
new file mode 100644
index 0000000..cdd94b3
--- /dev/null
+++ b/test/ignore4.lm
@@ -0,0 +1,74 @@
+##### LM #####
+namespace hash
+
+ lex
+ literal `define `include
+ token NL /'\n'/ -ni
+
+ token id /[a-zA-Z_][a-zA-Z_0-9]*/
+ token number /[0-9]+/
+ token string /'"' ( [^"\\] | '\\' any )* '"'/
+
+ ignore /[ \t]+/
+
+ end
+
+ def hash
+ [`define id number NL]
+ | [`include string NL]
+
+end # hash
+
+namespace lang
+
+ lex
+ ignore /space+/
+ literal `* `( `) `; `#
+ token id /[a-zA-Z_][a-zA-Z_0-9]*/
+ token number /[0-9]+/
+ end
+
+ def item
+ [id]
+ | [`( item* `)]
+
+ def statement
+ [item* `;]
+ | [`# hash::hash]
+
+ def start
+ [statement*]
+
+end # lang
+
+parse Input: lang::start[ stdin ]
+
+if ! Input
+ print( error '\n' )
+else {
+ #print( Input.tree '\n' )
+ for H: lang::statement in Input {
+ require H [ lang::`# hash::hash ]
+ print( '--' H '==\n' )
+ }
+}
+##### IN #####
+
+hello;
+
+#include "input1"
+
+#include "input2"
+
+#include "input3"
+
+there;
+##### EXP #####
+--#include "input1"
+==
+--
+#include "input2"
+==
+--
+#include "input3"
+==