parser TDF: token SECTIONTITLE: '[a-zA-Z]+\\] *\\{ *' token KEY: '[ a-zA-Z0-9]+=' token VALUE: '[A-Z \\.a-z0-9\\-]+' rule sectionTitler: ' *\\[' SECTIONTITLE {{ return ('SECTIONTITLE',SECTIONTITLE)}} rule section: sectionTitler {{ sectionl = [sectionTitler]}} ( KEY {{ keylist = [('KEY',KEY)] }} VALUE {{ keylist.append(('VALUE',VALUE)) }} ';' {{ sectionl.append(keylist) }} | section {{ sectionl.append(('SUBSECTION',section)) }} )* ' *\\}' {{ return sectionl }}