A "metacircular" PEG parser generator