--- parser3/src/main/compile.C 2001/02/21 17:36:58 1.10 +++ parser3/src/main/compile.C 2001/02/23 22:22:08 1.17 @@ -1,5 +1,5 @@ /* - $Id: compile.C,v 1.10 2001/02/21 17:36:58 paf Exp $ + $Id: compile.C,v 1.17 2001/02/23 22:22:08 paf Exp $ */ #include "pa_request.h" @@ -20,7 +20,7 @@ Array& Request::real_compile(COMPILE_PAR // input pc.pool=&pool(); - pc.methods=new(pool()) Array(pool()); + pc.methods=NEW Array(pool()); if(!source) return *pc.methods; @@ -31,21 +31,21 @@ Array& Request::real_compile(COMPILE_PAR #endif // initialise state pc.pending_state=0; - String string(pool()); pc.string=&string; + pc.string=NEW String(pool()); pc.ls=LS_USER; pc.sp=0; - // parse! + // parse=compile! yydebug=1; if(yyparse(&pc)) { // error? - if(pc.col==1) { - // step back from last char. -1 col means EOL + if(pc.col==0) { // expecting something after EOL means they've expected it BEFORE + // step back. -1 col means EOL pc.line--; pc.col=-1; - } - exception().raise(0,0, + } + THROW(0,0, 0, - "%s [%s:%d:%d]", pc.error, file, 1+pc.line, pc.col); + "%s(%d:%d): %s", file, 1+pc.line, pc.col, pc.error); } // result