# Token names. lex token number /[0-9]+/ token id /[a-z]+/ token string /'"' [^"]* '"'/ ignore ws / [ \t\n]+ / end def prefix [id] def choice1 [number number] | [number] def choice2 [string id] | [number number] | [id number] | [number] def start [prefix choice1 choice2 string id id] I: parser = new parser() send I " id " send I " 77 " send I " 88 " send I " \"hello\" " send I " dude " send I " dude\n" S: start = I->finish() S = match S ~id 77 88 "hello" dude dude print( xml(S) ) print( '\n' ) ##### EXP ##### id7788"hello"dudedude