|
|
| version 1.74, 2004/02/27 13:38:37 | version 1.76, 2005/07/25 08:53:12 |
|---|---|
| Line 10 static const char * const IDENT_COMPILE_ | Line 10 static const char * const IDENT_COMPILE_ |
| #include "pa_opcode.h" | #include "pa_opcode.h" |
| #include "pa_request.h" | #include "pa_request.h" |
| #include "compile_tools.h" | #include "compile_tools.h" |
| #include "pa_vclass.h" | |
| extern int yydebug; | extern int yydebug; |
| extern int yyparse (void *); | extern int yyparse (void *); |
| Line 25 VStateless_class& Request::compile(VStat | Line 26 VStateless_class& Request::compile(VStat |
| //yydebug=1; | //yydebug=1; |
| if(yyparse(&pc)) { // error? | if(yyparse(&pc)) { // error? |
| pc.pos_prev_c(); | pc.pos_prev_c(); |
| if(pc.pos.col==0) // expecting something after EOL means they've expected it BEFORE | if(!pc.explicit_result) |
| pc.pos_prev_c(); | if(pc.pos.col==0) // expecting something after EOL means they've expected it BEFORE |
| pc.pos_prev_c(); | |
| throw Exception("parser.compile", | throw Exception("parser.compile", |
| 0, | 0, |
| "%s(%d:%d): %s", file_list[file_no].cstr(), 1+pc.pos.line, 1+pc.pos.col, pc.error); | "%s(%d:%d): %s", file_list[file_no].cstr(), 1+pc.pos.line, 1+pc.pos.col, pc.error); |
| } | } |
| // fill properties | |
| static_cast<VClass*>(pc.cclass)->fill_properties(); | |
| // result | // result |
| return *pc.cclass; | return *pc.cclass; |
| } | } |