Sure works.Regex'((XXX Logical Channel) ([0-9])) on (((Upstream)|(Downstream)) ([0-9])) on ((chassis) ([0-9])), ((slot) ([0-9])), ((mac) ([0-9]))' asRegexBut in PP, things were more comple and there were a lot of them, so:line^ temperatureStatusDescrEntry token asParser/ temperatureStatusValueEntry token asParser/ temperatureThresholdEntry token asParser/ temperatureLastShutdownEntry token asParser/ temperatureStateEntry token asParserand things liketemperatureStatusDescrEntry ^ temperatureStatusDescrOidPrefix, oidIndex, space, equals, space, stringType, space, displayStringValue.made my day much easier.Especially when I had all the tokens I needed:gauge32Type ^'Gauge32:' asParser flatten ==> [:str | #gauge32].Not sure it would have been as flexible with a SmaCC (I am not familiar with SmaCC but used Lex/Yacc|Bison in another life).