feat: undo
This commit is contained in:
@@ -4,18 +4,18 @@ import "git.maximhutz.com/max/lambda/pkg/token"
|
||||
|
||||
// scanner is the declarative lexer for the Saccharine language.
|
||||
var scanner = token.NewScanner[TokenType]().
|
||||
On(`:=`, TokenAssign).
|
||||
On(`\(`, TokenOpenParen).
|
||||
On(`\)`, TokenCloseParen).
|
||||
On(`\{`, TokenOpenBrace).
|
||||
On(`\}`, TokenCloseBrace).
|
||||
On(`;`, TokenHardBreak).
|
||||
On(`\n`, TokenSoftBreak).
|
||||
On(`\\`, TokenSlash).
|
||||
On(`\.`, TokenDot).
|
||||
On(`[a-zA-Z0-9_]+`, TokenAtom).
|
||||
Skip(`#[^\n]*`).
|
||||
Skip(`[^\S\n]+`)
|
||||
On(`:=`, TokenAssign, 1).
|
||||
On(`\(`, TokenOpenParen, 0).
|
||||
On(`\)`, TokenCloseParen, 0).
|
||||
On(`\{`, TokenOpenBrace, 0).
|
||||
On(`\}`, TokenCloseBrace, 0).
|
||||
On(`;`, TokenHardBreak, 0).
|
||||
On(`\n`, TokenSoftBreak, 0).
|
||||
On(`\\`, TokenSlash, 0).
|
||||
On(`\.`, TokenDot, 0).
|
||||
On(`[a-zA-Z0-9_]+`, TokenAtom, 0).
|
||||
Skip(`#[^\n]*`, 0).
|
||||
Skip(`[^\S\n]+`, 0)
|
||||
|
||||
// scan tokenizes a string into Saccharine tokens.
|
||||
func scan(input string) ([]Token, error) {
|
||||
|
||||
Reference in New Issue
Block a user