"Because this two productions define a list of stmt (possibly empty) and
the AST generation code notices that, so it adds an s to statement and
prepare that instance variable to be an OrderedCollection."
yes but I find it a bit misleading because even when there is a single element it still going to create an OrderedCollection and still add "s" to the name of the variable.
By they way I have been successful into implementing , with your help, a parser that parses python lists into pharo ordered collections. Python tuples and dictionaries are next. Have not implemented nesting types but that is very close too.
Took me a lot of time to understand the syntax of SmaCC and moreover to be able to understand the grammar used for the PythonParser2. I decided not to change the grammar since it can do what I want as it is and augment any additional parsing with my own classes.
Now I understand the meaning of tests, PyAtomNode and more importantly PyPowerNode.
My overall experience with Smacc has been quite positive , the documentation is in a good state though I would like more practical examples especially on the matter of visitor. I love the Smacc syntax, its compact , readable and fairly easy to understand. I really like the design of the classes , make sense and are predictable.
A final question is how up to date in the configuration loaded with configuration browser.