Add exponentiation operator '**' in lexer
This commit is contained in:
parent
225a2b13ea
commit
6403c4578c
|
@ -23,9 +23,10 @@ const (
|
||||||
MINUS
|
MINUS
|
||||||
PLUS
|
PLUS
|
||||||
SEMICOLON
|
SEMICOLON
|
||||||
STAR
|
|
||||||
|
|
||||||
// One or two character tokens.
|
// One or two character tokens.
|
||||||
|
STAR
|
||||||
|
STAR_STAR
|
||||||
BANG
|
BANG
|
||||||
BANG_EQUAL
|
BANG_EQUAL
|
||||||
EQUAL
|
EQUAL
|
||||||
|
@ -156,6 +157,11 @@ func (l *Lexer) scanToken() {
|
||||||
case ';':
|
case ';':
|
||||||
l.addSimpleToken(SEMICOLON)
|
l.addSimpleToken(SEMICOLON)
|
||||||
case '*':
|
case '*':
|
||||||
|
if l.match('*') {
|
||||||
|
l.addSimpleToken(STAR_STAR)
|
||||||
|
} else {
|
||||||
|
l.addSimpleToken(STAR)
|
||||||
|
}
|
||||||
l.addSimpleToken(STAR)
|
l.addSimpleToken(STAR)
|
||||||
case '!':
|
case '!':
|
||||||
if l.match('=') {
|
if l.match('=') {
|
||||||
|
|
Loading…
Reference in a new issue