Lexer passes all width tests
This commit is contained in:
		
							parent
							
								
									120976a0f3
								
							
						
					
					
						commit
						15eb96e8ac
					
				| @ -93,6 +93,7 @@ func (lexer *LexingOperation) tokenizeAlphaBeginning () (err error) { | |||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	token.value = got | 	token.value = got | ||||||
|  | 	token.location.SetWidth(len(got)) | ||||||
| 
 | 
 | ||||||
| 	if len(got) == 2 { | 	if len(got) == 2 { | ||||||
| 		firstValid  := got[0] == 'n' || got[0] == 'r' || got[0] == 'w' | 		firstValid  := got[0] == 'n' || got[0] == 'r' || got[0] == 'w' | ||||||
| @ -143,6 +144,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		} | 		} | ||||||
| 
 | 
 | ||||||
| 		token.value = indentLevel | 		token.value = indentLevel | ||||||
|  | 		token.location.SetWidth(indentLevel) | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case '\n': | 	case '\n': | ||||||
| 		// line break | 		// line break | ||||||
| @ -183,6 +185,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '.' { | 		if lexer.char == '.' { | ||||||
| 			token.kind = TokenKindElipsis | 			token.kind = TokenKindElipsis | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case ',': | 	case ',': | ||||||
| @ -218,6 +221,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '+' { | 		if lexer.char == '+' { | ||||||
| 			token.kind = TokenKindIncrement | 			token.kind = TokenKindIncrement | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case '-': | 	case '-': | ||||||
| @ -260,6 +264,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '<' { | 		if lexer.char == '<' { | ||||||
| 			token.kind = TokenKindLShift | 			token.kind = TokenKindLShift | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case '>': | 	case '>': | ||||||
| @ -270,6 +275,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '>' { | 		if lexer.char == '>' { | ||||||
| 			token.kind = TokenKindRShift | 			token.kind = TokenKindRShift | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case '|': | 	case '|': | ||||||
| @ -280,6 +286,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '|' { | 		if lexer.char == '|' { | ||||||
| 			token.kind = TokenKindLogicalOr | 			token.kind = TokenKindLogicalOr | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	case '&': | 	case '&': | ||||||
| @ -290,6 +297,7 @@ func (lexer *LexingOperation) tokenizeSymbolBeginning () (err error) { | |||||||
| 		if lexer.char == '&' { | 		if lexer.char == '&' { | ||||||
| 			token.kind = TokenKindLogicalAnd | 			token.kind = TokenKindLogicalAnd | ||||||
| 			err = lexer.nextRune() | 			err = lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(2) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	default: | 	default: | ||||||
| @ -311,6 +319,7 @@ func (lexer *LexingOperation) tokenizeDashBeginning () (err error) { | |||||||
| 	if lexer.char == '-' { | 	if lexer.char == '-' { | ||||||
| 		token := lexer.newToken() | 		token := lexer.newToken() | ||||||
| 		token.kind = TokenKindDecrement | 		token.kind = TokenKindDecrement | ||||||
|  | 		token.location.SetWidth(2) | ||||||
| 
 | 
 | ||||||
| 		err = lexer.nextRune() | 		err = lexer.nextRune() | ||||||
| 		if err != nil { return } | 		if err != nil { return } | ||||||
| @ -318,11 +327,13 @@ func (lexer *LexingOperation) tokenizeDashBeginning () (err error) { | |||||||
| 		if lexer.char == '-' { | 		if lexer.char == '-' { | ||||||
| 			token.kind = TokenKindSeparator | 			token.kind = TokenKindSeparator | ||||||
| 			lexer.nextRune() | 			lexer.nextRune() | ||||||
|  | 			token.location.SetWidth(3) | ||||||
| 		} | 		} | ||||||
| 		lexer.addToken(token) | 		lexer.addToken(token) | ||||||
| 	} else if lexer.char == '>' { | 	} else if lexer.char == '>' { | ||||||
| 		token := lexer.newToken() | 		token := lexer.newToken() | ||||||
| 		token.kind = TokenKindReturnDirection | 		token.kind = TokenKindReturnDirection | ||||||
|  | 		token.location.SetWidth(2) | ||||||
| 
 | 
 | ||||||
| 		err = lexer.nextRune()  | 		err = lexer.nextRune()  | ||||||
| 		if err != nil { return } | 		if err != nil { return } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user