Take a look at
juerd's node
Parsing EBNF with Perl 5 to eventually parse XML with Perl 6. The node and discussion are from A While Back; but it may help clarify your thinking, or at least, give you an inkling of what you are letting yourself in for.
Update -- fixed link. Thanks toolic for the catch!
----
I Go Back to Sleep, Now.
OGB