Lark is a parsing toolkit for Python, built with a focus on ergonomics, performance and modularity.
This report summarizes scanner evidence for lark-parser/lark, a Python project with 6,007 GitHub stars. SynthScan examined 24,933 lines of code across 124 source files, recording 376 pattern matches distributed across 15 syntactic categories. The legacy adjusted pattern signal is 17.9 (Elevated pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Can maintainers explain intent, assumptions, and trade-offs? 201 finding(s).
Are imports declared and package/API names verified? 128 finding(s).
Are wrappers, guards, and repeated structures necessary? 169 finding(s).
Which changes need focused human review? 376 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 376 distinct pattern matches across 15 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/parser_frontends.py | 2 | CODE | |
| LOW | lark/tree.py | 1 | CODE | |
| LOW | lark/tree.py | 4 | CODE | |
| LOW | lark/tree.py | 4 | CODE | |
| LOW | lark/tree.py | 9 | CODE | |
| LOW | lark/tree.py | 14 | CODE | |
| LOW | lark/visitors.py | 1 | CODE | |
| LOW | lark/lark.py | 7 | CODE | |
| LOW | lark/lark.py | 7 | CODE | |
| LOW | lark/lark.py | 7 | CODE | |
| LOW | lark/lark.py | 18 | CODE | |
| LOW | lark/lark.py | 20 | CODE | |
| LOW | lark/lark.py | 12 | CODE | |
| LOW | lark/lark.py | 13 | CODE | |
| LOW | lark/lark.py | 14 | CODE | |
| LOW | lark/lark.py | 15 | CODE | |
| LOW | lark/lark.py | 16 | CODE | |
| LOW | lark/lark.py | 16 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 1 | CODE | |
| LOW | lark/__init__.py | 11 | CODE | |
| LOW | lark/__init__.py | 12 | CODE | |
| LOW | lark/__init__.py | 13 | CODE | |
| LOW | lark/__init__.py | 14 | CODE | |
| LOW | lark/__init__.py | 14 | CODE | |
| LOW | lark/__init__.py | 15 | CODE | |
| LOW | lark/__init__.py | 15 | CODE | |
| LOW | lark/__init__.py | 16 | CODE | |
| LOW | lark/__init__.py | 16 | CODE | |
| LOW | lark/__init__.py | 16 | CODE | |
| LOW | lark/__init__.py | 16 | CODE | |
| LOW | lark/__init__.py | 16 | CODE | |
| LOW | lark/common.py | 7 | CODE | |
| LOW | lark/common.py | 8 | CODE | |
| LOW | lark/common.py | 9 | CODE | |
| LOW | lark/common.py | 10 | CODE | |
| LOW | lark/common.py | 10 | CODE | |
| LOW | lark/common.py | 11 | CODE | |
| LOW | lark/common.py | 13 | CODE | |
| LOW | lark/common.py | 15 | CODE | |
| LOW | lark/lexer.py | 16 | CODE | |
| LOW | lark/lexer.py | 17 | CODE | |
| LOW | lark/exceptions.py | 2 | CODE | |
| LOW | lark/exceptions.py | 2 | CODE | |
| LOW | lark/exceptions.py | 6 | CODE | |
| LOW | lark/exceptions.py | 7 | CODE | |
| LOW | lark/parsers/xearley.py | 29 | CODE | |
| LOW | lark/parsers/xearley.py | 29 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 15 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 15 | CODE | |
| LOW | lark/parsers/earley.py | 25 | CODE | |
| LOW | lark/parsers/earley.py | 25 | CODE | |
| LOW | lark/tools/standalone.py | 27 | CODE | |
| LOW | lark/tools/standalone.py | 28 | CODE | |
| 66 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lark/parser_frontends.py | 209 | except UnexpectedInput: | CODE |
| HIGH | lark/parser_frontends.py | 215 | except ValueError: | CODE |
| HIGH | lark/tree.py | 12 | except ImportError: | CODE |
| HIGH | lark/load_grammar.py | 1001 | except ParseError: # Illegal | CODE |
| HIGH | lark/lark.py | 328 | except AttributeError: | CODE |
| HIGH | lark/lark.py | 382 | except FileNotFoundError: | CODE |
| HIGH | lark/lexer.py | 13 | except ImportError: | CODE |
| HIGH | lark/lexer.py | 756 | except EOFError: | CODE |
| HIGH | lark/parsers/earley_forest.py | 311 | except TypeError: | CODE |
| HIGH | lark/parsers/lalr_parser.py | 109 | except NameError: | CODE |
| HIGH | lark/parsers/lalr_interactive_parser.py | 114 | except UnexpectedToken: | CODE |
| HIGH | lark/tools/__init__.py | 65 | except OSError: | CODE |
| HIGH | docs/ide/app/core.py | 149 | except: | CODE |
| HIGH | examples/turtle_dsl.py | 10 | except NameError: | CODE |
| HIGH | examples/calc.py | 14 | except NameError: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/parser_frontends.py | 63 | def _deserialize_parsing_frontend(data, memo, lexer_conf, callbacks, options): | CODE |
| LOW | lark/parser_frontends.py | 311 | def create_earley_parser__dynamic(lexer_conf: LexerConf, parser_conf: ParserConf, **kw): | CODE |
| LOW | lark/parser_frontends.py | 321 | def create_earley_parser__basic(lexer_conf: LexerConf, parser_conf: ParserConf, **kw): | CODE |
| LOW | lark/parser_frontends.py | 369 | def _construct_parsing_frontend( | CODE |
| LOW | lark/load_grammar.py | 961 | def _translate_parser_exception(parse, e): | CODE |
| LOW | lark/load_grammar.py | 994 | def _search_interactive_parser(interactive_parser, predicate): | CODE |
| LOW | lark/parse_tree_builder.py | 162 | def maybe_create_child_filter(expansion, keep_all_tokens, ambiguous, _empty_indices: List[bool]): | CODE |
| LOW | lark/parse_tree_builder.py | 223 | def maybe_create_ambiguous_expander(tree_class, expansion, keep_all_tokens): | CODE |
| LOW | lark/parsers/earley_forest.py | 401 | def transform_intermediate_node(self, node, data): | CODE |
| LOW | lark/parsers/earley_forest.py | 438 | def visit_intermediate_node_out(self, node): | CODE |
| LOW | lark/parsers/earley_forest.py | 582 | def transform_intermediate_node(self, node, data): | CODE |
| LOW | lark/parsers/lalr_analysis.py | 229 | def compute_includes_lookback(self): | CODE |
| LOW | lark/tools/nearley.py | 144 | def create_code_for_nearley_grammar(g, start, builtin_path, folder_path, es6=False): | STRING |
| LOW | tests/test_parser.py | 368 | def test_backwards_custom_lexer(self): | CODE |
| LOW | tests/test_parser.py | 888 | def test_multiple_start_solutions(self): | CODE |
| LOW | tests/test_parser.py | 2746 | def test_interactive_treeless_transformer(self): | CODE |
| LOW⚡ | tests/test_parser.py | 2009 | def test_relative_import_unicode(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2015 | def test_relative_import_rename(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2021 | def test_relative_rule_import(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2030 | def test_relative_rule_import_drop_ignore(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2038 | def test_relative_rule_import_subrule(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2090 | def test_relative_multi_import(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2095 | def test_relative_import_preserves_leading_underscore(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2100 | def test_relative_import_of_nested_grammar(self): | STRING |
| LOW⚡ | tests/test_parser.py | 2105 | def test_relative_import_rules_dependencies_imported_only_once(self): | STRING |
| LOW | tests/test_parser.py | 149 | def test_comment_in_rule_definition(self): | STRING |
| LOW | tests/test_parser.py | 263 | def test_embedded_transformer(self): | STRING |
| LOW | tests/test_parser.py | 319 | def test_embedded_transformer_inplace(self): | STRING |
| LOW | tests/test_parser.py | 493 | def test_earley_repeating_empty(self): | STRING |
| LOW | tests/test_parser.py | 509 | def test_earley_explicit_ambiguity(self): | STRING |
| LOW | tests/test_parser.py | 562 | def test_ambiguous_inlined_rule(self): | STRING |
| LOW | tests/test_parser.py | 583 | def test_ambiguous_intermediate_node(self): | STRING |
| LOW | tests/test_parser.py | 600 | def test_ambiguous_symbol_and_intermediate_nodes(self): | STRING |
| LOW | tests/test_parser.py | 635 | def test_nested_ambiguous_intermediate_nodes(self): | STRING |
| LOW | tests/test_parser.py | 748 | def test_ambiguous_intermediate_node_unnamed_token(self): | STRING |
| LOW | tests/test_parser.py | 764 | def test_ambiguous_intermediate_node_inlined_rule(self): | STRING |
| LOW | tests/test_parser.py | 781 | def test_ambiguous_intermediate_node_conditionally_inlined_rule(self): | STRING |
| LOW | tests/test_parser.py | 909 | def test_ignore_carryover_with_priority(self): | STRING |
| LOW | tests/test_parser.py | 1004 | def test_cycles_with_child_filter(self): | STRING |
| LOW | tests/test_parser.py | 1034 | def test_symbol_node_start_end_dynamic_lexer(self): | STRING |
| LOW | tests/test_parser.py | 1054 | def test_resolve_ambiguity_with_shared_node(self): | STRING |
| LOW | tests/test_parser.py | 1299 | def test_unicode_literal_range_escape(self): | STRING |
| LOW | tests/test_parser.py | 1312 | def test_hex_literal_range_escape(self): | STRING |
| LOW | tests/test_parser.py | 1760 | def test_token_flags_collision(self): | STRING |
| LOW | tests/test_parser.py | 1801 | def test_token_flags_verbose_multiline(self): | STRING |
| LOW | tests/test_parser.py | 1867 | def test_lexer_prioritization(self): | STRING |
| LOW | tests/test_parser.py | 1919 | def test_dynamic_lexer_prioritization(self): | STRING |
| LOW | tests/test_parser.py | 2052 | def test_relative_rule_import_subrule_no_conflict(self): | STRING |
| LOW | tests/test_parser.py | 2067 | def test_relative_rule_import_rename(self): | STRING |
| LOW | tests/test_parser.py | 2386 | def test_priority_vs_embedded(self): | STRING |
| LOW | tests/test_parser.py | 2533 | def test_serialize_with_transformer(self): | STRING |
| LOW | tests/test_parser.py | 2555 | def test_lexer_detect_newline_tokens(self): | STRING |
| LOW | tests/test_parser.py | 2622 | def test_regex_width_fallback(self): | STRING |
| LOW | tests/test_parser.py | 2638 | def test_parser_interactive_parser(self): | STRING |
| LOW | tests/test_parser.py | 2675 | def test_interactive_parser_copy_resume(self): | STRING |
| LOW | tests/test_parser.py | 2695 | def test_error_with_interactive_parser(self): | STRING |
| LOW | tests/test_parser.py | 2730 | def test_on_error_without_lalr(self): | STRING |
| LOW | tests/test_parser.py | 2768 | def test_default_in_treeless_mode(self): | STRING |
| LOW | tests/test_parser.py | 2858 | def test_parse_textslice_fails(self): | STRING |
| LOW | tests/test_lexer.py | 22 | def test_flag_order_is_deterministic(self): | STRING |
| 62 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/test_parser.py | 0 | sentence: noun verb noun -> simple | noun verb "like" noun -> comparative noun: adj? noun verb: verb adj: adj noun: "fli | STRING |
| HIGH | examples/fruitflies.py | 0 | sentence: noun verb noun -> simple | noun verb "like" noun -> comparative noun: adj? noun verb: verb adj: adj noun: "fli | STRING |
| HIGH | examples/advanced/tree_forest_transformer.py | 0 | sentence: noun verb noun -> simple | noun verb "like" noun -> comparative noun: adj? noun verb: verb adj: adj noun: "fli | STRING |
| HIGH | tests/test_reconstructor.py | 0 | { "empty_object" : {}, "empty_array" : [], "booleans" : { "yes" : true, "no" : false }, "numbers" : [ 0, 1, -2, 3.3, 4.4 | STRING |
| HIGH | examples/json_parser.py | 0 | { "empty_object" : {}, "empty_array" : [], "booleans" : { "yes" : true, "no" : false }, "numbers" : [ 0, 1, -2, 3.3, 4.4 | STRING |
| HIGH | examples/advanced/reconstruct_json.py | 0 | { "empty_object" : {}, "empty_array" : [], "booleans" : { "yes" : true, "no" : false }, "numbers" : [ 0, 1, -2, 3.3, 4.4 | STRING |
| HIGH | tests/test_reconstructor.py | 0 | ?value: dict | list | string | signed_number -> number | "true" -> true | "false" -> false | "null" -> null list : "[" [ | STRING |
| HIGH | docs/ide/app/examples.py | 0 | ?value: dict | list | string | signed_number -> number | "true" -> true | "false" -> false | "null" -> null list : "[" [ | STRING |
| HIGH | examples/json_parser.py | 0 | ?value: dict | list | string | signed_number -> number | "true" -> true | "false" -> false | "null" -> null list : "[" [ | STRING |
| HIGH | examples/advanced/_json_parser.py | 0 | ?value: dict | list | string | signed_number -> number | "true" -> true | "false" -> false | "null" -> null list : "[" [ | STRING |
| HIGH | docs/json_tutorial.md | 0 | ?value: dict | list | string | signed_number -> number | "true" -> true | "false" -> false | "null" -> null list : "[" [ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/parser_frontends.py | 33 | CODE | |
| LOW | lark/parser_frontends.py | 173 | CODE | |
| LOW | lark/load_grammar.py | 540 | CODE | |
| LOW | lark/load_grammar.py | 872 | CODE | |
| LOW | lark/load_grammar.py | 1394 | CODE | |
| LOW | lark/load_grammar.py | 346 | CODE | |
| LOW | lark/load_grammar.py | 451 | CODE | |
| LOW | lark/load_grammar.py | 692 | CODE | |
| LOW | lark/load_grammar.py | 1162 | CODE | |
| LOW | lark/load_grammar.py | 1242 | CODE | |
| LOW | lark/load_grammar.py | 1311 | CODE | |
| LOW | lark/load_grammar.py | 1347 | CODE | |
| LOW | lark/lark.py | 298 | CODE | |
| LOW | lark/utils.py | 350 | CODE | |
| LOW | lark/lexer.py | 372 | CODE | |
| LOW | lark/lexer.py | 677 | CODE | |
| LOW | lark/exceptions.py | 75 | CODE | |
| LOW | lark/reconstruct.py | 33 | CODE | |
| LOW | lark/parse_tree_builder.py | 71 | CODE | |
| LOW | lark/parse_tree_builder.py | 275 | CODE | |
| LOW | lark/parse_tree_builder.py | 358 | CODE | |
| LOW | lark/parse_tree_builder.py | 279 | CODE | |
| LOW | lark/parsers/earley_forest.py | 274 | CODE | |
| LOW | lark/parsers/lalr_parser.py | 40 | CODE | |
| LOW | lark/parsers/cyk.py | 133 | CODE | |
| LOW | lark/parsers/xearley.py | 40 | CODE | |
| LOW | lark/parsers/xearley.py | 42 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 166 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 194 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 229 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 267 | CODE | |
| LOW | lark/parsers/lalr_analysis.py | 171 | CODE | |
| LOW | lark/parsers/grammar_analysis.py | 78 | CODE | |
| LOW | lark/parsers/earley.py | 78 | CODE | |
| LOW | lark/tools/standalone.py | 75 | CODE | |
| LOW | lark/tools/nearley.py | 113 | CODE | |
| LOW | docs/ide/app/core.py | 2827 | CODE | |
| LOW | docs/ide/app/core.py | 3014 | CODE | |
| LOW | docs/ide/app/core.py | 657 | CODE | |
| LOW | docs/ide/app/core.py | 814 | CODE | |
| LOW | docs/ide/app/core.py | 834 | CODE | |
| LOW | docs/ide/app/core.py | 2513 | CODE | |
| LOW | docs/ide/app/core.py | 3059 | CODE | |
| LOW | docs/ide/app/ignite.py | 158 | CODE | |
| LOW | docs/ide/app/ext.py | 339 | CODE | |
| LOW | examples/turtle_dsl.py | 38 | CODE | |
| LOW | examples/advanced/reconstruct_python.py | 28 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lark/load_grammar.py | 698 | # =================== | COMMENT |
| MEDIUM | lark/load_grammar.py | 700 | # =================== | COMMENT |
| MEDIUM | lark/load_grammar.py | 717 | # ================= | COMMENT |
| MEDIUM | lark/load_grammar.py | 719 | # ================= | COMMENT |
| MEDIUM | lark/tools/standalone.py | 5 | # ---------------------------------- | COMMENT |
| MEDIUM | lark/__pyinstaller/hook-lark.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | lark/__pyinstaller/hook-lark.py | 10 | #----------------------------------------------------------------------------- | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | lark/parsers/earley_forest.py | 1 | """"This module implements an SPPF implementation | STRING |
| MEDIUM | lark/parsers/lalr_parser.py | 1 | """This module implements a LALR(1) Parser | STRING |
| MEDIUM | lark/parsers/earley_common.py | 1 | """This module implements useful building blocks for the Earley parser | STRING |
| MEDIUM | lark/parsers/cyk.py | 1 | """This module implements a CYK parser.""" | STRING |
| MEDIUM | lark/parsers/xearley.py | 1 | """This module implements an Earley parser with a dynamic lexer | STRING |
| MEDIUM | lark/parsers/lalr_interactive_parser.py | 1 | # This module provides a LALR interactive parser, which is used for debugging and error handling | COMMENT |
| MEDIUM | lark/parsers/earley.py | 1 | """This module implements an Earley parser. | STRING |
| MEDIUM | docs/conf.py | 7 | # This file is execfile()d with the current directory set to its | COMMENT |
| MEDIUM | examples/json_parser.py | 52 | ### Create the JSON parser with Lark, using the Earley algorithm | STRING |
| MEDIUM | examples/json_parser.py | 57 | ### Create the JSON parser with Lark, using the LALR algorithm | STRING |
| MEDIUM | examples/advanced/_json_parser.py | 52 | ### Create the JSON parser with Lark, using the LALR algorithm | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | .pre-commit-config.yaml | 1 | # To use: | COMMENT |
| LOW | lark/parsers/earley_common.py | 41 | # class TransitiveItem(Item): | COMMENT |
| LOW | lark/parsers/cyk.py | 161 | r1_tree = trees[span1][r1.lhs] | COMMENT |
| LOW | lark/parsers/grammar_analysis.py | 81 | Adapted from: http://lara.epfl.ch/w/cc09:algorithm_for_first_and_follow_sets""" | COMMENT |
| LOW | lark/tools/standalone.py | 1 | ###{standalone | COMMENT |
| LOW | lark/__pyinstaller/hook-lark.py | 1 | #----------------------------------------------------------------------------- | COMMENT |
| LOW | docs/conf.py | 1 | #!/usr/bin/env python3 | COMMENT |
| LOW | docs/conf.py | 61 | project = 'Lark' | COMMENT |
| LOW | docs/conf.py | 101 | # further. For a list of options available for each theme, see the | COMMENT |
| LOW | examples/fruitflies.py | 41 | # make_png(sys.argv[1]) | COMMENT |
| LOW | examples/advanced/prioritizer.py | 61 | COMMENT | |
| LOW | examples/relative-imports/multiples.py | 1 | # | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | lark/utils.py | 166 | A view of a string or bytes object, between the start and end indices. Never creates a copy. Lark accepts inst | STRING |
| HIGH | lark/tree_matcher.py | 162 | Match the elements of `tree` to the symbols of rule `rulename`. Parameters: tree (Tree): the tree n | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/visitors.py | 127 | except Exception as e: | CODE |
| LOW | lark/visitors.py | 140 | except Exception as e: | CODE |
| LOW | lark/lark.py | 359 | except Exception: | STRING |
| LOW | lark/lark.py | 385 | except Exception: # We should probably narrow done which errors we catch here. | STRING |
| LOW | lark/parsers/lalr_parser.py | 112 | except Exception as e: | CODE |
| MEDIUM | lark/parsers/lalr_parser.py | 40 | def parse(self, lexer, start, on_error=None): | CODE |
| LOW⚡ | tests/test_parser.py | 1169 | except Exception as e: | STRING |
| LOW⚡ | tests/test_parser.py | 1172 | except Exception as be: | STRING |
| LOW⚡ | tests/test_parser.py | 1178 | except Exception as be: | STRING |
| LOW | docs/ide/app/app.py | 69 | except Exception as e: | STRING |
| LOW | examples/turtle_dsl.py | 76 | except Exception as e: | STRING |
| LOW | examples/advanced/qscintilla_json.py | 109 | except Exception as e: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/parser_frontends.py | 151 | # Would break behavior of exhaust_lexer(), which currently raises TypeError, and after the change would just r | COMMENT |
| LOW | examples/turtle_dsl.py | 40 | turtle.color(*t.children) # We just pass the color names as-is | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/json_tutorial.md | 290 | ### Step 1 - Benchmark | STRING |
| LOW | docs/json_tutorial.md | 365 | ### Step 2 - LALR(1) | STRING |
| LOW | docs/json_tutorial.md | 384 | ### Step 3 - Tree-less LALR(1) | STRING |
| LOW | docs/json_tutorial.md | 410 | ### Step 4 - PyPy | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | lark/parsers/cyk.py | 103 | # Check if the parse succeeded. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/test_parser.py | 35 | __all__ = ['TestParsers'] | CODE |
| LOW | tests/test_tree_templates.py | 29 | __all__ = [ | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/ide/app/ext.py | 51 | self["placeholder"] = placeholder | CODE |
| LOW | docs/ide/app/ext.py | 182 | "placeholder": placeholder | STRING |