Skip to content

fix: parsing preprocessor in dotted statement - #63

Merged
hkimura-intersys merged 3 commits into
intersystems:mainfrom
hkimura-intersys:v1.10.3-updates
Oct 22, 2026
Merged

hkimura-intersys merged 3 commits into
intersystems:mainfrom
hkimura-intersys:v1.10.3-updates

Conversation

@hkimura-intersys

Copy link
Copy Markdown
Member

This PR fixes parsing Preprocessor directives inside dotted DO blocks

Before, an argumentless DO whose dotted block started with (or contained between
dotted lines) an #if / #else / #endif failed to parse:

 I $$$hi d
#if 0  
 . n d
#else   
 . N d,zr
#endif  

I fixed this by adding _dotted_block_pound_if

Scanner changes

  • In special #if mode, #endif was only recognised as TAG_END_IF when
    valid_symbols[TAG] was set. It is now also recognised when
    valid_symbols[TAG_END_IF] is set. This covers an #endif directly after a
    post-conditional argumentless DO (D:cond) whose nested .. block
    follows the #endif

Workflow CI Changes

  • tree-sitter/parser-test-action upgraded from @v2 to @v3

@hkimura-intersys hkimura-intersys self-assigned this Oct 22, 2026
@hkimura-intersys
hkimura-intersys merged commit 25cf0f6 into intersystems:main Oct 22, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant