Feature: Lexer #7

Closed
opened 2023-09-23 05:39:06 +00:00 by j · 1 comment
Owner

Feature description

The lexer takes a block of text, and breaks it up into identifiable parts (tokens) with lexical significance.

It should be able to tokenize:

  • Keywords (fn, let, if, else, for, etc.)
  • Identifiers (foo, bar, baz, _foo, _bar, _baz, _9, etc.) (matching XID_START ~ XID_CONTINUE*)
  • Literals (10. 1_000, 0x41, 0b100, 4.5, .5, "Hello, world!", '0')
  • Punctuation ((, [, {, }, ], ), ,, <, >, =, +, -, *, &, ^, etc.)
# Feature description The lexer takes a block of text, and breaks it up into identifiable parts (tokens) with lexical significance. It should be able to tokenize: - Keywords (`fn`, `let`, `if`, `else`, `for`, etc.) - Identifiers (`foo`, `bar`, `baz`, `_foo`, `_bar`, `_baz`, `_9`, etc.) (matching `XID_START` ~ `XID_CONTINUE`*) - Literals (`10`. `1_000`, `0x41`, `0b100`, `4.5`, `.5`, `"Hello, world!"`, `'0'`) - Punctuation (`(`, `[`, `{`, `}`, `]`, `)`, `,`, `<`, `>`, `=`, `+`, `-`, `*`, `&`, `^`, etc.)
j added the
enhancement
label 2023-09-23 05:39:06 +00:00
j self-assigned this 2023-09-23 05:39:06 +00:00
j added this to the Basic Syntax project 2023-09-23 05:39:06 +00:00
j added a new dependency 2023-09-23 05:39:31 +00:00
j added a new dependency 2023-09-23 05:39:39 +00:00
j added a new dependency 2023-09-23 05:39:49 +00:00
j removed a dependency 2023-09-23 05:40:25 +00:00
j removed a dependency 2023-09-23 05:40:29 +00:00
j removed a dependency 2023-09-23 05:40:32 +00:00
j added a new dependency 2023-09-23 05:40:36 +00:00
j added a new dependency 2023-09-23 05:40:41 +00:00
j added a new dependency 2023-09-23 05:40:45 +00:00
j added a new dependency 2023-09-23 05:40:53 +00:00
j added a new dependency 2023-09-23 05:40:57 +00:00
j pinned this 2023-09-23 05:41:14 +00:00
j added a new dependency 2023-09-23 05:54:20 +00:00
Author
Owner

Lexer V1 is as good as complete! 😸

Lexer V1 is as good as complete! 😸
j closed this issue 2023-10-17 04:06:15 +00:00
j unpinned this 2023-10-26 19:02:45 +00:00
Sign in to join this conversation.
No description provided.