"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. The only thing I really missed from Smacc is a specialised to help me browse the huge python grammar. Scrolling around became very tedious .