/[bison]/bison/tests/output.at
ViewVC logotype

Diff of /bison/tests/output.at

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1.2.1 by akim, Thu Aug 30 15:36:37 2001 UTC revision 1.1.2.2 by akim, Mon Sep 10 09:59:39 2001 UTC
# Line 19  Line 19 
19  AT_BANNER([[Output file names.]])  AT_BANNER([[Output file names.]])
20    
21    
22  # AT_CHECK_BISON_FLAGS(FLAGS, EXPECTED-FILES-SORTED)  # AT_CHECK_OUTPUT(INPUT-FILE, [DIRECTIVES], [FLAGS], EXPECTED-FILES)
23  # --------------------------------------------------  # ------------------------------------------------------------------
24  m4_define([AT_CHECK_BISON_FLAGS],  m4_define([AT_CHECK_OUTPUT],
25  [AT_SETUP([Output files: $1.])  [AT_SETUP([Output files: $2 & $3.])
26  AT_DATA([foo.y],  AT_DATA([$1],
27  [[%%  [[$2
 foo: {}  
 ]])  
 rm -rf $2  
 AT_CHECK([bison -dv foo.y $1], 0, ignore, ignore)  
 AT_CHECK([ls $2 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$2])  
 rm -f $2  
 AT_CLEANUP  
 ])  
   
 AT_CHECK_BISON_FLAGS([],             [foo.output foo.tab.c foo.tab.h])  
 AT_CHECK_BISON_FLAGS([-o foo.c],     [foo.c foo.h foo.output])  
 AT_CHECK_BISON_FLAGS([-o foo.tab.c], [foo.output foo.tab.c foo.tab.h])  
 AT_CHECK_BISON_FLAGS([-y],           [y.output y.tab.c y.tab.h])  
 AT_CHECK_BISON_FLAGS([-b bar],       [bar.output bar.tab.c bar.tab.h])  
 AT_CHECK_BISON_FLAGS([-g -o foo.c],  [foo.c foo.h foo.output foo.vcg])  
   
 # AT_CHECK_BISON_PERCENT(GRAMMAR-OPTIONS, EXPECTED-FILES-SORTED)  
 # --------------------------------------------------------------  
 m4_define([AT_CHECK_BISON_PERCENT],  
 [AT_SETUP([Output files: $1.])  
 AT_DATA([foo.y],  
 [[$1  
 %defines  
 %verbose  
28  %%  %%
29  foo: {}  foo: {}
30  ]])  ]])
 rm -rf $2  
 AT_CHECK([bison foo.y], 0, ignore, ignore)  
 AT_CHECK([ls $2 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$2])  
 rm -f $2  
 AT_CLEANUP  
 ])  
31    
32  # The sames, but using the % directives.  AT_CHECK([bison $3 $1], 0)
33  AT_CHECK_BISON_PERCENT([],                  [foo.output foo.tab.c foo.tab.h])  AT_CHECK([ls $4], [], [ignore])
34  # AT_CHECK_BISON_PERCENT([%output foo.c],     [foo.c foo.h foo.output])  AT_CLEANUP($4)
 # AT_CHECK_BISON_PERCENT([%output foo.tab.c], [foo.output foo.tab.c foo.tab.h])  
 AT_CHECK_BISON_PERCENT([%yacc],             [y.output y.tab.c y.tab.h])  
 # AT_CHECK_BISON_PERCENT([%file_prefix bar],  [bar.output bar.tab.c bar.tab.h])  
   
 # AT_CHECK_BISON_PERCENT_FLAGS(GRAMMAR_OPTIONS, FLAGS, EXPECTED-FILES-SORTED)  
 # ---------------------------------------------------------------------------  
 m4_define([AT_CHECK_BISON_PERCENT_FLAGS],  
 [AT_SETUP([Output files: $1.])  
 AT_DATA([foo.yy],  
 [[$1  
 %defines  
 %verbose  
 %%  
 foo: {}  
 ]])  
 rm -rf $3  
 AT_CHECK([bison foo.yy $2], 0, ignore, ignore)  
 AT_CHECK([ls $3 | sort | tr '\n' ' ' | sed 's/.$//g'], 0, [$3])  
 rm -f $3  
 AT_CLEANUP  
35  ])  ])
36    
37    AT_CHECK_OUTPUT([foo.y], [], [-dv],
38                    [foo.output foo.tab.c foo.tab.h])
39    AT_CHECK_OUTPUT([foo.y], [], [-dv -o foo.c],
40                    [foo.c foo.h foo.output])
41    AT_CHECK_OUTPUT([foo.y], [], [-dv -o foo.tab.c],
42                    [foo.output foo.tab.c foo.tab.h])
43    AT_CHECK_OUTPUT([foo.y], [], [-dv -y],
44                    [y.output y.tab.c y.tab.h])
45    AT_CHECK_OUTPUT([foo.y], [], [-dv -b bar],
46                    [bar.output bar.tab.c bar.tab.h])
47    AT_CHECK_OUTPUT([foo.y], [], [-dv -g -o foo.c],
48                    [foo.c foo.h foo.output foo.vcg])
49    
50    
51    AT_CHECK_OUTPUT([foo.y], [%defines %verbose],      [],
52                    [foo.output foo.tab.c foo.tab.h])
53    AT_CHECK_OUTPUT([foo.y], [%defines %verbose %yacc],[],
54                    [y.output y.tab.c y.tab.h])
55    
56    
57  # Check priorities of extension control.  # Check priorities of extension control.
58  AT_CHECK_BISON_PERCENT_FLAGS(  AT_CHECK_OUTPUT([foo.yy], [%defines %verbose], [],
59  [],                  [foo.output foo.tab.cc foo.tab.hh])
60  [],  
61  [foo.output foo.tab.cc foo.tab.hh])  AT_CHECK_OUTPUT([foo.yy], [%defines %verbose ], [-o foo.c],
62  AT_CHECK_BISON_PERCENT_FLAGS(                  [foo.c foo.h foo.output])
63  [],  
64  [-o foo.c],  AT_CHECK_OUTPUT([foo.yy],
65  [foo.c foo.h foo.output])                  [%defines %verbose %source_extension ".cpp" %header_extension ".hhh"],
66  AT_CHECK_BISON_PERCENT_FLAGS(                  [],
67  [%source_extension ".cpp"] [%header_extension ".hhh"],                  [foo.output foo.tab.cpp foo.tab.hhh])
68  [],  
69  [foo.output foo.tab.cpp foo.tab.hhh])  AT_CHECK_OUTPUT([foo.yy],
70  AT_CHECK_BISON_PERCENT_FLAGS(                  [%defines %verbose %source_extension ".cc" %header_extension ".hh"],
71  [%source_extension ".cc"] [%header_extension ".hh"],                  [-o foo.c],
72  [-o foo.c],                  [foo.c foo.h foo.output])
 [foo.c foo.h foo.output])  

Legend:
Removed from v.1.1.2.1  
changed lines
  Added in v.1.1.2.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26