diff options
author | Adrian Thurston <thurston@colm.net> | 2020-01-01 20:44:10 +0200 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2020-01-01 20:44:10 +0200 |
commit | 8661124b75f7baed8a90ccdd638ceb2a2de43754 (patch) | |
tree | 9300de32e1e2c29b4189c785e8d01983087100dd /test | |
parent | 40c519e1a325d3f69389bbee472dea06118b3770 (diff) | |
download | colm-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.rl | 56 |
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 |