dsl: add Str token
Some checks are pending
/ build (push) Waiting to run

This commit is contained in:
🪞👃🪞 2025-05-02 19:16:28 +03:00
parent 2b208e3c49
commit 0d4ba4a54e
3 changed files with 43 additions and 25 deletions

View file

@ -86,6 +86,8 @@ pub const fn peek_src <'a> (source: &'a str) -> Option<Token<'a>> {
token.grow(),
'(' =>
Token::new(source, start, 1, Exp(1, TokenIter::new(str_range(source, start, start + 1)))),
'"' =>
Token::new(source, start, 1, Str(str_range(source, start, start + 1))),
':'|'@' =>
Token::new(source, start, 1, Sym(str_range(source, start, start + 1))),
'/'|'a'..='z' =>
@ -97,6 +99,10 @@ pub const fn peek_src <'a> (source: &'a str) -> Option<Token<'a>> {
}),
_ => token.error(Unexpected(c))
},
Str(s) => match c {
'"' => return Some(token),
_ => token.grow_str(),
},
Num(n) => match c {
'0'..='9' => token.grow_num(n, c),
' '|'\n'|'\r'|'\t'|')' => return Some(token),