parsing nothing

This commit is contained in:
Kyle Maxwell 2008-11-20 17:06:11 -08:00
parent 9df5a919b7
commit c4d90d28b9
4 changed files with 29 additions and 21 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
examples/*.output.*
src/*.yy.c
src/*.tab.*
bin

View File

@ -7,16 +7,16 @@ task :yelp do
end
task :clean do
rm Dir["examples/*.output.*"]
rm Dir["src/*.yy.c"]
rm Dir["src/*.tab.*"]
File.open(".gitignore").each do |line|
rm_rf Dir[line.strip]
end
end
task :parser => ["bin/parser", "bin/scanner"]
file "bin/parser" => ["src/scanner.yy.c", "src/y.tab.c", "src/parser_main.c"] do
mkdir_p "bin"
system "cd src && gcc -std=c99 -lfl -o ../bin/parser kstring.c y.tab.c parser_main.c"
system "cd src && gcc -std=c99 -lfl -o ../bin/parser kstring.c y.tab.c scanner.yy.c parser_main.c"
end
file "bin/scanner" => ["src/scanner.yy.c", "src/scanner_main.c"] do

View File

@ -1,28 +1,32 @@
%{
#define YYSTYPE char*
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "kstring.h"
int yylex (void);
void yyerror (char const *);
void prepare_parse(char*);
void cleanup_parse(void);
int yyparse(void);
void myparse(char*);
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "kstring.h"
#define YYSTYPE char *
int yylex (void);
void yyerror (char const *);
void prepare_parse(char*);
void cleanup_parse(void);
int yyparse(void);
void myparse(char*);
%}
%glr-parser
%token_table
%token OTHER
%%
main:
OTHER
| OTHER
| OTHER main { $$ = astrcat($1, $2); }
;

View File

@ -1,6 +1,6 @@
#include <stdio.h>
#include "kstring.h"
#include "y.tab.h"
#include "y.tab.c"
int main() {
const int max = 10000;