tests: check token numbers.

* tests/input.at (Numbered tokens): New.
This commit is contained in:
Akim Demaille
2009-05-05 09:35:34 +02:00
parent ecdfea9a12
commit d19123e612
2 changed files with 42 additions and 0 deletions

View File

@@ -1,3 +1,8 @@
2009-05-05 Akim Demaille <demaille@gostai.com>
tests: check token numbers.
* tests/input.at (Numbered tokens): New.
2009-05-04 Akim Demaille <demaille@gostai.com>
bison: catch bad symbol names.

View File

@@ -674,6 +674,43 @@ AT_BISON_CHECK([-o input.c input.y], [1], [],
AT_CLEANUP
## ----------------- ##
## Numbered tokens. ##
## ----------------- ##
AT_SETUP([Numbered tokens])
AT_DATA_GRAMMAR([input.y],
[[%token HEXADECIMAL_1 0xabcdef
DECIMAL_1 11259375
%token HEXADECIMAL_2 0XFEDCBA
DECIMAL_2 16702650
%%
start: HEXADECIMAL_1 HEXADECIMAL_2
%%
]])
AT_BISON_CHECK([input.y], [1], [],
[[input.y:12.12-20: tokens HEXADECIMAL_2 and DECIMAL_2 both assigned number 16702650
input.y:9.8-20: tokens DECIMAL_1 and HEXADECIMAL_1 both assigned number 11259375
]])
AT_DATA_GRAMMAR([input.y],
[[%token TOO_LARGE_DEC 999999999999999999999
TOO_LARGE_HEX 0xFFFFFFFFFFFFFFFFFFF
%%
start: TOO_LARGE_DEC TOO_LARGE_HEX
%%
]])
AT_BISON_CHECK([input.y], [1], [],
[[input.y:9.22-42: integer out of range: `999999999999999999999'
input.y:10.24-44: integer out of range: `0xFFFFFFFFFFFFFFFFFFF'
]])
AT_CLEANUP
## --------------------- ##
## Unclosed constructs. ##
## --------------------- ##