tests: check token numbers.
authorAkim Demaille <demaille@gostai.com>
Tue, 5 May 2009 07:35:34 +0000 (09:35 +0200)
committerAkim Demaille <demaille@gostai.com>
Tue, 5 May 2009 07:43:32 +0000 (09:43 +0200)
* tests/input.at (Numbered tokens): New.

ChangeLog
tests/input.at

index db56d9748e4506d25c01fc180b098a5d20230481..ba901d607bf1c51bb487d089fa044d30ed6bd0fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 4345eddd36f8160646a9d78d5e4bc299d9ebed0d..1eaf482120ae4fc0385faab3b5f3535cc842f7fa 100644 (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.  ##
 ## --------------------- ##