Added test case for new tokens
This commit is contained in:
		
							parent
							
								
									c3b6330b22
								
							
						
					
					
						commit
						453a596587
					
				| @ -152,19 +152,27 @@ func TestTokenizeAll (test *testing.T) { | |||||||
| 		quickToken(1, TokenKindAt, nil), | 		quickToken(1, TokenKindAt, nil), | ||||||
| 		quickToken(1, TokenKindExclamation, nil), | 		quickToken(1, TokenKindExclamation, nil), | ||||||
| 		quickToken(1, TokenKindPercent, nil), | 		quickToken(1, TokenKindPercent, nil), | ||||||
|  | 		quickToken(2, TokenKindPercentAssignment, nil), | ||||||
| 		quickToken(1, TokenKindTilde, nil), | 		quickToken(1, TokenKindTilde, nil), | ||||||
|  | 		quickToken(2, TokenKindTildeAssignment, nil), | ||||||
| 		quickToken(1, TokenKindEqualTo, nil), | 		quickToken(1, TokenKindEqualTo, nil), | ||||||
| 		quickToken(2, TokenKindNotEqualTo, nil), | 		quickToken(2, TokenKindNotEqualTo, nil), | ||||||
| 		quickToken(1, TokenKindLessThan, nil), | 		quickToken(1, TokenKindLessThan, nil), | ||||||
| 		quickToken(2, TokenKindLessThanEqualTo, nil), | 		quickToken(2, TokenKindLessThanEqualTo, nil), | ||||||
| 		quickToken(2, TokenKindLShift, nil), | 		quickToken(2, TokenKindLShift, nil), | ||||||
|  | 		quickToken(3, TokenKindLShiftAssignment, nil), | ||||||
| 		quickToken(1, TokenKindGreaterThan, nil), | 		quickToken(1, TokenKindGreaterThan, nil), | ||||||
| 		quickToken(2, TokenKindGreaterThanEqualTo, nil), | 		quickToken(2, TokenKindGreaterThanEqualTo, nil), | ||||||
| 		quickToken(2, TokenKindRShift, nil), | 		quickToken(2, TokenKindRShift, nil), | ||||||
|  | 		quickToken(3, TokenKindRShiftAssignment, nil), | ||||||
| 		quickToken(1, TokenKindBinaryOr, nil), | 		quickToken(1, TokenKindBinaryOr, nil), | ||||||
|  | 		quickToken(2, TokenKindBinaryOrAssignment, nil), | ||||||
| 		quickToken(2, TokenKindLogicalOr, nil), | 		quickToken(2, TokenKindLogicalOr, nil), | ||||||
| 		quickToken(1, TokenKindBinaryAnd, nil), | 		quickToken(1, TokenKindBinaryAnd, nil), | ||||||
|  | 		quickToken(2, TokenKindBinaryAndAssignment, nil), | ||||||
| 		quickToken(2, TokenKindLogicalAnd, nil), | 		quickToken(2, TokenKindLogicalAnd, nil), | ||||||
|  | 		quickToken(1, TokenKindBinaryXor, nil), | ||||||
|  | 		quickToken(2, TokenKindBinaryXorAssignment, nil), | ||||||
| 		quickToken(1, TokenKindNewline, nil), | 		quickToken(1, TokenKindNewline, nil), | ||||||
| 	) | 	) | ||||||
| } | } | ||||||
|  | |||||||
| @ -43,20 +43,28 @@ const ( | |||||||
|         TokenKindAt |         TokenKindAt | ||||||
|         TokenKindExclamation |         TokenKindExclamation | ||||||
|         TokenKindPercent |         TokenKindPercent | ||||||
|  |         TokenKindPercentAssignment | ||||||
|         TokenKindTilde |         TokenKindTilde | ||||||
|  |         TokenKindTildeAssignment | ||||||
| 
 | 
 | ||||||
|         TokenKindEqualTo |         TokenKindEqualTo | ||||||
|         TokenKindNotEqualTo |         TokenKindNotEqualTo | ||||||
|         TokenKindLessThanEqualTo |         TokenKindLessThanEqualTo | ||||||
|         TokenKindLessThan |         TokenKindLessThan | ||||||
|         TokenKindLShift |         TokenKindLShift | ||||||
|  |         TokenKindLShiftAssignment | ||||||
|         TokenKindGreaterThan |         TokenKindGreaterThan | ||||||
|         TokenKindGreaterThanEqualTo |         TokenKindGreaterThanEqualTo | ||||||
|         TokenKindRShift |         TokenKindRShift | ||||||
|  |         TokenKindRShiftAssignment | ||||||
|         TokenKindBinaryOr |         TokenKindBinaryOr | ||||||
|  |         TokenKindBinaryOrAssignment | ||||||
|         TokenKindLogicalOr |         TokenKindLogicalOr | ||||||
|         TokenKindBinaryAnd |         TokenKindBinaryAnd | ||||||
|  |         TokenKindBinaryAndAssignment | ||||||
|         TokenKindLogicalAnd |         TokenKindLogicalAnd | ||||||
|  |         TokenKindBinaryXor | ||||||
|  |         TokenKindBinaryXorAssignment | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
| // Token represents a single token. It holds its location in the file, as well | // Token represents a single token. It holds its location in the file, as well | ||||||
|  | |||||||
| @ -1,3 +1,3 @@ | |||||||
| :arf | :arf | ||||||
| --- rw -> -349820394 932748397 239485.37520 "hello world!\n" 'E' helloWorld:.,..[]{} | --- rw -> -349820394 932748397 239485.37520 "hello world!\n" 'E' helloWorld:.,..[]{} | ||||||
| + - ++ -- * / @ ! % ~ = != < <= << > >= >> | || & && | + - ++ -- * / @ ! % %= ~ ~= = != < <= << <<= > >= >> >>= | |= || & &= && ^ ^= | ||||||
|  | |||||||
| @ -39,7 +39,7 @@ func ro eMath | |||||||
| 	-- y | 	-- y | ||||||
| 	set z [+ [* 0392 00] 98 x [/ 9832 y] 930] | 	set z [+ [* 0392 00] 98 x [/ 9832 y] 930] | ||||||
| 
 | 
 | ||||||
| 	# TODO: need tokens |= &= ~= <<= >>= | 	# TODO: need tokens ~= | ||||||
| 	 | 	 | ||||||
| 	! true | 	! true | ||||||
| 	~ 0b01 | 	~ 0b01 | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user