Skip to content

Singlestatement Comments#7

Open
AsherGlick wants to merge 2 commits intoBelfrySCAD:mainfrom
AsherGlick:singlestatement-comments
Open

Singlestatement Comments#7
AsherGlick wants to merge 2 commits intoBelfrySCAD:mainfrom
AsherGlick:singlestatement-comments

Conversation

@AsherGlick
Copy link
Copy Markdown
Contributor

@AsherGlick AsherGlick commented May 9, 2026

I was running into an issue where putting a comment after a single statement, a statement without brackets, would cause the parser to fail to parse. For example:

rotate([0,0,90]) // Rotate the part 90 degrees
    cube([10,20,30]);

However the comment worked just fine when braces were used to turn it into a code block

rotate([0,0,90]) { // Rotate the part 90 degrees
    cube([10,20,30]);
}

This PR has 2 commits, the first one creates a number of new tests surrounding comments, including one larger test that dynamically inserts comments into various places in a specific piece of openscad code to test how parsing works in different locations.

The second commit attempts to address the problem mentioned above by allowing comments to be parsed after a modular call before the child statement.

This testing also identified several other places where comments do not parse correctly in, however I did not dig deeper into those cases and excluded them from the tests instead. This way whomever picks up the mantle of fixing the issues, myself or someone else, will have pre-written test cases for them to use.

I also included a simple optional validation of the arpeggio parse tree so that we can be more confident in the differences between parser and parser_comments.

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