Like with some programming languages Lojban grammar can be parsed using parsing expression grammars. Therefore, Perl cannot be parsed by a straight Lex/Yacc lexer/parser combination. At step 6 in an example parse, only "A*2" has been parsed, incompletely. LL grammars can also be parsed by recursive descent parsers. The expression is syntactically parsed as whereas the expression is parsed as . Then the code can be parsed and interpreted by a machine. Complex UDC expressions can be accurately parsed into constituent elements. Some file types like standard email formats or contact files are also parsed and cataloged. The parameters can be parsed by analytics tools and used to populate reports. The remaining lines are parsed by the Perl interpreter but never actually executed. Similarly, simple YAML files (e.g. key-value pairs) are readily parsed with regular expressions. This structure allows the file to be parsed even if not all parts are understood. More powerful grammars that can express this constraint, however, cannot be parsed efficiently. Check constraints are parsed but ignored by all storage engines before MySQL version 8.0.15. CHECK clause is parsed, but not enforced in runtime.