1*16467b97STreehugger Robotgrammar t039labels; 2*16467b97STreehugger Robotoptions { 3*16467b97STreehugger Robot language = Python; 4*16467b97STreehugger Robot} 5*16467b97STreehugger Robot 6*16467b97STreehugger Robota returns [l] 7*16467b97STreehugger Robot : ids+=A ( ',' ids+=(A|B) )* C D w=. ids+=. F EOF 8*16467b97STreehugger Robot { l = ($ids, $w) } 9*16467b97STreehugger Robot ; 10*16467b97STreehugger Robot 11*16467b97STreehugger RobotA: 'a'..'z'; 12*16467b97STreehugger RobotB: '0'..'9'; 13*16467b97STreehugger RobotC: a='A' { print $a }; 14*16467b97STreehugger RobotD: a='FOOBAR' { print $a }; 15*16467b97STreehugger RobotE: 'GNU' a=. { print $a }; 16*16467b97STreehugger RobotF: 'BLARZ' a=EOF { print $a }; 17*16467b97STreehugger Robot 18*16467b97STreehugger RobotWS: ' '+ { $channel = HIDDEN }; 19