Cluster detail
parser_lexer.rq
Ideas defined in reqlan rq/language/parser_lexer.rq.
file
3 ideas
1 files
| Idea | File | Status | Summary |
|---|---|---|---|
| lexer_bridge_to_syntax | reqlan rq/language/parser_lexer.rq | The context-sensitive token builder is what makes [block_idea] and prose braces coexist: structural `{` / `}` are only those that open or close ideas, while [nested_curly_braces] stay body text. [context_sensitive_lexer_scaling] is the performance contract for that bridge; [code_snippets] is the opacity contract so fence interiors never feed the brace timeline. | |
| parse_budget_timeout | reqlan rq/language/parser_lexer.rq | done | Lexing, parsing, or a parse subprocess for a single `.rq` file must finish within a wall-clock budget. If it cannot, do not hang the language server or block the rest of the workspace. Surface both a warning ( budget exceeded; semantic features may be incomplete ) and an error ( file left unloaded ) on that document, then continue with other files. Happy path stays in-process ( sync ) for typical file sizes so edits and workspace load stay fast. Killable worker enforcement is used when the input is large, a file previously hit the budget ( sticky escalate ), or a caller forces the worker path; sync throws still become the same incomplete result shape. |
| recovery_vs_budget | reqlan rq/language/parser_lexer.rq | [no_name_idea_safe_warning] and [import_error_recovery] keep a * finished * parse usable after local mistakes. They do not help when lex / parse never returns — that failure mode is [parse_budget_timeout]. Workspace load still isolates per-document throws so one bad file cannot abort LSP init; the budget turns non-termination into the same “ leave this file unloaded ” outcome, with diagnostics. |
Initialising graph…