my $max = $ARGV[0] || 10;
print <<EOF;
+]AT_DATA_GRAMMAR_PROLOGUE[
%{
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
#define YYERROR_VERBOSE 1
#define YYDEBUG 1
print <<EOF;
%%
input:
- exp { assert (\@S|@1 == 0); \$\$ = \@S|@1; }
-| input exp { assert (\@S|@2 == \@S|@1 + 1); \$\$ = \@S|@2; }
+ exp { if (\@S|@1 != 0) abort (); \$\$ = \@S|@1; }
+| input exp { if (\@S|@2 != \@S|@1 + 1) abort (); \$\$ = \@S|@2; }
;
exp:
my $max = $ARGV[0] || 10;
print <<EOF;
+]AT_DATA_GRAMMAR_PROLOGUE[
%{
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
#define YYERROR_VERBOSE 1
#define YYDEBUG 1
%{
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
#define YYERROR_VERBOSE 1
#define YYDEBUG 1
print <<EOF;
%%
input:
- exp { assert (\@S|@1 == 1); \$\$ = \@S|@1; }
-| input exp { assert (\@S|@2 == \@S|@1 + 1); \$\$ = \@S|@2; }
+ exp { if (\@S|@1 != 1) abort (); \$\$ = \@S|@1; }
+| input exp { if (\@S|@2 != \@S|@1 + 1) abort (); \$\$ = \@S|@2; }
;
exp:
- n1 "1" { assert (\@S|@1 == 1); }
+ n1 "1" { if (\@S|@1 != 1) abort (); }
EOF
for my $count (2 .. $max)
{
- print "| n$count \"$count\" { assert (\@S|@1 == $count); }\n";
+ print "| n$count \"$count\" { if (\@S|@1 != $count) abort (); }\n";
};
print ";\n";
[[%{
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
]$1[
static int yylex (void);
static void yyerror (const char *msg);
int
main (int argc, const char **argv)
{
- assert (argc == 2);
+ if (argc != 2)
+ abort ();
yylval = atoi (argv[1]);
yydebug = 1;
return yyparse ();