mirror of
https://github.com/erg-lang/erg.git
synced 2025-09-29 12:24:45 +00:00
Merge pull request #198 from GreasySlug/feature/update-lex
Tokenize the `<-`
This commit is contained in:
commit
f942a63066
2 changed files with 16 additions and 11 deletions
|
@ -851,6 +851,10 @@ impl Iterator for Lexer /*<'a>*/ {
|
|||
)))
|
||||
}
|
||||
}
|
||||
Some('-') => {
|
||||
self.consume();
|
||||
self.accept(Inclusion, "<-")
|
||||
}
|
||||
Some('=') => {
|
||||
self.consume();
|
||||
self.accept(LessEq, "<=")
|
||||
|
|
|
@ -109,6 +109,8 @@ pub enum TokenKind {
|
|||
RefMutOp,
|
||||
/// =
|
||||
Equal,
|
||||
/// <-
|
||||
Inclusion,
|
||||
/// :=
|
||||
Walrus,
|
||||
/// ->
|
||||
|
@ -214,9 +216,8 @@ impl TokenKind {
|
|||
| InfLit => TokenCategory::Literal,
|
||||
PrePlus | PreMinus | PreBitNot | Mutate | RefOp | RefMutOp => TokenCategory::UnaryOp,
|
||||
Try => TokenCategory::PostfixOp,
|
||||
Comma | Colon | DblColon | SupertypeOf | SubtypeOf | Dot | Pipe | Walrus => {
|
||||
TokenCategory::SpecialBinOp
|
||||
}
|
||||
Comma | Colon | DblColon | SupertypeOf | SubtypeOf | Dot | Pipe | Walrus
|
||||
| Inclusion => TokenCategory::SpecialBinOp,
|
||||
Equal => TokenCategory::DefOp,
|
||||
FuncArrow | ProcArrow => TokenCategory::LambdaOp,
|
||||
Semi | Newline => TokenCategory::Separator,
|
||||
|
@ -248,7 +249,7 @@ impl TokenKind {
|
|||
Less | Gre | LessEq | GreEq | DblEq | NotEq | InOp | NotInOp | IsOp | IsNotOp => 90, // < > <= >= == != in notin is isnot
|
||||
AndOp => 80, // and
|
||||
OrOp => 70, // or
|
||||
FuncArrow | ProcArrow => 60, // -> =>
|
||||
FuncArrow | ProcArrow | Inclusion => 60, // -> => <-
|
||||
Colon | SupertypeOf | SubtypeOf => 50, // : :> <:
|
||||
Comma => 40, // ,
|
||||
Equal | Walrus => 20, // = :=
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue