}
}
@SuppressWarnings("unchecked")
private void reduce(int rule) {
LapgSymbol lapg_gg = new LapgSymbol();
lapg_gg.sym = (lapg_rlen[rule]!=0)?lapg_m[lapg_head+1-lapg_rlen[rule]].sym:null;
lapg_gg.lexem = lapg_rlex[rule];
lapg_gg.state = 0;
if( DEBUG_SYNTAX ) {
System.out.println( "reduce to " + lapg_syms[lapg_rlex[rule]] );
}
LapgSymbol startsym = (lapg_rlen[rule]!=0)?lapg_m[lapg_head+1-lapg_rlen[rule]]:lapg_n;
lapg_gg.line = startsym.line;
lapg_gg.offset = startsym.offset;
lapg_gg.endoffset = (lapg_rlen[rule]!=0)?lapg_m[lapg_head].endoffset:lapg_n.offset;
switch( rule ) {
case 5: // template_declaration_or_space ::= template_start instructions template_end