summaryrefslogtreecommitdiff
path: root/doc/todo
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-05-21 06:07:49 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-05-21 06:07:49 +0000
commit14628e4c88c0c42f445f05d9d521eb8f860167c1 (patch)
treec693aa165c49ecfc8a0b874cfb66dc5356b1fff2 /doc/todo
parentee843c7523c9b0f615ee467e26e7ff4b35514c78 (diff)
web commit by JoshTriplett: I think parsing nested square brackets solves the problem.
Diffstat (limited to 'doc/todo')
-rw-r--r--doc/todo/nested_preprocessor_directives.mdwn12
1 files changed, 12 insertions, 0 deletions
diff --git a/doc/todo/nested_preprocessor_directives.mdwn b/doc/todo/nested_preprocessor_directives.mdwn
index c11e38970..7e7ef3a49 100644
--- a/doc/todo/nested_preprocessor_directives.mdwn
+++ b/doc/todo/nested_preprocessor_directives.mdwn
@@ -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]]