parsing nothing
This commit is contained in:
parent
9df5a919b7
commit
c4d90d28b9
|
@ -0,0 +1,4 @@
|
|||
examples/*.output.*
|
||||
src/*.yy.c
|
||||
src/*.tab.*
|
||||
bin
|
8
Rakefile
8
Rakefile
|
@ -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
|
||||
|
|
36
src/parser.y
36
src/parser.y
|
@ -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); }
|
||||
;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#include <stdio.h>
|
||||
#include "kstring.h"
|
||||
#include "y.tab.h"
|
||||
#include "y.tab.c"
|
||||
|
||||
int main() {
|
||||
const int max = 10000;
|
||||
|
|
Loading…
Reference in New Issue