diff options
Diffstat (limited to 'html/056recipe_header.cc.html')
-rw-r--r-- | html/056recipe_header.cc.html | 48 |
1 files changed, 38 insertions, 10 deletions
diff --git a/html/056recipe_header.cc.html b/html/056recipe_header.cc.html index a1c6dd82..08cc8fdd 100644 --- a/html/056recipe_header.cc.html +++ b/html/056recipe_header.cc.html @@ -13,16 +13,17 @@ pre { white-space: pre-wrap; font-family: monospace; color: #eeeeee; background-color: #080808; } body { font-family: monospace; color: #eeeeee; background-color: #080808; } * { font-size: 1.05em; } -.traceContains { color: #008000; } .SalientComment { color: #00ffff; } -.cSpecial { color: #008000; } +.CommentedCode { color: #6c6c6c; } +.Error { color: #ffffff; background-color: #ff6060; padding-bottom: 1px; } +.Delimiter { color: #a04060; } +.traceContains { color: #008000; } .traceAbsent { color: #c00000; } +.cSpecial { color: #008000; } .Comment { color: #9090ff; } -.Delimiter { color: #a04060; } +.Constant { color: #00a0a0; } .Special { color: #ff6060; } .Identifier { color: #804000; } -.Constant { color: #00a0a0; } -.CommentedCode { color: #6c6c6c; } --> </style> @@ -59,7 +60,6 @@ vector<reagent> products<span class="Delimiter">;</span> has_header = <span class="Constant">false</span><span class="Delimiter">;</span> <span class="Delimiter">:(before "End recipe Refinements")</span> -skip_whitespace<span class="Delimiter">(</span>in<span class="Delimiter">);</span> if <span class="Delimiter">(</span>in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="Constant">'['</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> trace<span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">"parse"</span><span class="Delimiter">)</span> << <span class="Constant">"recipe has a header; parsing"</span> << end<span class="Delimiter">();</span> load_recipe_header<span class="Delimiter">(</span>in<span class="Delimiter">,</span> result<span class="Delimiter">);</span> @@ -68,18 +68,18 @@ if <span class="Delimiter">(</span>in<span class="Delimiter">.</span>peek<span c <span class="Delimiter">:(code)</span> void load_recipe_header<span class="Delimiter">(</span>istream& in<span class="Delimiter">,</span> recipe& result<span class="Delimiter">)</span> <span class="Delimiter">{</span> result<span class="Delimiter">.</span>has_header = <span class="Constant">true</span><span class="Delimiter">;</span> - while <span class="Delimiter">(</span>in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="Constant">'['</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> + while <span class="Delimiter">(</span>has_data<span class="Delimiter">(</span>in<span class="Delimiter">)</span> && in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="Constant">'['</span> && in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="cSpecial">'\n'</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> string s = next_word<span class="Delimiter">(</span>in<span class="Delimiter">);</span> if <span class="Delimiter">(</span>s == <span class="Constant">"->"</span><span class="Delimiter">)</span> <span class="Identifier">break</span><span class="Delimiter">;</span> result<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>push_back<span class="Delimiter">(</span>reagent<span class="Delimiter">(</span>s<span class="Delimiter">));</span> trace<span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">"parse"</span><span class="Delimiter">)</span> << <span class="Constant">"header ingredient: "</span> << result<span class="Delimiter">.</span>ingredients<span class="Delimiter">.</span>back<span class="Delimiter">().</span>original_string << end<span class="Delimiter">();</span> - skip_whitespace_and_comments<span class="Delimiter">(</span>in<span class="Delimiter">);</span> + skip_whitespace_but_not_newline<span class="Delimiter">(</span>in<span class="Delimiter">);</span> <span class="Delimiter">}</span> - while <span class="Delimiter">(</span>in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="Constant">'['</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> + while <span class="Delimiter">(</span>has_data<span class="Delimiter">(</span>in<span class="Delimiter">)</span> && in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="Constant">'['</span> && in<span class="Delimiter">.</span>peek<span class="Delimiter">()</span> != <span class="cSpecial">'\n'</span><span class="Delimiter">)</span> <span class="Delimiter">{</span> string s = next_word<span class="Delimiter">(</span>in<span class="Delimiter">);</span> result<span class="Delimiter">.</span>products<span class="Delimiter">.</span>push_back<span class="Delimiter">(</span>reagent<span class="Delimiter">(</span>s<span class="Delimiter">));</span> trace<span class="Delimiter">(</span><span class="Constant">9999</span><span class="Delimiter">,</span> <span class="Constant">"parse"</span><span class="Delimiter">)</span> << <span class="Constant">"header product: "</span> << result<span class="Delimiter">.</span>products<span class="Delimiter">.</span>back<span class="Delimiter">().</span>original_string << end<span class="Delimiter">();</span> - skip_whitespace_and_comments<span class="Delimiter">(</span>in<span class="Delimiter">);</span> + skip_whitespace_but_not_newline<span class="Delimiter">(</span>in<span class="Delimiter">);</span> <span class="Delimiter">}</span> <span class="Comment">// End Load Recipe Header(result)</span> <span class="Delimiter">}</span> @@ -108,6 +108,34 @@ recipe bar [ ] <span class="traceContains">+mem: storing 4 in location 1</span> +<span class="Delimiter">:(scenario recipe_handles_missing_bracket)</span> +<span class="Special">% Hide_errors = true;</span> +recipe main +<span class="Error">]</span> +<span class="traceContains">+error: recipe body must begin with '['</span> + +<span class="Delimiter">:(scenario recipe_handles_missing_bracket_2)</span> +<span class="Special">% Hide_errors = true;</span> +recipe main + local-scope + <span class="Delimiter">{</span> + <span class="Delimiter">}</span> +<span class="Error">]</span> +<span class="Comment"># doesn't overflow line when reading header</span> +<span class="traceAbsent">-parse: header ingredient: local-scope</span> +<span class="traceContains">+error: recipe body must begin with '['</span> + +<span class="Delimiter">:(scenario recipe_handles_missing_bracket_3)</span> +<span class="Special">% Hide_errors = true;</span> +recipe main <span class="Comment"># comment</span> + local-scope + <span class="Delimiter">{</span> + <span class="Delimiter">}</span> +<span class="Error">]</span> +<span class="Comment"># doesn't overflow line when reading header</span> +<span class="traceAbsent">-parse: header ingredient: local-scope</span> +<span class="traceContains">+error: recipe body must begin with '['</span> + <span class="Delimiter">:(after "Begin debug_string(recipe x)")</span> out << <span class="Constant">"ingredients:</span><span class="cSpecial">\n</span><span class="Constant">"</span><span class="Delimiter">;</span> for <span class="Delimiter">(</span>long long int i = <span class="Constant">0</span><span class="Delimiter">;</span> i < SIZE<span class="Delimiter">(</span>x<span class="Delimiter">.</span>ingredients<span class="Delimiter">);</span> ++i<span class="Delimiter">)</span> |