diff options
| author | Mel <einebeere@gmail.com> | 2022-07-11 03:00:04 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-07-11 03:00:04 +0200 |
| commit | 0a6339f5e2008a29df1b03ca012e69bd1dfd46cc (patch) | |
| tree | 6634f5b9422a9f1f4523df72ff047df42f285558 /pkg | |
| parent | 1b6ef1e43e1ec1107ce29a6438b399352d09fbc2 (diff) | |
| download | jinx-0a6339f5e2008a29df1b03ca012e69bd1dfd46cc.tar.zst jinx-0a6339f5e2008a29df1b03ca012e69bd1dfd46cc.zip | |
Allow underscores in identifiers in scanner
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/lang/scanner/scanner.go | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/lang/scanner/scanner.go b/pkg/lang/scanner/scanner.go index 2991083..b01e22f 100644 --- a/pkg/lang/scanner/scanner.go +++ b/pkg/lang/scanner/scanner.go @@ -69,7 +69,7 @@ func (s *Scanner) scanToken() (token.Token, error) { if c == '"' { return s.scanString() - } else if unicode.IsLetter(c) { + } else if unicode.IsLetter(c) || c == '_' { return s.scanIdentifierOrKeyword() } else if unicode.IsDigit(c) { return s.scanNumber() @@ -195,7 +195,7 @@ func (s *Scanner) scanIdentifierOrKeyword() (token.Token, error) { return token.Token{}, err } - if eof || (!unicode.IsLetter(c) && !unicode.IsDigit(c)) { + if eof || !(unicode.IsLetter(c) || unicode.IsDigit(c) || c == '_') { break } |
