Use an input file
This commit is contained in:
parent
9d4e426b4f
commit
28ac6d8331
28
cyoa.leg
28
cyoa.leg
@ -5,6 +5,13 @@
|
|||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cassert>
|
#include <cassert>
|
||||||
|
|
||||||
|
FILE* yyin = stdin;
|
||||||
|
|
||||||
|
#define YY_INPUT(buf, result, max_size) { \
|
||||||
|
int yyc = getc(yyin); \
|
||||||
|
result = (EOF == yyc) ? 0 : (*(buf) = yyc, 1); \
|
||||||
|
}
|
||||||
|
|
||||||
#define STATCHECK_GT 1
|
#define STATCHECK_GT 1
|
||||||
#define STATCHECK_LT 2
|
#define STATCHECK_LT 2
|
||||||
|
|
||||||
@ -217,14 +224,21 @@ void print_page(Page *page) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
std::vector<Page*> CyoaParse(FILE *file) {
|
||||||
if (!yyparse()) {
|
yyin = file;
|
||||||
printf("Parsing Error!\n");
|
yyparse();
|
||||||
|
yyin = stdin;
|
||||||
|
return pages;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char **argv) {
|
||||||
|
if (argc < 2) {
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
}
|
||||||
for (Page* page : pages) {
|
FILE* fin = fopen(argv[1], "r");
|
||||||
print_page(page);
|
auto mypages = CyoaParse(fin);
|
||||||
}
|
for (Page* page : pages) {
|
||||||
|
print_page(page);
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user