132 |
# it gets killed too. Of course the parser is to be cleaned. |
# it gets killed too. Of course the parser is to be cleaned. |
133 |
AT_DATA_TRIANGULAR_GRAMMAR([input.y], [200]) |
AT_DATA_TRIANGULAR_GRAMMAR([input.y], [200]) |
134 |
AT_CHECK([bison input.y -v -o input.c]) |
AT_CHECK([bison input.y -v -o input.c]) |
135 |
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore]) |
AT_COMPILE([input]) |
136 |
AT_CHECK([./input]) |
AT_PARSER_CHECK([./input]) |
137 |
|
|
138 |
AT_CLEANUP |
AT_CLEANUP |
139 |
|
|
231 |
# |
# |
232 |
AT_DATA_HORIZONTAL_GRAMMAR([input.y], [1000]) |
AT_DATA_HORIZONTAL_GRAMMAR([input.y], [1000]) |
233 |
AT_CHECK([bison input.y -v -o input.c]) |
AT_CHECK([bison input.y -v -o input.c]) |
234 |
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore]) |
AT_COMPILE([input]) |
235 |
AT_CHECK([./input]) |
AT_PARSER_CHECK([./input]) |
236 |
|
|
237 |
AT_CLEANUP |
AT_CLEANUP |
238 |
|
|
350 |
|
|
351 |
AT_DATA_LOOKAHEADS_GRAMMAR([input.y], [1000]) |
AT_DATA_LOOKAHEADS_GRAMMAR([input.y], [1000]) |
352 |
AT_CHECK([bison input.y -v -o input.c]) |
AT_CHECK([bison input.y -v -o input.c]) |
353 |
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore]) |
AT_COMPILE([input]) |
354 |
AT_CHECK([./input]) |
AT_PARSER_CHECK([./input]) |
355 |
|
|
356 |
AT_CLEANUP |
AT_CLEANUP |
357 |
|
|
407 |
} |
} |
408 |
]]) |
]]) |
409 |
AT_CHECK([bison input.y -o input.c]) |
AT_CHECK([bison input.y -o input.c]) |
410 |
AT_CHECK([$CC $CFLAGS $CPPFLAGS input.c -o input], 0, [], [ignore]) |
AT_COMPILE([input]) |
411 |
]) |
]) |
412 |
|
|
413 |
|
|
420 |
AT_DATA_STACK_TORTURE |
AT_DATA_STACK_TORTURE |
421 |
|
|
422 |
# Below the limit of 200. |
# Below the limit of 200. |
423 |
AT_CHECK([./input 20], 0, [], [ignore]) |
AT_PARSER_CHECK([./input 20], 0, [], [ignore]) |
424 |
# Two enlargements: 2 * 2 * 200. |
# Two enlargements: 2 * 2 * 200. |
425 |
AT_CHECK([./input 900], 0, [], [ignore]) |
AT_PARSER_CHECK([./input 900], 0, [], [ignore]) |
426 |
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we |
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we |
427 |
# multiply by two starting at 200 => 5120 is the last possible). |
# multiply by two starting at 200 => 5120 is the last possible). |
428 |
AT_CHECK([./input 10000], 1, [], [ignore]) |
AT_PARSER_CHECK([./input 10000], 1, [], [ignore]) |
429 |
|
|
430 |
AT_CLEANUP |
AT_CLEANUP |
431 |
|
|
441 |
AT_DATA_STACK_TORTURE([[#define YYSTACK_USE_ALLOCA 0]]) |
AT_DATA_STACK_TORTURE([[#define YYSTACK_USE_ALLOCA 0]]) |
442 |
|
|
443 |
# Below the limit of 200. |
# Below the limit of 200. |
444 |
AT_CHECK([./input 20], 0, [], [ignore]) |
AT_PARSER_CHECK([./input 20], 0, [], [ignore]) |
445 |
# Two enlargements: 2 * 2 * 200. |
# Two enlargements: 2 * 2 * 200. |
446 |
AT_CHECK([./input 900], 0, [], [ignore]) |
AT_PARSER_CHECK([./input 900], 0, [], [ignore]) |
447 |
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we |
# Fails: beyond the limit of 10,000 (which we don't reach anyway since we |
448 |
# multiply by two starting at 200 => 5120 is the possible). |
# multiply by two starting at 200 => 5120 is the possible). |
449 |
AT_CHECK([./input 10000], 1, [], [ignore]) |
AT_PARSER_CHECK([./input 10000], 1, [], [ignore]) |
450 |
|
|
451 |
AT_CLEANUP |
AT_CLEANUP |