summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorAdrian Thurston <thurston@colm.net>2020-01-01 20:44:10 +0200
committerAdrian Thurston <thurston@colm.net>2020-01-01 20:44:10 +0200
commit8661124b75f7baed8a90ccdd638ceb2a2de43754 (patch)
tree9300de32e1e2c29b4189c785e8d01983087100dd /test
parent40c519e1a325d3f69389bbee472dea06118b3770 (diff)
downloadcolm-8661124b75f7baed8a90ccdd638ceb2a2de43754.tar.gz
added missing open/close block to BREAK and NBREAK
refs #102
Diffstat (limited to 'test')
-rw-r--r--test/ragel.d/fbreak1.rl56
1 files changed, 56 insertions, 0 deletions
diff --git a/test/ragel.d/fbreak1.rl b/test/ragel.d/fbreak1.rl
new file mode 100644
index 00000000..249d85b4
--- /dev/null
+++ b/test/ragel.d/fbreak1.rl
@@ -0,0 +1,56 @@
+/*
+ * @LANG: go
+ *
+ * This test case is GoLang only because we need to exercise access in translated
+ * output.
+ */
+
+package main
+import "fmt"
+
+%%{
+ machine fbreak_eof;
+ access foo_;
+
+ main := "hello\n" %{ fbreak; };
+}%%
+
+%% write data;
+
+var foo_cs = 0;
+
+func prepare() {
+ %%write init;
+}
+
+func exec(data string) {
+ var p int = 0
+ var pe int = len(data)
+ var eof int = pe
+ %% write exec;
+}
+
+func finish() {
+ if foo_cs >= fbreak_eof_first_final {
+ fmt.Println("ACCEPT")
+ } else {
+ fmt.Println("FAIL")
+ }
+}
+
+var inp []string = []string {
+ "hello\n",
+ "there\n",
+};
+
+func main() {
+ for _, data := range inp {
+ prepare()
+ exec(data)
+ finish()
+ }
+}
+
+##### OUTPUT #####
+ACCEPT
+FAIL