diff options
author | Adrian Thurston <thurston@colm.net> | 2019-11-06 20:39:51 -0300 |
---|---|---|
committer | Adrian Thurston <thurston@colm.net> | 2019-11-07 10:12:20 -0300 |
commit | bd8de42f05975c262a6ecd156d8a6fbc50aa0de5 (patch) | |
tree | 1e62788a8c28819d383323aeef4e2efa7127439d | |
parent | 2219942bead1ad955e6c24f76745437d44dd1b29 (diff) | |
download | ragel-bd8de42f05975c262a6ecd156d8a6fbc50aa0de5.tar.gz |
exclude ? from position 2+ of literal token
-rw-r--r-- | colm.vim | 3 | ||||
-rw-r--r-- | colm/colm.lm | 7 | ||||
-rw-r--r-- | ragel/ragel.lm | 8 | ||||
-rw-r--r-- | test/rlparse.d/ragel.lm | 8 | ||||
-rw-r--r-- | test/trans.d/ragel.lm | 8 |
5 files changed, 25 insertions, 9 deletions
@@ -40,8 +40,9 @@ syntax match char "\\." contained syntax match otLit "\~.*$" syntax match otLit "'\(\\.\|[^'\\]\)*\('[i]*\)\?" -syntax match otLit "`[^ \t\r\]]\+" +syntax match otLit "`[^ \t\r\]?]\+" syntax match otLit "`\]" +syntax match otLit "`?" " " Other stuff diff --git a/colm/colm.lm b/colm/colm.lm index 446aee06..51826941 100644 --- a/colm/colm.lm +++ b/colm/colm.lm @@ -82,8 +82,11 @@ lex token number / ( '0' .. '9' ) + / - token backtick_lit - / '`' . ^( ' ' | '\n' | '\t' | ']' )+ | '`]' / + token backtick_lit / + '`' . ^( ' ' | '\n' | '\t' | ']' | '?' )+ | + '`]' | + '`?' + / token DQ / '\"' / - ni token SQ / '\'' / - ni diff --git a/ragel/ragel.lm b/ragel/ragel.lm index c9f6a3b5..a628dcea 100644 --- a/ragel/ragel.lm +++ b/ragel/ragel.lm @@ -284,7 +284,11 @@ namespace ragel literal `@ `> `< `% `$ literal `from `to `eof `lerr `err - literal `when `inwhen `outwhen `>? `$? `%? + literal `when `inwhen `outwhen + + token in_when /'>?'/ + token all_when /'$?'/ + token leave_when /'%?'/ literal `:= `|= `= `; `.. `../i `:: @@ -563,7 +567,7 @@ namespace ragel [`@] :Finish | [`>] :Enter | [`%] :Leave | [`$] :All def aug_cond - [`>?] :Start1 | [`$?] :All1 | [`%?] :Leave1 + [in_when] :Start1 | [all_when] :All1 | [leave_when] :Leave1 | [`> `when] :Start2 | [`$ `when] :All2 | [`% `when] :Leave2 | [`inwhen] :Start3 | [`when] :All3 | [`outwhen] :Leave3 diff --git a/test/rlparse.d/ragel.lm b/test/rlparse.d/ragel.lm index 64d5bb6a..eda96275 100644 --- a/test/rlparse.d/ragel.lm +++ b/test/rlparse.d/ragel.lm @@ -107,7 +107,11 @@ namespace ragel literal `@ `> `< `% `$ literal `from `to `eof `lerr `err - literal `when `inwhen `outwhen `>? `$? `%? + literal `when `inwhen `outwhen + + token in_when /'>?'/ + token all_when /'$?'/ + token leave_when /'%?'/ literal `:= `|= `= `; `.. `../i `:: @@ -277,7 +281,7 @@ namespace ragel [`@] :Finish | [`>] :Enter | [`%] :Leave | [`$] :All def aug_cond - [`>?] :Start1 | [`$?] :All1 | [`%?] :Leave1 + [in_when] :Start1 | [all_when] :All1 | [leave_when] :Leave1 | [`> `when] :Start2 | [`$ `when] :All2 | [`% `when] :Leave2 | [`inwhen] :Start3 | [`when] :All3 | [`outwhen] :Leave3 diff --git a/test/trans.d/ragel.lm b/test/trans.d/ragel.lm index 64d5bb6a..eda96275 100644 --- a/test/trans.d/ragel.lm +++ b/test/trans.d/ragel.lm @@ -107,7 +107,11 @@ namespace ragel literal `@ `> `< `% `$ literal `from `to `eof `lerr `err - literal `when `inwhen `outwhen `>? `$? `%? + literal `when `inwhen `outwhen + + token in_when /'>?'/ + token all_when /'$?'/ + token leave_when /'%?'/ literal `:= `|= `= `; `.. `../i `:: @@ -277,7 +281,7 @@ namespace ragel [`@] :Finish | [`>] :Enter | [`%] :Leave | [`$] :All def aug_cond - [`>?] :Start1 | [`$?] :All1 | [`%?] :Leave1 + [in_when] :Start1 | [all_when] :All1 | [leave_when] :Leave1 | [`> `when] :Start2 | [`$ `when] :All2 | [`% `when] :Leave2 | [`inwhen] :Start3 | [`when] :All3 | [`outwhen] :Leave3 |