Warning, file /frameworks/syntax-highlighting/autotests/html/highlight.d.dark.html was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.d</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (D) - Theme (Breeze Dark)"/> 0006 </head><body style="background-color:#232629;color:#cfcfc2"><pre> 0007 <span style="color:#7a7c7d;">/********</span> 0008 <span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> Highlight testing module.</span> 0009 <span style="color:#7a7c7d;">*</span> 0010 <span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> Do not attempt to run this!</span> 0011 <span style="color:#7a7c7d;">***********/</span> 0012 <span style="color:#27ae60;font-weight:bold;">module</span><span style="color:#27ae60;"> highlighttest</span><span style="color:#3f8058;">;</span> 0013 <span style="color:#27ae60;font-weight:bold;">import</span><span style="color:#27ae60;"> X = null</span><span style="color:#3f8058;">;</span> 0014 0015 <span style="color:#7a7c7d;">/++</span><span style="color:#a43340;"> Pragma directives. DDoc + DDoc embedded items. Special Tokens.</span> 0016 <span style="color:#7a7c7d;">+</span> 0017 <span style="color:#7a7c7d;">+</span><span style="color:#a43340;"> </span><span style="color:#7a7c7d;">---</span> 0018 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#7a7c7d;">// comment</span> 0019 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">#line </span><span style="color:#f67400;">12</span><span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#f44f4f;">"hightlighttest.d"</span><span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#7a7c7d;">/* block comment */</span> 0020 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">#line </span><span style="color:#27ae60;font-weight:bold;">__LINE__</span><span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#27ae60;font-weight:bold;">__FILE__</span><span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#7a7c7d;">/++</span><span style="color:#a43340;"> embedded block comment </span><span style="color:#7a7c7d;">+/</span> 0021 <span style="color:#7a7c7d;">+</span> 0022 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma </span><span style="color:#7a7c7d;">/* */</span><span style="color:#27ae60;font-weight:bold;"> </span>(<span style="font-weight:bold;">msg</span>,<span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#f44f4f;">"what?"</span>)<span style="color:#3f8058;">;</span> 0023 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(<span style="color:#7a7c7d;">/++</span><span style="color:#a43340;"> </span><span style="color:#7a7c7d;">+/</span><span style="color:#27ae60;font-weight:bold;"> </span><span style="font-weight:bold;">lib</span>,<span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#f44f4f;">"insane.a"</span>)<span style="color:#3f8058;">;</span> 0024 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(<span style="font-weight:bold;">inline</span>)<span style="color:#3f8058;">;</span> 0025 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(<span style="font-weight:bold;">linkerDirective</span>)<span style="color:#3f8058;">;</span> 0026 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(<span style="font-weight:bold;">mangle</span>)<span style="color:#3f8058;">;</span> 0027 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(<span style="font-weight:bold;">startaddress</span>)<span style="color:#3f8058;">;</span> 0028 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(D_Custom_Extension,<span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#f44f4f;">"custom data"</span>)<span style="color:#3f8058;">;</span> 0029 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#27ae60;font-weight:bold;">pragma</span>(foo<span style="color:#27ae60;font-weight:bold;"> </span><span style="color:#da4453;text-decoration:underline;">0</span><span style="color:#3f8058;">);</span> 0030 <span style="color:#7a7c7d;">+</span><span style="font-style:italic;"> </span><span style="color:#7a7c7d;">---</span> 0031 <span style="color:#7a7c7d;">+/</span> 0032 0033 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> version condition</span> 0034 <span style="color:#f67400;">version</span> = X; 0035 <span style="color:#f67400;">version</span> = <span style="color:#f67400;">1_2_3</span>; 0036 <span style="color:#f67400;">version</span> (X) <span style="color:#3f8058;">;</span> 0037 <span style="color:#f67400;">version</span>(<span style="font-weight:bold;">linux</span>) <span style="color:#3f8058;">{}</span> 0038 0039 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> linkage</span> 0040 <span style="color:#c45b00;font-weight:bold;">extern</span> 0041 (<span style="font-weight:bold;">C</span>) <span style="color:#3f8058;">{}</span> 0042 <span style="color:#c45b00;font-weight:bold;">extern</span> <span style="color:#3f8058;">:</span> 0043 <span style="color:#3f8058;">;</span> 0044 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">C++</span>) <span style="color:#3f8058;">{}</span> 0045 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">C++</span>, foo.bar.baz) <span style="color:#3f8058;">{}</span> 0046 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">D</span>) <span style="color:#3f8058;">{}</span> 0047 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">Windows</span>) <span style="color:#3f8058;">{}</span> 0048 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">Pascal</span>) <span style="color:#3f8058;">{}</span> 0049 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">System</span>) <span style="color:#3f8058;">{}</span> 0050 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="color:#da4453;text-decoration:underline;">unknown</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0051 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">C</span><span style="color:#da4453;text-decoration:underline;">,</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0052 <span style="color:#c45b00;font-weight:bold;">extern</span> (<span style="font-weight:bold;">C++</span>, foo<span style="color:#da4453;text-decoration:underline;">,</span> bar) <span style="color:#3f8058;">{}</span> 0053 0054 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> alias & typedef</span> 0055 <span style="color:#da4453;font-weight:bold;">alias</span> <span style="color:#2980b9;">int</span>.<span style="color:#2980b9;font-weight:bold;">min</span> minint<span style="color:#3f8058;">;</span> 0056 <span style="color:#da4453;font-weight:bold;">typedef</span> <span style="color:#2980b9;">int</span> myint<span style="color:#3f8058;">;</span> 0057 0058 <span style="color:#2980b9;">int</span> main<span style="color:#3f8058;">(</span><span style="color:#2980b9;">char</span><span style="color:#3f8058;">[][]</span> args<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span> 0059 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> statements</span> 0060 <span style="font-weight:bold;">if</span> <span style="color:#3f8058;">(</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0061 <span style="font-weight:bold;">else</span> <span style="color:#3f8058;">{}</span> 0062 <span style="font-weight:bold;">with</span> <span style="color:#3f8058;">(</span>N<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span>x <span style="color:#3f8058;">=</span> B<span style="color:#3f8058;">}</span> 0063 0064 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> attributes</span> 0065 <span style="color:#8e44ad;font-weight:bold;">auto</span> x <span style="color:#3f8058;">=</span> <span style="color:#f67400;">1</span><span style="color:#3f8058;">;</span> 0066 <span style="color:#8e44ad;font-weight:bold;">static</span> <span style="font-weight:bold;">if</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;font-weight:bold;">true</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0067 <span style="color:#2980b9;">void</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;font-weight:bold;">in</span> X<span style="color:#3f8058;">,</span> <span style="color:#8e44ad;font-weight:bold;">out</span> Y<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> <span style="color:#7a7c7d;">// </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;">: using in like this is rare, more common to use as an expression and no way to tell apart?</span> 0068 0069 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> deprecated</span> 0070 <span style="color:#8e44ad;font-weight:bold;text-decoration:line-through;">deprecated</span> <span style="color:#2980b9;">void</span> fct <span style="color:#3f8058;">();</span> 0071 0072 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> types</span> 0073 <span style="color:#2980b9;">void</span> a<span style="color:#3f8058;">;</span> 0074 <span style="color:#2980b9;">ushort</span> u<span style="color:#3f8058;">;</span> 0075 <span style="color:#2980b9;">int</span><span style="color:#3f8058;">[</span><span style="color:#2980b9;">uint</span><span style="color:#3f8058;">]</span> AA<span style="color:#3f8058;">;</span> 0076 <span style="color:#da4453;font-weight:bold;">class</span> C<span style="color:#3f8058;">;</span> 0077 <span style="color:#da4453;font-weight:bold;">enum</span> N <span style="color:#3f8058;">:</span> <span style="color:#2980b9;">int</span> <span style="color:#3f8058;">{</span> A <span style="color:#3f8058;">=</span> <span style="color:#f67400;">5</span><span style="color:#3f8058;">,</span> B <span style="color:#3f8058;">}</span> 0078 <span style="color:#2980b9;">typeof</span><span style="color:#3f8058;">(</span>u<span style="color:#3f8058;">)</span> u2<span style="color:#3f8058;">;</span> 0079 0080 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> expressions</span> 0081 x <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">cast</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">int</span><span style="color:#3f8058;">)</span> <span style="color:#f67400;">55</span><span style="color:#3f8058;">;</span> 0082 <span style="color:#2980b9;">void</span><span style="color:#3f8058;">*</span> p <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">null</span><span style="color:#3f8058;">;</span> 0083 p <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">cast</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">void</span><span style="color:#3f8058;">*)</span> <span style="color:#2980b9;font-weight:bold;">new</span> <span style="color:#2980b9;">int</span><span style="color:#3f8058;">;</span> 0084 x <span style="color:#3f8058;">=</span> <span style="color:#f67400;">1</span> <span style="color:#2980b9;font-weight:bold;">in</span> AA<span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;">: a THIRD use of in. How to detect??</span> 0085 <span style="color:#2980b9;font-weight:bold;">assert</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;font-weight:bold;">true</span><span style="color:#3f8058;">);</span> 0086 0087 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> libsymbols</span> 0088 <span style="color:#7f8c8d;font-style:italic;">string</span> s <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">""</span><span style="color:#3f8058;">;</span> 0089 <span style="font-weight:bold;">throw</span> <span style="color:#2980b9;font-weight:bold;">new</span> <span style="color:#7f8c8d;font-style:italic;">Exception</span><span style="color:#3f8058;">;</span> 0090 <span style="color:#7f8c8d;font-style:italic;">TypeInfo</span> ti <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">typeid</span><span style="color:#3f8058;">(</span><span style="color:#2980b9;">int</span><span style="color:#3f8058;">);</span> 0091 0092 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> tests</span> 0093 <span style="color:#8e44ad;font-weight:bold;">debug</span> <span style="color:#3f8058;">{}</span> 0094 <span style="color:#8e44ad;font-weight:bold;">debug</span> <span style="color:#3f8058;">(</span><span style="color:#f67400;">2</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0095 <span style="color:#8e44ad;font-weight:bold;">debug</span> <span style="color:#3f8058;">(</span>DSymb<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0096 <span style="color:#8e44ad;font-weight:bold;">unittest</span> <span style="color:#3f8058;">{}</span> 0097 0098 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> scope (as attribute and as statement)</span> 0099 <span style="color:#8e44ad;font-weight:bold;">scope</span> <span style="color:#da4453;font-weight:bold;">struct</span> S<span style="color:#3f8058;">;</span> 0100 <span style="font-weight:bold;">scope </span>(<span style="color:#2980b9;font-weight:bold;">exit</span>) <span style="color:#3f8058;">{}</span> 0101 <span style="color:#8e44ad;font-weight:bold;">scope</span> 0102 <span style="color:#3f8058;">(</span>success<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> <span style="color:#7a7c7d;">// </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;">: rules cannot match across new-lines</span> 0103 <span style="font-weight:bold;">scope </span>(<span style="color:#2980b9;font-weight:bold;">failure</span>) <span style="color:#3f8058;">{}</span> 0104 0105 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> Properties</span> 0106 x <span style="color:#3f8058;">=</span> <span style="color:#2980b9;">int</span>.<span style="color:#2980b9;font-weight:bold;">min</span><span style="color:#3f8058;">;</span> 0107 s <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">(</span><span style="color:#f67400;">5</span><span style="color:#3f8058;">-</span><span style="color:#f67400;">3</span><span style="color:#3f8058;">)</span>.<span style="color:#2980b9;font-weight:bold;">stringof</span><span style="color:#3f8058;">;</span> 0108 0109 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> strings</span> 0110 s <span style="color:#3f8058;">=</span> <span style="color:#da4453;">r"raw string"</span><span style="color:#3f8058;">;</span> 0111 s <span style="color:#3f8058;">=</span> <span style="color:#da4453;">x"00FF"</span><span style="color:#3f8058;">;</span> 0112 s <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">\n</span> <span style="color:#3daee9;">\a</span><span style="color:#3f8058;">;</span> 0113 s <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">\u1234</span><span style="color:#3f8058;">;</span> 0114 s <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">\U12345678</span><span style="color:#3f8058;">;</span> 0115 s <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">\&amp;</span> <span style="color:#3f8058;">;</span> 0116 <span style="color:#2980b9;">char</span> c <span style="color:#3f8058;">=</span> <span style="color:#3daee9;">'a'</span><span style="color:#3f8058;">;</span> 0117 s <span style="color:#3f8058;">=</span> <span style="color:#f44f4f;">"abc 012 </span><span style="color:#3daee9;">\"</span><span style="color:#f44f4f;"> </span><span style="color:#3daee9;">\n</span><span style="color:#f44f4f;"> </span><span style="color:#3daee9;">\x12</span><span style="color:#f44f4f;"> </span><span style="color:#3daee9;">\u1234</span><span style="color:#f44f4f;"> </span><span style="color:#3daee9;">\U12345678</span><span style="color:#f44f4f;">"</span><span style="color:#3f8058;">;</span> 0118 s <span style="color:#3f8058;">=</span> <span style="color:#da4453;">`BQString '"`</span><span style="color:#3f8058;">;</span> 0119 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q{</span>foo <span style="color:#f44f4f;">"bar"</span> <span style="color:#f67400;">123</span><span style="font-weight:bold;">}</span><span style="color:#3f8058;">;</span> 0120 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"FOO</span> 0121 <span style="color:#da4453;">foo</span> 0122 <span style="font-weight:bold;">FOO"</span><span style="color:#3f8058;">;</span> 0123 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"[</span><span style="color:#da4453;">foo [bar] q"[baz]"</span><span style="font-weight:bold;">]"</span><span style="color:#3f8058;">;</span> 0124 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"(</span><span style="color:#da4453;">foo (bar) q"(baz)"</span><span style="font-weight:bold;">)"</span><span style="color:#3f8058;">;</span> 0125 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"<</span><span style="color:#da4453;">foo <bar> q"<baz>"</span><span style="font-weight:bold;">>"</span><span style="color:#3f8058;">;</span> 0126 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"{</span><span style="color:#da4453;">foo {bar} q"{baz}"</span><span style="font-weight:bold;">}"</span><span style="color:#3f8058;">;</span> 0127 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"/</span><span style="color:#da4453;">foo</span><span style="font-weight:bold;">/"</span><span style="color:#3f8058;">;</span> 0128 s <span style="color:#3f8058;">=</span> <span style="font-weight:bold;">q"!</span><span style="color:#da4453;">foo</span><span style="font-weight:bold;">!"</span><span style="color:#3f8058;">;</span> 0129 0130 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> region markers</span> 0131 <span style="color:#2980b9;background-color:#153042;">//BEGIN x</span> 0132 <span style="color:#2980b9;background-color:#153042;">//END x</span> 0133 0134 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> DDoc</span> 0135 <span style="color:#7a7c7d;">/*******</span> 0136 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> DDoc</span> 0137 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span> 0138 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> Section:</span> 0139 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> New section.</span> 0140 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> </span><span style="color:#3daee9;font-weight:bold;">$(I</span><span style="color:#2980b9;"> italic</span><span style="color:#3daee9;font-weight:bold;">)</span> 0141 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*******/</span> 0142 <span style="color:#7a7c7d;">/+++++++</span> 0143 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">+</span><span style="color:#a43340;"> DDoc</span> 0144 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">+</span><span style="color:#a43340;"> /+</span> 0145 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">+</span><span style="color:#a43340;"> +/</span> 0146 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">+++++++/</span> 0147 0148 <span style="color:#7a7c7d;">// comments</span> 0149 <span style="color:#7a7c7d;">// </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">FIXME</span><span style="color:#7a7c7d;"> </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span> 0150 <span style="color:#7a7c7d;">/* comment */</span> 0151 <span style="color:#7a7c7d;">/+ comment /+ nested comment +/ +/</span> 0152 0153 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> brace folding</span> 0154 <span style="color:#3f8058;">{</span> 0155 <span style="color:#3f8058;">}</span> 0156 0157 <span style="color:#7a7c7d;">/**</span><span style="color:#a43340;"> normal text</span> 0158 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*</span><span style="color:#a43340;"> </span><span style="color:#7a7c7d;">---</span> 0159 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>.x<span style="color:#3f8058;">;</span> 0160 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>.. 0161 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>... 0162 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>.... 0163 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>..... 0164 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>_._ 0165 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span>_e1 0166 <span style="font-style:italic;"> </span><span style="color:#7a7c7d;">*</span><span style="font-style:italic;"> </span><span style="color:#7a7c7d;">---</span> 0167 <span style="color:#a43340;"> </span><span style="color:#7a7c7d;">*/</span> 0168 0169 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> float and int literals</span> 0170 <span style="color:#2980b9;">int</span> i<span style="color:#3f8058;">;</span> 0171 <span style="color:#2980b9;">real</span> r<span style="color:#3f8058;">;</span> 0172 <span style="color:#2980b9;">ireal</span> ir<span style="color:#3f8058;">;</span> 0173 r <span style="color:#3f8058;">=</span> <span style="color:#f67400;">.0</span><span style="color:#3f8058;">;</span> 0174 r <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0f</span><span style="color:#3f8058;">;</span> 0175 ir <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0e0i</span><span style="color:#3f8058;">;</span> 0176 ir <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0.fi</span><span style="color:#3f8058;">;</span> 0177 r <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0.0e0</span><span style="color:#3f8058;">;</span> 0178 r <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xF.Fp0</span><span style="color:#3f8058;">;</span> 0179 r <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0x_._p0_</span><span style="color:#3f8058;">;</span> 0180 i <span style="color:#3f8058;">=</span> <span style="color:#f67400;">5</span><span style="color:#3f8058;">;</span> 0181 i <span style="color:#3f8058;">=</span> <span style="color:#3f8058;">-</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">;</span> 0182 i <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0b10</span><span style="color:#3f8058;">;</span> 0183 i <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0070</span><span style="color:#3f8058;">;</span> 0184 i <span style="color:#3f8058;">=</span> <span style="color:#f67400;">00</span><span style="color:#3f8058;">;</span> 0185 i <span style="color:#3f8058;">=</span> <span style="color:#f67400;">0xF0</span><span style="color:#3f8058;">;</span> 0186 0187 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> ranges</span> 0188 <span style="color:#2980b9;">int</span><span style="color:#3f8058;">[]</span> A<span style="color:#3f8058;">;</span> 0189 i <span style="color:#3f8058;">=</span> A<span style="color:#3f8058;">[</span><span style="color:#f67400;">1</span><span style="color:#3f8058;">];</span> 0190 A <span style="color:#3f8058;">=</span> A<span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span>..$<span style="color:#3f8058;">];</span> 0191 A <span style="color:#3f8058;">=</span> A<span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span>..<span style="color:#f67400;">0</span><span style="color:#3f8058;">];</span> 0192 A <span style="color:#3f8058;">=</span> A<span style="color:#3f8058;">[</span><span style="color:#f67400;">0</span>..length<span style="color:#3f8058;">];</span> 0193 0194 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> labels</span> 0195 label<span style="color:#3f8058;">:</span> 0196 <span style="font-weight:bold;">goto</span> label<span style="color:#3f8058;">;</span> 0197 0198 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> function, delegate</span> 0199 <span style="color:#2980b9;">creal</span> <span style="color:#da4453;font-weight:bold;">function </span><span style="color:#3f8058;">()</span> fp <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">function</span> <span style="color:#2980b9;">creal</span><span style="color:#3f8058;">()</span> <span style="color:#3f8058;">{</span> <span style="font-weight:bold;">return</span> <span style="color:#f67400;">0f</span><span style="color:#3f8058;">+</span><span style="color:#f67400;">0fi</span><span style="color:#3f8058;">;</span> <span style="color:#3f8058;">};</span> 0200 <span style="color:#2980b9;">void</span> <span style="color:#da4453;font-weight:bold;">delegate </span><span style="color:#3f8058;">(</span><span style="color:#2980b9;font-weight:bold;">in</span> <span style="color:#2980b9;">int</span> i<span style="color:#3f8058;">,</span> <span style="color:#8e44ad;font-weight:bold;">lazy</span> <span style="color:#2980b9;">int</span> b<span style="color:#3f8058;">)</span> dg <span style="color:#3f8058;">=</span> <span style="color:#2980b9;font-weight:bold;">delegate</span> <span style="color:#2980b9;">void</span> <span style="color:#3f8058;">(</span><span style="color:#2980b9;">int</span><span style="color:#3f8058;">,</span> <span style="color:#2980b9;">int</span><span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0201 0202 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> in, out, body</span> 0203 <span style="color:#7a7c7d;">// </span><span style="color:#81ca2d;background-color:#4d1f24;font-weight:bold;">NOTE</span><span style="color:#7a7c7d;">: highlighting in & out as statements here could be difficult</span> 0204 <span style="color:#2980b9;">float</span> F <span style="color:#3f8058;">()</span> 0205 <span style="font-weight:bold;">in </span><span style="color:#3f8058;">{}</span> 0206 <span style="font-weight:bold;">out </span><span style="color:#3f8058;">(</span>result<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{}</span> 0207 <span style="font-weight:bold;">body</span> <span style="color:#3f8058;">{}</span> 0208 0209 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> try, catch, finally</span> 0210 <span style="font-weight:bold;">try</span> <span style="color:#3f8058;">{</span> 0211 <span style="font-weight:bold;">throw</span> <span style="color:#2980b9;font-weight:bold;">new</span> <span style="color:#7f8c8d;font-style:italic;">Exception</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">"oh no... "</span><span style="color:#3f8058;">);</span> 0212 <span style="color:#3f8058;">}</span> <span style="font-weight:bold;">catch</span> <span style="color:#3f8058;">(</span><span style="color:#7f8c8d;font-style:italic;">Exception</span> e<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span> 0213 <span style="color:#3f8058;">}</span> <span style="font-weight:bold;">finally</span> <span style="color:#3f8058;">{</span> 0214 <span style="color:#3f8058;">}</span> 0215 0216 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> mixin</span> 0217 <span style="font-weight:bold;">mixin</span><span style="color:#3f8058;">(</span><span style="color:#f44f4f;">"return false;"</span><span style="color:#3f8058;">)</span>.<span style="color:#2980b9;font-weight:bold;">stringof</span><span style="color:#3f8058;">;</span> 0218 0219 <span style="color:#7a7c7d;">///</span><span style="color:#a43340;"> templates</span> 0220 <span style="color:#27ae60;font-weight:bold;">macro</span><span style="color:#3f8058;">;</span> <span style="color:#7a7c7d;">// what does this do?</span> 0221 <span style="color:#27ae60;font-weight:bold;">template</span> Tp <span style="color:#3f8058;">(</span>T<span style="color:#3f8058;">)</span> <span style="color:#3f8058;">{</span> 0222 Tp t<span style="color:#3f8058;">;</span> 0223 <span style="color:#3f8058;">}</span> 0224 Tp<span style="color:#3f8058;">!(</span><span style="color:#2980b9;">int</span><span style="color:#3f8058;">)</span> y<span style="color:#3f8058;">;</span> 0225 <span style="color:#3f8058;">}</span> 0226 </pre></body></html>