Lalu tambahkan method getLineNum():
%byaccj
%line
%column
%{
private Parser yyparser;
public Yylex (java.io.Reader r, Parser yyparser) {
this (r);
this.yyparser = yyparser;
}
int getLineNum () {
return (yyline+1);
}
int getColNum () {
return (yycolumn+1);
}
%}
Untuk mengambil informasi posisi baris di berkas yang sedang diurai (di-parsing), tambahkan informasi seperlunya di spesifikasi BYacc/J:
private Yylex lexer;
public void yyerror (String strError) {
System.err.println ("Error at line: " + lexer.getLineNum() + ": " + strError);
}
No comments:
Post a Comment