detect-incomplete-parsing
Identify ANTLR4 grammar rules that silently discard content (null_rest_of_line, broad negations) and get fixes to parse the full structure.
Instructions
Detect incomplete parsing patterns (anti-patterns that discard content).
When to use: When grammar parses configs but doesn't capture structure, or uses placeholder patterns.
Anti-patterns detected:
null_rest_of_line usage → Discards content instead of parsing it → Example: ss_ssl_tls_service_profile: ... null_rest_of_line → Problem: Loses protocol-settings, certificates, etc.
Overly broad negation patterns → Example: rule: ~[\r\n]+ (matches "anything until newline") → Better: Define specific tokens for expected content
Real-world impact:
ss_ssl_tls_service_profile used null_rest_of_line
Lost: protocol-settings min-version/max-version, certificate options
Result: Thousands of warnings about unparsed structure
Recommendations:
Replace null_rest_of_line with actual structure
Define specific lexer tokens instead of broad negations
Implement proper parser rules for complex structures
Returns: List of incomplete parsing patterns with suggestions.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from_file | No | Optional: path to a grammar file to read | |
| grammar_content | No | The ANTLR4 grammar file content |