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]) |
|