diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2024-11-26 22:55:13 -0700 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2024-11-26 22:55:13 -0700 |
commit | 7f5b64062ed975f856892d95e74b8d2f917ade66 (patch) | |
tree | 762b837c9fd461b8e1be5e852a3a560eeeda4d78 /src/Language/Fiddle/Tokenizer.hs | |
parent | 4f43488bdd32b610f7771dc01a12541fdb17b9af (diff) | |
download | fiddle-7f5b64062ed975f856892d95e74b8d2f917ade66.tar.gz fiddle-7f5b64062ed975f856892d95e74b8d2f917ade66.tar.bz2 fiddle-7f5b64062ed975f856892d95e74b8d2f917ade66.zip |
Added syntax for skip_to and buffer.
buffer tells fiddle to create a buffer of a number of bytes.
skip_to tells fiddle to skip to some new offset. It's essentially an
unnamed buffer
Diffstat (limited to 'src/Language/Fiddle/Tokenizer.hs')
-rw-r--r-- | src/Language/Fiddle/Tokenizer.hs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Language/Fiddle/Tokenizer.hs b/src/Language/Fiddle/Tokenizer.hs index d2e5cf8..4590ed0 100644 --- a/src/Language/Fiddle/Tokenizer.hs +++ b/src/Language/Fiddle/Tokenizer.hs @@ -28,6 +28,8 @@ data T | KWWo | KWImport | KWUsing + | KWSkipTo + | KWBuffer | TokColon | TokComma | TokDot @@ -69,6 +71,8 @@ textOf t = do KWWo -> Just "wo" KWImport -> Just "import" KWUsing -> Just "using" + KWBuffer -> Just "buffer" + KWSkipTo -> Just "skip_to" TokIdent i -> Just i TokLitNum n -> Just n _ -> Nothing @@ -106,6 +110,8 @@ parseToken = spaces *> tok parseToken' <* spaces "using" -> KWUsing "struct" -> KWStruct "assert_pos" -> KWAssertPos + "skip_to" -> KWSkipTo + "buffer" -> KWBuffer (Data.Text.head -> h) | isDigit h -> TokLitNum str ident -> TokIdent ident |