From 7f5b64062ed975f856892d95e74b8d2f917ade66 Mon Sep 17 00:00:00 2001 From: Josh Rahm Date: Tue, 26 Nov 2024 22:55:13 -0700 Subject: 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 --- src/Language/Fiddle/Tokenizer.hs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/Language/Fiddle/Tokenizer.hs') 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 -- cgit