summaryrefslogtreecommitdiff
path: root/www/users_guide/parserInstructions.rst
diff options
context:
space:
mode:
Diffstat (limited to 'www/users_guide/parserInstructions.rst')
-rw-r--r--www/users_guide/parserInstructions.rst129
1 files changed, 129 insertions, 0 deletions
diff --git a/www/users_guide/parserInstructions.rst b/www/users_guide/parserInstructions.rst
new file mode 100644
index 0000000..a85e70a
--- /dev/null
+++ b/www/users_guide/parserInstructions.rst
@@ -0,0 +1,129 @@
+Instructions to the Parser/Compiler
+===================================
+
+(parserInstructions)
+
+#breakpoint
+-----------
+
+(parserInstructions.breakpoint)
+
+Syntax:
+
+::
+
+ #breakpoint
+
+{#breakpoint} is a debugging tool that tells the parser to stop
+parsing at a specific point. All source code from that point on
+will be ignored.
+
+The difference between {#breakpoint} and {#stop} is that {#stop}
+occurs in normal templates (e.g., inside an {#if}) but
+{#breakpoint} is used only when debugging Cheetah. Another
+difference is that {#breakpoint} operates at compile time, while
+{#stop} is executed at run time while filling the template.
+
+#compiler-settings
+------------------
+
+(parserInstructions.compiler-settings)
+
+Syntax:
+
+::
+
+ #compiler-settings
+ key = value (no quotes)
+ #end compiler-settings
+
+ #compiler-settings reset
+
+The {#compiler-settings} directive overrides Cheetah's standard
+settings, changing how it parses source code and generates Python
+code. This makes it possible to change the behaviour of Cheetah's
+parser/compiler for a certain template, or within a portion of the
+template.
+
+The {reset} argument reverts to the default settings. With {reset},
+there's no end tag.
+
+Here are some examples of what you can do:
+
+::
+
+ $myVar
+ #compiler-settings
+ cheetahVarStartToken = @
+ #end compiler-settings
+ @myVar
+ #compiler-settings reset
+ $myVar
+
+::
+
+ ## normal comment
+ #compiler-settings
+ commentStartToken = //
+ #end compiler-settings
+
+ // new style of comment
+
+ #compiler-settings reset
+
+ ## back to normal comments
+
+::
+
+ #slurp
+ #compiler-settings
+ directiveStartToken = %
+ #end compiler-settings
+
+ %slurp
+ %compiler-settings reset
+
+ #slurp
+
+Here's a partial list of the settings you can change:
+
+
+#. syntax settings
+
+
+ #. cheetahVarStartToken
+
+ #. commentStartToken
+
+ #. multilineCommentStartToken
+
+ #. multilineCommentEndToken
+
+ #. directiveStartToken
+
+ #. directiveEndToken
+
+
+#. code generation settings
+
+
+ #. commentOffset
+
+ #. outputRowColComments
+
+ #. defDocStrMsg
+
+ #. useNameMapper
+
+ #. useAutocalling
+
+ #. reprShortStrConstants
+
+ #. reprNewlineThreshold
+
+
+
+The meaning of these settings and their default values will be
+documented in the future.
+
+