Hi All, I'm very happy to report that after a couple hours of debugging I found out what was wrong with the UDO parsing/compiling with the new parser and the new parser is now able to parse/compile/run with UDO's! This was one of the biggest language features left which I had on my list. The following is my list of what is left to implement: Csound New Parser Implement Macro's Implement Polymorphic Opcodes Optimization Constant Folding Dead Code Elimination Inline Constant Irate Variables Research SSA Implement all Expression types Verify Rates for then statements Of these, macro's are probably the biggest thing to do next and then followed by finishing up the other types of polymorphic opcodes not yet implemented as well as the rest of the expression types. After those will come verification and error handling, then optimizations. I have attached a PDF version of a technical document I have been writing as I have been working on the parser. This doc is very basic and missing a lot of ideas that have been on my mind. I started to write it when I was getting stuck on the UDO parsing a while back and found it very helpful to write out the process as I was studying the code, figuring it might help to document more of Csound's internals. The UDO section is probably the most full, while other sections of the document are just notes for ideas which may or may not be worth exploring. If anyone is interested in understanding how UDO's work in term's of parsing and how they're used at runtime, this doc may help. Thanks all! steven (who is very glad to have gotten the UDO's parsing today!) ^___^