"""Demonstrates what happens when your declaration is syntactically incorrect

When run as a script, will generate a traceback
telling you that the grammar defined here is
incorrectly formatted.
"""
from simpleparse.common import numbers, strings, comments

declaration = r'''# note use of raw string when embedding in python code...
file           :=  [ \t\n]*, section+
section        :=  '[',identifier,']' ts,'\n', body
body           :=  statement*
statement      :=  (ts,semicolon_comment)/equality/nullline
nullline       :=  ts,'\n'
comment        :=  -'\n'*
equality       :=  ts, identifier,ts,'=',ts,identified,ts,'\n'
identifier     :=  [a-zA-Z], [a-zA-Z0-9_]*
identified     :=  string/number/identifier
ts             :=  [ \t]*
'''

testdata = '''[test1]
	val=23
'''
if __name__ == "__main__":
	from simpleparse.parser import Parser
	parser = Parser( declaration, "file" ) # will raise ValueError



syntax highlighted by Code2HTML, v. 0.9.1