I'm trying to write a scanner that accepts "num", "numb", "numbe", etc. as the same token. The only way I can think of that accomplishes this is: main := |* /num/i => number; /numb/i => number; /numbe/i => number; /number/i => number; *|; Is there a better way? Thanks, Jose.