Commit e320878
Two more grammar gaps from the v0.3.0 sample run
1. SubName accepts any BSL keyword as the sub name, not just Identifier.
'Процедура Выполнить()' is a real-world pattern — methods named after
keywords appear in configuration code. Same root cause as the
PropertyAccess/CallAccess keyword-after-dot fix, just in declaration
position; reusing the existing dotIdentifier rule covers it cleanly.
2. constValue accepts String+ (one or more adjacent strings) instead of
a single String. ANTLR's BSL grammar has 'string : (STRING |
multilineString)+' for the same reason: code routinely concatenates
string segments by juxtaposition — '"" "Выбрать" "Валюты.Код"' is
one logical literal made of three tokens.
Sample-set numbers move from 84%/88% to 88%/88% (lsl/vsc). Remaining 8
degraded files are: 4 source-level errors (intentional *ParseError*
test inputs or real typos like 'Неопределенно' / 'Функция Пример3'
without parens), 3 comma-skipping in argument lists (documented
Limitation), 1 multi-line string edge case with adjacent tabs and
'""escape""' patterns inside a string concatenation.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>1 parent 20a977b commit e320878
1 file changed
Lines changed: 12 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
100 | 105 | | |
101 | 106 | | |
102 | 107 | | |
| |||
310 | 315 | | |
311 | 316 | | |
312 | 317 | | |
313 | | - | |
| 318 | + | |
314 | 319 | | |
315 | 320 | | |
316 | 321 | | |
317 | 322 | | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
318 | 328 | | |
319 | 329 | | |
320 | 330 | | |
| |||
0 commit comments