import("lib.nas"); var table=[ ['q0','0','1','R','q1'], ['q1','1','1','R','q1'], ['q1','0','0','S','q2'], ['q2','0','1','R','q3'], ['q3',nil,nil,'S','q3'] ]; var prt=func(state,pointer,paper,act=nil){ print(state,':',pointer,':',act!=nil?act:'','\n\t'); var s=''; foreach(var i;paper) s~=i; s~='\n\t'; for(var i=0;i'); state=action[4]; break; } prt(state,pointer,paper,action); } } run(table,{},'q0','q3');