summaryrefslogtreecommitdiff
path: root/src/Language/Fiddle/Tokenizer.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2024-11-26 22:55:13 -0700
committerJosh Rahm <joshuarahm@gmail.com>2024-11-26 22:55:13 -0700
commit7f5b64062ed975f856892d95e74b8d2f917ade66 (patch)
tree762b837c9fd461b8e1be5e852a3a560eeeda4d78 /src/Language/Fiddle/Tokenizer.hs
parent4f43488bdd32b610f7771dc01a12541fdb17b9af (diff)
downloadfiddle-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.hs6
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