declaration = r'''testparser := (a,b)*
a := 'a'
b := 'b'
'''
testdata = 'aba'
expectedResult = (1, [('a',0,1,[]), ('b',1,2,[])], 2 )

from simpleparse.simpleparsegrammar import Parser
from simpleparse.stt.TextTools import TextTools
import pprint


parser = Parser( declaration ).generator.buildParser('testparser' )
result = TextTools.tag( testdata, parser )
if result != expectedResult:
	print 'backup-on-subtable-test failed'
	print '\texpected', pprint.pprint( expectedResult )
	print '\tgot', pprint.pprint( result )



syntax highlighted by Code2HTML, v. 0.9.1