<Comment>#! shebang</Comment><br/>
<Private Member Operator>#</Private Member Operator><Symbol>!</Symbol><Normal Text> no</Normal Text><Symbol>-</Symbol><Normal Text>shebang</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Comment>/* comment */</Comment><br/>
<Normal Text></Normal Text><br/>
<Keyword>function</Keyword><Normal Text> </Normal Text><Function Declaration>fun</Function Declaration><Normal Text>()</Normal Text><br/>
<Normal Text>{</Normal Text><br/>
<Normal Text>    </Normal Text><Keyword>var</Keyword><Normal Text> boo </Normal Text><Symbol>=</Symbol><Normal Text> { </Normal Text><String>'key'</String><Symbol>:</Symbol><Normal Text> [ </Normal Text><Decimal>1</Decimal><Symbol>,</Symbol><Normal Text> </Normal Text><Float>2.0</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Float>3.0e1</Float><Symbol>,</Symbol><Normal Text> </Normal Text><Octal>004</Octal><Symbol>,</Symbol><Normal Text> </Normal Text><Hex>0x5</Hex><Normal Text> ] }</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Reserved>class</Reserved><Normal Text> MyClass</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// reserved keywords</Comment><br/>
<Normal Text></Normal Text><br/>
<Reserved>class</Reserved><Normal Text> ClassWithPrivateField {</Normal Text><br/>
<Normal Text>    </Normal Text><Reserved>static</Reserved><Normal Text> </Normal Text><Private Member Operator>#</Private Member Operator><Normal Text>privateStaticField </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>42</Decimal><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Normal Text>    </Normal Text><Reserved>static</Reserved><Normal Text> </Normal Text><Function Name>publicStaticMethod</Function Name><Normal Text>() {</Normal Text><br/>
<Normal Text>        </Normal Text><ControlFlow>return</ControlFlow><Normal Text> </Normal Text><Objects>ClassWithPrivateField</Objects><Symbol>.</Symbol><Private Member Operator>#</Private Member Operator><Object Member>privateStaticField</Object Member><Symbol>;</Symbol><br/>
<Normal Text>    }</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Normal Text>    </Normal Text><Private Member Operator>#</Private Member Operator><Normal Text>message</Normal Text><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Normal Text>    </Normal Text><Private Member Operator>#</Private Member Operator><Function Name>privateMethod</Function Name><Normal Text>() {</Normal Text><br/>
<Normal Text>        </Normal Text><ControlFlow>return</ControlFlow><Normal Text> </Normal Text><Decimal>42</Decimal><Symbol>;</Symbol><br/>
<Normal Text>    }</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Normal Text>    </Normal Text><Function Name>publicMethod</Function Name><Normal Text>() {</Normal Text><br/>
<Normal Text>        </Normal Text><ControlFlow>return</ControlFlow><Normal Text> </Normal Text><Keyword>this</Keyword><Symbol>.</Symbol><Private Member Operator>#</Private Member Operator><Function Name>privateMethod</Function Name><Normal Text>()</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>    }</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Normal Text>    </Normal Text><Keyword>get</Keyword><Normal Text> </Normal Text><Private Member Operator>#</Private Member Operator><Function Name>decoratedMessage</Function Name><Normal Text>() {</Normal Text><br/>
<Normal Text>        </Normal Text><ControlFlow>return</ControlFlow><Normal Text> </Normal Text><Keyword>this</Keyword><Symbol>.</Symbol><Private Member Operator>#</Private Member Operator><Object Member>message</Object Member><br/>
<Normal Text>    }</Normal Text><br/>
<Normal Text>    </Normal Text><Keyword>set</Keyword><Normal Text> </Normal Text><Private Member Operator>#</Private Member Operator><Function Name>decoratedMessage</Function Name><Normal Text>(msg) {</Normal Text><br/>
<Normal Text>        </Normal Text><Keyword>this</Keyword><Symbol>.</Symbol><Private Member Operator>#</Private Member Operator><Object Member>message</Object Member><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> msg</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>    }</Normal Text><br/>
<Normal Text>}</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Comment>// Member objects: text after "."</Comment><br/>
<Objects>object</Objects><Symbol>.</Symbol><Object Member>property</Object Member><Normal Text> </Normal Text><Keyword>instanceof</Keyword><Normal Text> </Normal Text><Built-in Objects>Number</Built-in Objects><Symbol>;</Symbol><br/>
<Objects>iden1</Objects><Symbol>.</Symbol><Object Member>iden2</Object Member><Normal Text>  </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Object Member>iden3</Object Member><Symbol>.</Symbol><Object Member>class</Object Member><Normal Text> </Normal Text><Reserved>class</Reserved><Symbol>;</Symbol><br/>
<Normal Text>iden1</Normal Text><Symbol>?.</Symbol><Object Member>iden2</Object Member><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Object Member>iden3</Object Member><Symbol>.</Symbol><Object Member>class</Object Member><Normal Text> </Normal Text><Reserved>class</Reserved><Symbol>;</Symbol><br/>
<Objects>iden1</Objects><Symbol>.</Symbol><Private Member Operator>#</Private Member Operator><Object Member>iden2</Object Member><Normal Text> </Normal Text><Symbol>.</Symbol><Normal Text> </Normal Text><Object Member>iden3</Object Member><Symbol>.</Symbol><Object Member>class</Object Member><Normal Text> </Normal Text><Reserved>class</Reserved><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> escapes </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"aa</String><Escape>\</Escape><Reserved Char. Escape>b</Reserved Char. Escape><Escape>\</Escape><Reserved Char. Escape>n</Reserved Char. Escape><Escape>\</Escape><Reserved Char. Escape>0</Reserved Char. Escape><String>a</String><Escape>\"</Escape><String>a</String><Escape>\x12</Escape><String>a</String><Escape>\32</Escape><String>a</String><Escape>\u{123}</Escape><String>a</String><Escape>\$\%\ \#\y\a</Escape><String>aa</String><Escape>\</Escape><br/>
<String>aaa"</String><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> octal </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o124</Octal><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> bin </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b1010</Binary><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Function Name>日本語</Function Name><Normal Text>()</Normal Text><Symbol>.</Symbol><Object Member>ლಠ益ಠლ</Object Member><Symbol>.</Symbol><Object Member>ñá</Object Member><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>42</Decimal><Symbol>;</Symbol><br/>
<Normal Text>δ </Normal Text><Symbol>/</Symbol><Normal Text>No</Normal Text><Symbol>-</Symbol><Normal Text>Regex</Normal Text><Symbol>/</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// Only highlight valid regular expressions, of a single line, after strings</Comment><br/>
<Comment>// See: https://github.com/microsoft/TypeScript-TmLanguage/issues/786</Comment><br/>
<String>"text"</String><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text>No</Normal Text><Symbol>-</Symbol><Normal Text>Regex</Normal Text><br/>
<String>"text"</String><Normal Text> </Normal Text><Regular Expression>/Regex</Regular Expression><Pattern Character Class>[:)]</Pattern Character Class><Pattern Internal Operator>*</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Keyword>const</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>"6"</String><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>/*comment*/</Comment><Normal Text> </Normal Text><Keyword>const</Keyword><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Symbol>;</Symbol><br/>
<Built-in Objects>console</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>log</Object Method (Built-in)><Normal Text>(</Normal Text><String>"4"</String><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><String>"2"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// 2</Comment><br/>
<Comment>// Single quote</Comment><br/>
<Keyword>const</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'6'</String><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>/*comment*/</Comment><Normal Text> </Normal Text><Keyword>const</Keyword><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Symbol>;</Symbol><br/>
<Built-in Objects>console</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>log</Object Method (Built-in)><Normal Text>(</Normal Text><String>'4'</String><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><String>'2'</String><Normal Text>)</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// 2</Comment><br/>
<Comment>// Template</Comment><br/>
<Keyword>const</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Template>`6`</Template><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><Decimal>2</Decimal><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>/*comment*/</Comment><Normal Text> </Normal Text><Keyword>const</Keyword><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Symbol>;</Symbol><br/>
<Built-in Objects>console</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>log</Object Method (Built-in)><Normal Text>(</Normal Text><Template>`4`</Template><Normal Text> </Normal Text><Symbol>/</Symbol><Normal Text> </Normal Text><Template>`2`</Template><Normal Text>)</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// 2</Comment><br/>
<Normal Text></Normal Text><br/>
<Comment>// Built-in</Comment><br/>
<Keyword>const</Keyword><Normal Text> os </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Function (Built-in)>require</Function (Built-in)><Normal Text>(</Normal Text><String>'os'</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Built-in Objects>JSON</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>stringify</Object Method (Built-in)><Normal Text>(</Normal Text><String>"hello"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Built-in Objects>console</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>error</Object Method (Built-in)><Normal Text>(</Normal Text><String>"hello"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Built-in Objects>Math</Built-in Objects><Symbol>.</Symbol><Constant>LOG10E</Constant><Symbol>;</Symbol><br/>
<Built-in Objects>Number</Built-in Objects><Symbol>.</Symbol><Constant>MAX_SAFE_INTEGER</Constant><Symbol>;</Symbol><br/>
<Built-in Objects>String</Built-in Objects><Symbol>.</Symbol><Function Name>raw</Function Name><Template>`raw text \.\n${}`</Template><br/>
<Normal Text></Normal Text><br/>
<Comment>// Tagged template literals</Comment><br/>
<Function Name>tagFunc</Function Name><Template>`</Template><br/>
<Template>    Hello world!</Template><br/>
<Template>    </Template><Substitution>${</Substitution><Normal Text> </Normal Text><Function Name>alert</Function Name><Normal Text>(</Normal Text><String>"Hello!"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Substitution>}</Substitution><Template>`</Template><Symbol>;</Symbol><br/>
<Objects>obj</Objects><Symbol>.</Symbol><Object Member>something</Object Member><Symbol>.</Symbol><Function Name>tagFunc</Function Name><Template>`Setting </Template><Substitution>${</Substitution><Normal Text>setting</Normal Text><Substitution>}</Substitution><Template> is </Template><Substitution>${</Substitution><Normal Text>value </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><Decimal>5</Decimal><Substitution>}</Substitution><Template>!`</Template><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>/* </Comment><br/>
<Comment>   </Comment><Alert Level 3>NOTE</Alert Level 3><Comment>: The words "todo", "fixme" and "note" should be rendered in a different style</Comment><br/>
<Comment>   within comments, match should be caseless (to test for regexp insensitive attribute).</Comment><br/>
<Comment>   The regex used for this rule is */</Comment><br/>
<Normal Text>   </Normal Text><Built-in Objects>String</Built-in Objects><Normal Text> </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Internal Operator>\b(?</Pattern Internal Operator><Regular Expression>:fixme</Regular Expression><Pattern Internal Operator>|</Pattern Internal Operator><Regular Expression>todo</Regular Expression><Pattern Internal Operator>|</Pattern Internal Operator><Regular Expression>note</Regular Expression><Pattern Internal Operator>)\b</Pattern Internal Operator><Regular Expression>/</Regular Expression><br/>
<Normal Text>   </Normal Text><Comment>/* Thus,  for example "Notebook" is not caught by</Comment><br/>
<Comment>   this rule. (the "?:" in the subpattern is there to avoid the regex engine wasting time</Comment><br/>
<Comment>   saving a backref, which is not used for anything. I do not know if the overhead of parsing</Comment><br/>
<Comment>   that is greater than the time saved by not capturing the text...)</Comment><br/>
<Comment>   The rule for catching these words is placed in a context "Comment common", which is used</Comment><br/>
<Comment>   by both comment contexts (single line, multiline) using the new "IncludeRules" item.</Comment><br/>
<Comment>*/</Comment><br/>
<Normal Text></Normal Text><br/>
<Comment>// test if regex support works - nice with new fallthrough prop in context:)</Comment><br/>
<Objects>somestring</Objects><Symbol>.</Symbol><Function Name>replace</Function Name><Normal Text>( </Normal Text><Regular Expression>/dooh/</Regular Expression><Normal Text> </Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String>"bah!"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>re</Normal Text><Symbol>=</Symbol><Regular Expression>/foo/ig</Regular Expression><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// hehe</Comment><br/>
<Normal Text></Normal Text><br/>
<Objects>somestring</Objects><Symbol>.</Symbol><Function Name>search</Function Name><Normal Text>(</Normal Text><br/>
<Normal Text>       </Normal Text><Regular Expression>/</Regular Expression><Pattern Internal Operator>^</Pattern Internal Operator><Regular Expression>foo</Regular Expression><Pattern Character Class>\w</Pattern Character Class><Pattern Internal Operator>+</Pattern Internal Operator><Pattern Character Class>\s\d</Pattern Character Class><Pattern Internal Operator>{0,15}$</Pattern Internal Operator><Regular Expression>/</Regular Expression><br/>
<Normal Text>                  )</Normal Text><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Normal Text>        re </Normal Text><Symbol>=</Symbol><br/>
<Normal Text>        </Normal Text><Regular Expression>/dooh/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// This is supposedly legal:</Comment><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> somebool </Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Regular Expression>/foo/</Regular Expression><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Regular Expression>/bar/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// </Comment><Alert Level 3>NOTE</Alert Level 3><Comment> - Special case: an empty regex, not a comment.</Comment><br/>
<Comment>// The rule uses a positive lookahead assertion to catch it: "//(?=;)".</Comment><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Comment>//;</Comment><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/a</Regular Expression><Pattern Internal Operator>|</Pattern Internal Operator><Regular Expression>b/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>/*</Comment><br/>
<Comment>   Tests for the regex parser.</Comment><br/>
<Comment>   It will parse classes, quantifiers, special characters and regex operaters,</Comment><br/>
<Comment>   as specified in the netscape documentation for javascript.</Comment><br/>
<Comment>   Regexps are only parsed in their clean form, as the RegExp(string) constructor</Comment><br/>
<Comment>   is using a quoted string.</Comment><br/>
<Comment>   </Comment><Alert Level 2>TODO</Alert Level 2><Comment>: Find out if more regex feats should be supported.</Comment><br/>
<Comment>         Consider using more itemDatas - assertion, quantifier are options.</Comment><br/>
<Comment>*/</Comment><br/>
<Normal Text></Normal Text><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Internal Operator>^</Pattern Internal Operator><Regular Expression>text</Regular Expression><Pattern Character Class>\s</Pattern Character Class><Pattern Internal Operator>+</Pattern Internal Operator><Pattern Character Class>\d</Pattern Character Class><Pattern Internal Operator>+</Pattern Internal Operator><Pattern Character Class>\s</Pattern Character Class><Pattern Internal Operator>*$</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/a pattern with caret </Regular Expression><Pattern Internal Operator>\(</Pattern Internal Operator><Regular Expression>^</Regular Expression><Pattern Internal Operator>\)</Pattern Internal Operator><Regular Expression> in it/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Internal Operator>(</Pattern Internal Operator><Pattern Character Class>\d</Pattern Character Class><Pattern Internal Operator>{0,4})</Pattern Internal Operator><Pattern Character Class>\D</Pattern Character Class><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Character Class>[a-zA-Z_]</Pattern Character Class><Pattern Internal Operator>+</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Character Class>[</Pattern Character Class><Pattern Internal Operator>^\d</Pattern Internal Operator><Pattern Character Class>^]</Pattern Character Class><Pattern Internal Operator>+</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Character Class>\s</Pattern Character Class><Pattern Internal Operator>+?</Pattern Internal Operator><Pattern Character Class>\w</Pattern Character Class><Pattern Internal Operator>+\.$</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</Regular Expression><Pattern Internal Operator>\/\/</Pattern Internal Operator><Regular Expression>/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/a</Regular Expression><Pattern Internal Operator>|</Pattern Internal Operator><Regular Expression>b/</Regular Expression><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// the following are not regexps in E4X (=xml embedded into JavaScript)</Comment><br/>
<Keyword>var</Keyword><Normal Text> p </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol><</Symbol><Normal Text>p</Normal Text><Symbol>></Symbol><Normal Text>Hello World</Normal Text><Symbol></</Symbol><Normal Text>p</Normal Text><Symbol>></Symbol><br/>
<Keyword>var</Keyword><Normal Text> p </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Regular Expression>/</</Regular Expression><br/>
<Keyword>var</Keyword><Normal Text> p </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Symbol>/>/</Symbol><br/>
<Normal Text></Normal Text><br/>
<Comment>// a test if #pop back from a comment will work</Comment><br/>
<Normal Text>re </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Comment>/*/foo/*/</Comment><Normal Text> </Normal Text><Regular Expression>/bar/</Regular Expression><Symbol>;</Symbol><br/>
<Comment>//           ^ POP</Comment><br/>
<Comment>//             ^ we got back after pop in comment, if there is regexp attribs here :-)</Comment><br/>
<Normal Text></Normal Text><br/>
<Comment>/*</Comment><br/>
<Comment>   Some tests if the fallthrough works.</Comment><br/>
<Comment>   The fallthrough happens if a regexp is not found in a possible (!) position,</Comment><br/>
<Comment>   which is after "search(" or "replace(" or "=" or "?" or ":" in version 0.1 of the xml file</Comment><br/>
<Comment>*/</Comment><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> foo </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><String>'bar'</String><Symbol>;</Symbol><br/>
<Comment>//        ^ fallthrough!</Comment><br/>
<Normal Text></Normal Text><br/>
<Normal Text></Normal Text><br/>
<Objects>somestring</Objects><Symbol>.</Symbol><Function Name>replace</Function Name><Normal Text>( </Normal Text><Keyword>new</Keyword><Normal Text> </Normal Text><Built-in Objects>RegExp</Built-in Objects><Normal Text>(</Normal Text><String>"</String><Escape>\\</Escape><String>b</String><Escape>\\</Escape><String>w+</String><Escape>\\</Escape><String>b"</String><Normal Text>)</Normal Text><Symbol>,</Symbol><Normal Text> </Normal Text><String>"word: $1"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Comment>//                  ^ fallthrough expected. ("new" whould be bold)</Comment><br/>
<Normal Text></Normal Text><br/>
<Normal Text></Normal Text><br/>
<Objects>something</Objects><Symbol>.</Symbol><Object Member>method</Object Member><Normal Text> </Normal Text><Symbol>=</Symbol><br/>
<Normal Text>    </Normal Text><Keyword>function</Keyword><Normal Text> ( a</Normal Text><Symbol>,</Symbol><Normal Text> b</Normal Text><Symbol>,</Symbol><Normal Text> c ) { </Normal Text><Comment>/* ... */</Comment><Normal Text> }</Normal Text><br/>
<Comment>//  ^ fallthrough ?!</Comment><br/>
<Normal Text></Normal Text><br/>
<Objects>something</Objects><Symbol>.</Symbol><Object Member>other</Object Member><Normal Text> </Normal Text><Symbol>=</Symbol><br/>
<Keyword>function</Keyword><Normal Text> ( d</Normal Text><Symbol>,</Symbol><Normal Text> e</Normal Text><Symbol>,</Symbol><Normal Text> f ) { </Normal Text><Comment>/* ... */</Comment><Normal Text> }</Normal Text><br/>
<Comment>// fallthrough expected at col 0 ("function" should be bold)</Comment><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> ary </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Keyword>new</Keyword><Normal Text> </Normal Text><Built-in Objects>Array</Built-in Objects><Normal Text>(</Normal Text><Decimal>5</Decimal><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Comment>//        ^ fallthrough ? (if keyword is correctly rendered)</Comment><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> a </Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Decimal>1</Decimal><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>;</Symbol><br/>
<Comment>//          ^   ^ fallthroughs. numbers must be rendered correctly.</Comment><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> d </Normal Text><Symbol>?</Symbol><Normal Text> </Normal Text><Keyword>true</Keyword><Normal Text> </Normal Text><Symbol>:</Symbol><Normal Text> </Normal Text><Keyword>false</Keyword><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Keyword>var</Keyword><Normal Text> conditinalstring </Normal Text><Symbol>=</Symbol><Normal Text> b </Normal Text><Symbol>?</Symbol><br/>
<Normal Text>  </Normal Text><String>"something"</String><Normal Text> </Normal Text><Symbol>:</Symbol><br/>
<Normal Text>  </Normal Text><String>"something else"</String><Symbol>;</Symbol><br/>
<Comment>// guess...</Comment><br/>
<Normal Text></Normal Text><br/>
<Normal Text></Normal Text><br/>
<Comment>/*</Comment><br/>
<Comment>   Normal program flow...</Comment><br/>
<Comment>*/</Comment><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>if</ControlFlow><Normal Text> (something)</Normal Text><br/>
<Normal Text>  </Normal Text><Function Name>dostuff</Function Name><Normal Text>()</Normal Text><Symbol>;</Symbol><br/>
<ControlFlow>else</ControlFlow><br/>
<Normal Text>  </Normal Text><Function Name>dont</Function Name><Normal Text>()</Normal Text><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<Normal Text>  </Normal Text><ControlFlow>return</ControlFlow><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>try</ControlFlow><Normal Text> { </Normal Text><Function Name>bla</Function Name><Normal Text>() } </Normal Text><ControlFlow>catch</ControlFlow><Normal Text> (e) { </Normal Text><Function Name>alert</Function Name><Normal Text>(</Normal Text><String>"ERROR! : "</String><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> e) }</Normal Text><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>for</ControlFlow><Normal Text> (int i</Normal Text><Symbol>=</Symbol><Decimal>0</Decimal><Symbol>;</Symbol><Normal Text> i </Normal Text><Symbol><</Symbol><Normal Text> j</Normal Text><Symbol>;</Symbol><Normal Text> i</Normal Text><Symbol>++</Symbol><Normal Text>)</Normal Text><br/>
<Normal Text>  </Normal Text><Built-in Objects>document</Built-in Objects><Symbol>.</Symbol><Object Method (Built-in)>write</Object Method (Built-in)><Normal Text>(</Normal Text><String>"i is"</String><Normal Text> </Normal Text><Symbol>+</Symbol><Normal Text> i </Normal Text><Symbol>+</Symbol><Normal Text> </Normal Text><String>"<br>"</String><Normal Text>)</Normal Text><Symbol>;</Symbol><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>while</ControlFlow><Normal Text> (something)</Normal Text><br/>
<Normal Text>{</Normal Text><br/>
<Normal Text>  </Normal Text><Function Name>block</Function Name><Normal Text>()</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>  </Normal Text><JSON>picky</JSON><Symbol>:</Symbol><br/>
<Normal Text>    </Normal Text><ControlFlow>if</ControlFlow><Normal Text> (</Normal Text><Symbol>!</Symbol><Decimal>1</Decimal><Normal Text>)</Normal Text><br/>
<Normal Text>      </Normal Text><ControlFlow>break</ControlFlow><Symbol>;</Symbol><br/>
<Normal Text>    </Normal Text><ControlFlow>else</ControlFlow><br/>
<Normal Text>      </Normal Text><ControlFlow>continue</ControlFlow><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>with</ControlFlow><Normal Text> (a) {</Normal Text><br/>
<Normal Text>  </Normal Text><ControlFlow>do</ControlFlow><Normal Text> {</Normal Text><br/>
<Normal Text>    </Normal Text><Function Name>stuff</Function Name><Normal Text>( b )</Normal Text><Symbol>;</Symbol><Normal Text> </Normal Text><Comment>// a.b if it exists</Comment><br/>
<Normal Text>  } </Normal Text><ControlFlow>while</ControlFlow><Normal Text> (itmakessense)</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Normal Text></Normal Text><br/>
<ControlFlow>switch</ControlFlow><Normal Text> (i) {</Normal Text><br/>
<Normal Text>  </Normal Text><ControlFlow>case</ControlFlow><Normal Text> </Normal Text><Decimal>0</Decimal><Symbol>:</Symbol><br/>
<Normal Text>  </Normal Text><Function Name>f</Function Name><Normal Text>()</Normal Text><Symbol>;</Symbol><br/>
<Normal Text>  </Normal Text><ControlFlow>break</ControlFlow><Symbol>;</Symbol><br/>
<Normal Text>  </Normal Text><ControlFlow>default</ControlFlow><Symbol>:</Symbol><br/>
<Normal Text>  </Normal Text><ControlFlow>break</ControlFlow><Symbol>;</Symbol><br/>
<Normal Text>}</Normal Text><br/>
<Normal Text></Normal Text><br/>
<Comment>// Numerics</Comment><br/>
<Keyword>var</Keyword><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA</Hex><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b1</Binary><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o7</Octal><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>07</Octal><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>08</Decimal><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>1.1E+3</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> e </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>1.E+3</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> f </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>.1E+3</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> g </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>1E+3</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> h </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>1.1</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> i </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>1.</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> j </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Float>.1</Float><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> k </Normal Text><Symbol>=</Symbol><Normal Text>  </Normal Text><Decimal>1</Decimal><Symbol>;</Symbol><br/>
<Comment>// Bigint</Comment><br/>
<Keyword>const</Keyword><Normal Text> binBig </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b101</Binary><Normal Text>n</Normal Text><Symbol>;</Symbol><br/>
<Keyword>const</Keyword><Normal Text> octBig </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o567</Octal><Normal Text>n</Normal Text><Symbol>;</Symbol><br/>
<Keyword>const</Keyword><Normal Text> hexBig </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xC0B</Hex><Normal Text>n</Normal Text><Symbol>;</Symbol><br/>
<Keyword>const</Keyword><Normal Text> decBig </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>123</Decimal><Normal Text>n</Normal Text><Symbol>;</Symbol><br/>
<Comment>// Invalid numbers</Comment><br/>
<Keyword>var</Keyword><Normal Text> l </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA1</Hex><Error>t</Error><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> m </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b01</Binary><Error>23</Error><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> n </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o2</Octal><Error>9</Error><Symbol>;</Symbol><br/>
<Keyword>var</Keyword><Normal Text> n </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>000</Decimal><Error>_7</Error><Symbol>;</Symbol><br/>
<Comment>// Number with separator</Comment><br/>
<Reserved>let</Reserved><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA_b_1</Hex><br/>
<Reserved>let</Reserved><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA_b_1</Hex><Normal Text>n</Normal Text><br/>
<Reserved>let</Reserved><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA_b_1</Hex><Error>_</Error><br/>
<Reserved>let</Reserved><Normal Text> a </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Hex>0xA_b</Hex><Error>__1</Error><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o1_2_3</Octal><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o1_2_3</Octal><Normal Text>n</Normal Text><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o1_2_3</Octal><Error>_</Error><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o1_2</Octal><Error>__3</Error><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>0o1_2_3</Octal><Error>8</Error><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>01_2_3</Octal><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>01_2_3</Octal><Normal Text>n</Normal Text><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>01_2_3</Octal><Error>_</Error><br/>
<Reserved>let</Reserved><Normal Text> b </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Octal>01_2</Octal><Error>__3</Error><br/>
<Reserved>let</Reserved><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b0_1_1</Binary><br/>
<Reserved>let</Reserved><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b0_1_1</Binary><Normal Text>n</Normal Text><br/>
<Reserved>let</Reserved><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b0_1_1</Binary><Error>_</Error><br/>
<Reserved>let</Reserved><Normal Text> c </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Binary>0b0_1</Binary><Error>__1</Error><br/>
<Reserved>let</Reserved><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>1_2_3</Decimal><br/>
<Reserved>let</Reserved><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>1_2_3</Decimal><Normal Text>n</Normal Text><br/>
<Reserved>let</Reserved><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>1_2_3</Decimal><Error>_</Error><br/>
<Reserved>let</Reserved><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>1_2</Decimal><Error>__3</Error><br/>
<Reserved>let</Reserved><Normal Text> d </Normal Text><Symbol>=</Symbol><Normal Text> </Normal Text><Decimal>01_2_8</Decimal><br/>
