web commit by JoshTriplett: I think parsing nested square brackets solves the problem.
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Mon, 21 May 2007 06:07:49 +0000 (06:07 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Mon, 21 May 2007 06:07:49 +0000 (06:07 +0000)
doc/todo/nested_preprocessor_directives.mdwn

index c11e38970a997017588abb88493b3276b158d515..7e7ef3a49bec60ad1bd4c784d286f043dcfe5d40 100644 (file)
@@ -4,3 +4,15 @@ inside a triple-quoted value of a directive, but that's all.
 
 It's not possible to unambiguously parse nested quotes, so to support
 nesting, a new syntax would be needed. Maybe something xml-like?
+
+> You can, however, unambiguously parse nested square brackets, and I think
+> that would solve the problem, as long as you never allow the contents of a
+> directive to contain a *partial* directive, which seems reasonable to me.
+>
+> For example, I *think* you can unambiguously parse the following:
+>
+>     \[[if test="enabled(template) and templates/foo" then="""
+>     [[template id=foo content="""Flying Purple People Eater"""]]
+>     """]]
+>
+> --[[JoshTriplett]]