diff options
| author | Georg Brandl <georg@python.org> | 2021-01-18 21:24:00 +0100 |
|---|---|---|
| committer | Georg Brandl <georg@python.org> | 2021-01-18 22:08:36 +0100 |
| commit | 2a3d3a7d5b9c60dedf6638d876161d9563faebcf (patch) | |
| tree | 809c0b4a686db98f5954afa1944404cd9652c6b2 /tests/lexers/urbiscript | |
| parent | f0445be718da83541ea3401aad882f3937147263 (diff) | |
| download | pygments-git-examplefiles.tar.gz | |
Move test_examplefiles to new tests/lexers scheme.examplefiles
Diffstat (limited to 'tests/lexers/urbiscript')
| -rw-r--r-- | tests/lexers/urbiscript/example.txt | 4114 |
1 files changed, 4114 insertions, 0 deletions
diff --git a/tests/lexers/urbiscript/example.txt b/tests/lexers/urbiscript/example.txt new file mode 100644 index 00000000..3200bf48 --- /dev/null +++ b/tests/lexers/urbiscript/example.txt @@ -0,0 +1,4114 @@ +---input--- + // This is a one line comment. + /* an inner comment */ + + /* nested /* comments */ */ + + /* + /* + Multi-line. + */ + */ + +// Binary blob escape. +//"some text \B(3)("\") ouhyeah" == "\"\\\""; +"some text \B(3)("\") ouhyeah" == "\"\\\""; +'some text \B(3)('\') ouhyeah' == '\'\\\''; + +//"\B(4)()"'()"; +"\B(4)()"'()"; +'\B(4)()'"()'; + +//blob size limits +"hey ! \B(0)() oh !" + +//blob format is wrong +"hey ! \B(2)(aaa) oh !" +"hey ! \B(100)(aaa) oh !" + +//multiple blob in a string +"hey ! \B(3)(aaa) hey ! \B(3)(aaa) oh !" + +// multiple digits blob size +"hey ! \B(10)(aaaaaaaaaa) !" +"hey ! \B(10)(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) !" +"hey ! \B(100)(a) !" + +// multiple digits blob size +"hey ! \B(007)(aaaaaaa) !" +"hey ! \B(007)(aa) !" +"hey ! \B(007)(aaaaaaaaaaaaaaaaaa) !" + +// deprecated and restricted keyworks +emit Event.new; +static int main(); + +loopn (2) {echo("a");}; + +foreach (var i : [1,2,3,4]) { + echo(i); +}; + +function() {}; + +var 'if'; +var this.'else'; + +var '%x'; +var '1 2 3'; +var this.'[]'; + +// angles +pi == 180deg; +pi == 200grad; + +// Dictionary +[ => ]; // The empty dictionary + +// duration +1d == 24h; +0.5d == 12h; +1h == 60min; +1min == 60s; +1s == 1000ms; + +1s == 1; +1s 2s 3s == 6; +1s 1ms == 1.001; +1ms 1s == 1.001; + + + 1 == 1; + 1 == 1.0; + 1.2 == 1.2000; + 1.234e6 == 1234000; + 1e+11 == 1E+11; + 1e10 == 10000000000; + 1e30 == 1e10 * 1e10 * 1e10; + + +0.000001; + +0.0000001; + +0.00000000001; + +1e+3; + +1E-5; + + +1.; +// [00004701:error] !!! syntax error: unexpected ; + + 0x2a == 42; + 0x2A == 42; + 0xabcdef == 11259375; + 0xABCDEF == 11259375; +0xFFFFFFFF == 4294967295; + + +//123foo; +//[00005658:error] !!! syntax error: invalid token: '123foo' +//12.3foo; +//[00018827:error] !!! syntax error: invalid token: '12.3foo' +0xabcdef; +//[00060432] 11259375 +//0xabcdefg; +//[00061848:error] !!! syntax error: invalid token: '0xabcdefg' + + +[]; // The empty list +[1, 2, 3]; + +// Special characters. +"\"" == "\""; +"\\" == "\\"; + +// ASCII characters. +"\a" == "\007"; "\a" == "\x07"; +"\b" == "\010"; "\b" == "\x08"; +"\f" == "\014"; "\f" == "\x0c"; +"\n" == "\012"; "\n" == "\x0a"; +"\r" == "\015"; "\r" == "\x0d"; +"\t" == "\011"; "\t" == "\x09"; +"\v" == "\013"; "\v" == "\x0b"; + +// Octal escapes. +"\0" == "\00"; "\0" == "\000"; +"\0000" == "\0""0"; +"\062\063" == "23"; + +// Hexadecimal escapes. +"\x00" == "\0"; +"\x32\x33" == "23"; + + + +"foo" "bar" "baz" == "foobarbaz"; + +// Tuples +(); +[00000000] () +(1,); +[00000000] (1,) +(1, 2); +[00000000] (1, 2) +(1, 2, 3, 4,); +[00000000] (1, 2, 3, 4) + +function Global.verboseId(var x) +{ + echo(x) | x +}|; +class verboseId(Global).math : verboseId(Math) +{ +}; + +{ + for (3) + { + sleep(1s); + echo("ping"); + }, + sleep(0.5s); + for (3) + { + sleep(1s); + echo("pong"); + }, +}; + + 1 + 1 == 2; + 1 - 2 == -1; + 2 * 3 == 6; + 10 / 2 == 5; + 2 ** 10 == 1024; + -(1 + 2) == -3; + 1 + 2 * 3 == 7; + (1 + 2) * 3 == 9; + -2 ** 2 == -4; + - - - - 1 == 1; + +a = b +a += b +a -= b +a *= b +a /= b +a %= b +a ^= b + + +var value = 0|; +var valueAlias = value|; +value += 10; +valueAlias; +var myList = []|; +var myList.specialFeature = 42|; +myList += [1, 2, 3]; +myList.specialFeature; +var myOtherList = myList + [4, 5]; +myOtherList.specialFeature; +var something = []|; +var somethingElse = something|; +something += [1, 2]; +somethingElse += [3, 4]; +something; + + +class Counter +{ + var count = 0; + function init (n) { var this.count = n }; + // Display the value, and the identity. + function asString() { "%s @ %s" % [count, uid ] }; + function '+'(var n) { new(count + n) }; + function '-'(var n) { new(count - n) }; +}|; + + +class ImmutableCounter : Counter +{ + function '+='(var n) { this + n }; + function '-='(var n) { this - n }; +}|; + +var ic1 = ImmutableCounter.new(0); +var ic2 = ic1; + +ic1 += 1; +ic1; +ic2; + + +a << b +a >> b +a ^ b + +4 << 2 == 16; +4 >> 2 == 1; + +!a +a && b +a || b + +true && true; +true || false; +!true == false; +true || (1 / 0); +(false && (1 / 0)) == false; + +a == b +a != b +a === b +a !== b +a ~= b +a =~= b +a < b +a <= b +a > b +a >= b + +assert{ + ! (0 < 0); + 0 <= 0; + 0 == 0; + 0 !== 0; +}; + +a in b +a not in b +a[args] +a[args] = v + +1 in [0, 1, 2]; +3 not in [0, 1, 2]; + +"one" in ["zero" => 0, "one" => 1, "two" => 2]; +"three" not in ["zero" => 0, "one" => 1, "two" => 2]; + +a.b +a.b(args) +a->b +a->b = v +a.&b + +var obj = Object.new|; +function obj.f() { 24 }|; + + +var f = function(a, b) { + echo(b + a); +}| +f(1, 0); + + +function g3() +{ + return; // Stop execution at this point and return void + echo(0); // This is not executed +}| + +Object.setProperty, to define/set a property. +Object.getProperty, to get a property. +Object.removeProperty, to delete a property. +Object.hasProperty, to test for the existence of a property. +Object.properties, to get all the properties of a slot. + +enum Suit +{ + hearts, + diamonds, + clubs, + spades, // Last comma is optional +}; + +for (var suit in Suit) + echo("%s the ace of %s." % [find_ace(suit), suit]); + +switch ( ("foo", [1, 2]) ) +{ + // The pattern does not match the values of the list. + case ("foo", [2, 1]): + echo("fail"); + + // The pattern does not match the tuple. + case ["foo", [1, 2]]: + echo("fail"); + + // The pattern matches and binds the variable "l" + // but the condition is not verified. + case ("foo", var l) if l.size == 0: + echo("fail"); + + // The pattern matches. + case ("foo", [var a, var b]): + echo("foo(%s, %s)" % [a, b]); +}; +//[00000000] *** foo(1, 2) + +{ + ["b" => var b, "a" => var a] = ["a" => 1, "b" => 2, "c" => 3]; + echo("a = %d, b = %d" % [a, b]); +}; +//[00000000] *** a = 1, b = 2 + + +switch (["speed" => 2, "time" => 6s]) +{ + case ["speed" => var s] if s > 3: + echo("Too fast"); + case ["speed" => var s, "time" => var t] if s * t > 10: + echo("Too far"); +}; +//[00000000] *** Too far + + +try +{ + throw ("message", 0) +} +catch (var e if e.isA(Exception)) +{ + echo(e.message) +} +catch ((var msg, var value) if value.isA(Float)) +{ + echo("%s: %d" % [msg, value]) +}; +//[00000000] *** message: 0 + + +{ + var e = Event.new; + at (e?(var msg, var value) if value % 2 == 0) + echo("%s: %d" % [msg, value]); + + // Does not trigger the "at" because the guard is not verified. + e!("message", 1); + + // Trigger the "at". + e!("message", 2); +}; +//[00000000] *** message: 2 + +for (var i = 0; i < 8; i++) +{ + if (i % 2 != 0) + continue; + echo(i); +}; + +do (1024) +{ + assert(this == 1024); + assert(sqrt == 32); + setSlot("y", 23); +}.y; + +{ + var n = 10|; + var res = []|; + loop;{ + n--; + res << n; + if (n == 0) + break + }; + res +} + + +{ + var n = 10|; + var res = []|; + loop|{ + n--; + res << n; + if (n == 0) + break + }; + res +} + + +var j = 3| +while (0 < j) +{ + echo(j); + j--; +}; + + +{ + var i = 4| + while| (true) + { + i -= 1; + echo ("in: " + i); + if (i == 1) + break + else if (i == 2) + continue; + echo ("out: " + i); + }; +}; + + + +function test(e) +{ + try + { throw e; } + catch (0) + { echo("zero") } + catch ([var x, var y]) + { echo(x + y) } +} | {}; + +try { echo("try") } +catch { echo("catch")} +else { echo("else")}; + + +try +{ + echo("inside"); +} +finally +{ + echo("finally"); +}; +//[00000001] *** inside +//[00000002] *** finally + +at (e?(var start) ~ 1s) + echo("in : %s" % (time - start).round) +onleave + echo("out: %s" % (time - start).round); + +// This emission is too short to trigger the at. +e!(time); + +// This one is long enough. +// The body triggers 1s after the emission started. +e!(time) ~ 2s; +//[00001000] *** in : 1 +//[00002000] *** out: 2 + + +timeout (2.1s) + every (1s) + echo("Are you still there?"); +//[00000000] *** Are you still there? +//[00001000] *** Are you still there? +//[00002000] *** Are you still there? + + every| (1s) + { + echo("aba"); + }; + +for, (var i = 3; 0 < i; i -= 1) +{ + echo (i); +}; + + +for& (var i: [0, 1, 2]) +{ + echo (i * i); +}; + +loop,{ +}; + + +waituntil (e?(1, var b)); + +whenever (e?("arg", var arg) if arg % 2) + echo("e (%s) on" % arg) +else + echo("e off"); + + + while, (i) + { + var j = i -= 1; + }| + + +var y = 0; +{ + sleep(0.5s); + y = 100 smooth:3s, +}, + + + + +---tokens--- +' ' Text +'// This is a one line comment. \n' Comment + +' ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'a' Comment.Multiline +'n' Comment.Multiline +' ' Comment.Multiline +'i' Comment.Multiline +'n' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'r' Comment.Multiline +' ' Comment.Multiline +'c' Comment.Multiline +'o' Comment.Multiline +'m' Comment.Multiline +'m' Comment.Multiline +'e' Comment.Multiline +'n' Comment.Multiline +'t' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n \n ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'s' Comment.Multiline +'t' Comment.Multiline +'e' Comment.Multiline +'d' Comment.Multiline +' ' Comment.Multiline +'/*' Comment.Multiline +' ' Comment.Multiline +'c' Comment.Multiline +'o' Comment.Multiline +'m' Comment.Multiline +'m' Comment.Multiline +'e' Comment.Multiline +'n' Comment.Multiline +'t' Comment.Multiline +'s' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n \n ' Text +'/*' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'/*' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'M' Comment.Multiline +'u' Comment.Multiline +'l' Comment.Multiline +'t' Comment.Multiline +'i' Comment.Multiline +'-' Comment.Multiline +'l' Comment.Multiline +'i' Comment.Multiline +'n' Comment.Multiline +'e' Comment.Multiline +'.' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' ' Comment.Multiline +'\n' Comment.Multiline + +' ' Comment.Multiline +' ' Comment.Multiline +'*/' Comment.Multiline +' \n\n' Text + +'// Binary blob escape. \n' Comment + +'//"some text \\B(3)("\\") ouhyeah" == "\\"\\\\\\"";\n' Comment + +'"' Literal.String.Double +'some text ' Literal.String +'\\B(3)("\\")' Literal.String.Escape +' ouhyeah"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\"\\\\\\""' Literal.String.Double +';' Punctuation +'\n' Text + +"'" Literal.String.Single +'some text ' Literal.String +"\\B(3)('\\')" Literal.String.Escape +" ouhyeah'" Literal.String.Single +' ' Text +'==' Operator +' ' Text +"'" Literal.String.Single +"\\'\\\\\\''" Literal.String.Single +';' Punctuation +'\n\n' Text + +'//"\\B(4)()"\'()";\n' Comment + +'"' Literal.String.Double +'' Literal.String +'\\B(4)()"\'()' Literal.String.Escape +'"' Literal.String.Double +';' Punctuation +'\n' Text + +"'" Literal.String.Single +'' Literal.String +'\\B(4)()\'"()' Literal.String.Escape +"'" Literal.String.Single +';' Punctuation +'\n\n' Text + +'//blob size limits\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(0)()' Literal.String.Escape +' oh !"' Literal.String.Double +'\n\n' Text + +'//blob format is wrong\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(2)(' Literal.String +'aaa) oh !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(100)(' Literal.String +'aaa) oh !"' Literal.String.Double +'\n\n' Text + +'//multiple blob in a string\n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(3)(aaa)' Literal.String.Escape +' hey ! ' Literal.String +'\\B(3)(aaa)' Literal.String.Escape +' oh !"' Literal.String.Double +'\n\n' Text + +'// multiple digits blob size \n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(10)(aaaaaaaaaa)' Literal.String.Escape +' !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(10)(' Literal.String +'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(100)(' Literal.String +'a) !"' Literal.String.Double +'\n\n' Text + +'// multiple digits blob size \n' Comment + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(aaaaaaa)' Literal.String.Escape +' !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(' Literal.String +'aa) !"' Literal.String.Double +'\n' Text + +'"' Literal.String.Double +'hey ! ' Literal.String +'\\B(007)(' Literal.String +'aaaaaaaaaaaaaaaaaa) !"' Literal.String.Double +'\n\n' Text + +'// deprecated and restricted keyworks \n' Comment + +'emit' Keyword +' ' Text +'Event' Name.Builtin +'.' Operator +'new' Keyword +';' Punctuation +'\n' Text + +'static' Keyword +' ' Text +'int' Keyword.Reserved +' ' Text +'main' Name.Other +'()' Punctuation +';' Punctuation +'\n\n' Text + +'loopn' Keyword +' ' Text +'(' Punctuation +'2' Literal.Number.Float +')' Punctuation +' ' Text +'{' Punctuation +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'a"' Literal.String.Double +')' Punctuation +';' Punctuation +'}' Punctuation +';' Punctuation +'\n\n' Text + +'foreach' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +':' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +'2' Literal.Number.Float +',' Punctuation +'3' Literal.Number.Float +',' Punctuation +'4' Literal.Number.Float +'])' Punctuation +' ' Text +'{' Punctuation +'\n\t' Text +'echo' Name.Other +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +'\n' Text + +'}' Punctuation +';' Punctuation +'\n\n' Text + +'function' Keyword.Declaration +'()' Punctuation +' ' Text +'{}' Punctuation +';' Punctuation +'\n \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"if'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +"'" Literal.String.Single +"else'" Literal.String.Single +';' Punctuation +' \n \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"%x'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"1 2 3'" Literal.String.Single +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +"'" Literal.String.Single +"[]'" Literal.String.Single +';' Punctuation +'\n \n' Text + +'// angles \n' Comment + +'pi' Name.Other +' ' Text +'==' Operator +' ' Text +'180deg' Literal.Number.Float +';' Punctuation +' \n' Text + +'pi' Name.Other +' ' Text +'==' Operator +' ' Text +'200grad' Literal.Number.Float +';' Punctuation +'\n \n' Text + +'// Dictionary\n' Comment + +'[' Punctuation +' ' Text +'=>' Operator +' ' Text +']' Punctuation +';' Punctuation +' ' Text +'// The empty dictionary \n' Comment + +'\n' Text + +'// duration \n' Comment + +'1d' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'24h' Literal.Number.Float +';' Punctuation +' \n' Text + +'0.5d' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'12h' Literal.Number.Float +';' Punctuation +' \n' Text + +'1h' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'60min' Literal.Number.Float +';' Punctuation +' \n' Text + +'1min' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'60s' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1000ms' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'2s' Literal.Number.Float +' ' Text +'3s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'6' Literal.Number.Float +';' Punctuation +' \n' Text + +'1s' Literal.Number.Float +' ' Text +'1ms' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.001' Literal.Number.Float +';' Punctuation +' \n' Text + +'1ms' Literal.Number.Float +' ' Text +'1s' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.001' Literal.Number.Float +';' Punctuation +'\n \n \n ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.0' Literal.Number.Float +';' Punctuation +' \n ' Text +'1.2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1.2000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1.234e6' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1234000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e+11' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1E+11' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e10' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'10000000000' Literal.Number.Float +';' Punctuation +' \n ' Text +'1e30' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1e10' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'1e10' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'1e10' Literal.Number.Float +';' Punctuation +'\n \n \n' Text + +'0.000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'0.0000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'0.00000000001' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1e+3' Literal.Number.Float +';' Punctuation +' \n \n' Text + +'1E-5' Literal.Number.Float +';' Punctuation +' \n \n\n' Text + +'1' Literal.Number.Float +'.' Operator +';' Punctuation +' \n' Text + +'// [00004701:error] !!! syntax error: unexpected ;\n' Comment + +' \n ' Text +'0x2a' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'42' Literal.Number.Float +';' Punctuation +' \n ' Text +'0x2A' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'42' Literal.Number.Float +';' Punctuation +' \n ' Text +'0xabcdef' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'11259375' Literal.Number.Float +';' Punctuation +' \n ' Text +'0xABCDEF' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'11259375' Literal.Number.Float +';' Punctuation +' \n' Text + +'0xFFFFFFFF' Literal.Number.Hex +' ' Text +'==' Operator +' ' Text +'4294967295' Literal.Number.Float +';' Punctuation +'\n \n \n' Text + +'//123foo; \n' Comment + +"//[00005658:error] !!! syntax error: invalid token: '123foo' \n" Comment + +'//12.3foo; \n' Comment + +"//[00018827:error] !!! syntax error: invalid token: '12.3foo' \n" Comment + +'0xabcdef' Literal.Number.Hex +';' Punctuation +' \n' Text + +'//[00060432] 11259375 \n' Comment + +'//0xabcdefg; \n' Comment + +"//[00061848:error] !!! syntax error: invalid token: '0xabcdefg'\n" Comment + +' \n \n' Text + +'[]' Punctuation +';' Punctuation +' ' Text +'// The empty list \n' Comment + +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n \n' Text + +'// Special characters. \n' Comment + +'"' Literal.String.Double +'\\""' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\""' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\\\"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\\\"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// ASCII characters. \n' Comment + +'"' Literal.String.Double +'\\a"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\007"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\a"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x07"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\b"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\010"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\b"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x08"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\f"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\014"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\f"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0c"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\n"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\012"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\n"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0a"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\r"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\015"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\r"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0d"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\t"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\011"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\t"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x09"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\v"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\013"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\v"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\x0b"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// Octal escapes. \n' Comment + +'"' Literal.String.Double +'\\0"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\00"' Literal.String.Double +';' Punctuation +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\000"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\0000"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +'"' Literal.String.Double +'0"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\062\\063"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'23"' Literal.String.Double +';' Punctuation +' \n \n' Text + +'// Hexadecimal escapes. \n' Comment + +'"' Literal.String.Double +'\\x00"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'\\0"' Literal.String.Double +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'\\x32\\x33"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'23"' Literal.String.Double +';' Punctuation +' \n \n \n \n' Text + +'"' Literal.String.Double +'foo"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'bar"' Literal.String.Double +' ' Text +'"' Literal.String.Double +'baz"' Literal.String.Double +' ' Text +'==' Operator +' ' Text +'"' Literal.String.Double +'foobarbaz"' Literal.String.Double +';' Punctuation +'\n \n' Text + +'// Tuples \n' Comment + +'()' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'()' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +')' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n' Text + +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +',' Punctuation +')' Punctuation +';' Punctuation +' \n' Text + +'[' Punctuation +'00000000' Literal.Number.Float +']' Punctuation +' ' Text +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +')' Punctuation +'\n \n' Text + +'function' Keyword.Declaration +' ' Text +'Global' Name.Builtin +'.' Operator +'verboseId' Name.Other +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'x' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'x' Name.Other +')' Punctuation +' ' Text +'|' Punctuation +' ' Text +'x' Name.Other +' \n' Text + +'}' Punctuation +'|;' Punctuation +' \n' Text + +'class' Keyword.Declaration +' ' Text +'verboseId' Name.Other +'(' Punctuation +'Global' Name.Builtin +')' Punctuation +'.' Operator +'math' Name.Other +' ' Text +':' Operator +' ' Text +'verboseId' Name.Other +'(' Punctuation +'Math' Name.Builtin +')' Punctuation +' \n' Text + +'{' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'{' Punctuation +' \n ' Text +'for' Keyword +' ' Text +'(' Punctuation +'3' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'ping"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +',' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'0.5s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'for' Keyword +' ' Text +'(' Punctuation +'3' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'pong"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +',' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n ' Text +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'2' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'-' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'-' Operator +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'2' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'6' Literal.Number.Float +';' Punctuation +' \n ' Text +'10' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'5' Literal.Number.Float +';' Punctuation +' \n ' Text +'2' Literal.Number.Float +' ' Text +'**' Operator +' ' Text +'10' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1024' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' ' Text +'==' Operator +' ' Text +'-' Operator +'3' Literal.Number.Float +';' Punctuation +' \n ' Text +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'7' Literal.Number.Float +';' Punctuation +' \n ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'+' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' ' Text +'*' Operator +' ' Text +'3' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'9' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +'2' Literal.Number.Float +' ' Text +'**' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'-' Operator +'4' Literal.Number.Float +';' Punctuation +' \n ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'-' Operator +' ' Text +'1' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n\n' Text + +'a' Name.Other +' ' Text +'=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'+=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'-=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'*=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'/=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'%=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'^=' Operator +' ' Text +'b' Name.Other +'\n\n \n' Text + +'var' Keyword.Declaration +' ' Text +'value' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'valueAlias' Name.Other +' ' Text +'=' Operator +' ' Text +'value' Name.Other +'|;' Punctuation +' \n' Text + +'value' Name.Other +' ' Text +'+=' Operator +' ' Text +'10' Literal.Number.Float +';' Punctuation +' \n' Text + +'valueAlias' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myList' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myList' Name.Other +'.' Operator +'specialFeature' Name.Other +' ' Text +'=' Operator +' ' Text +'42' Literal.Number.Float +'|;' Punctuation +' \n' Text + +'myList' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'myList' Name.Other +'.' Operator +'specialFeature' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'myOtherList' Name.Other +' ' Text +'=' Operator +' ' Text +'myList' Name.Other +' ' Text +'+' Operator +' ' Text +'[' Punctuation +'4' Literal.Number.Float +',' Punctuation +' ' Text +'5' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'myOtherList' Name.Other +'.' Operator +'specialFeature' Name.Other +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'something' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'somethingElse' Name.Other +' ' Text +'=' Operator +' ' Text +'something' Name.Other +'|;' Punctuation +' \n' Text + +'something' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'somethingElse' Name.Other +' ' Text +'+=' Operator +' ' Text +'[' Punctuation +'3' Literal.Number.Float +',' Punctuation +' ' Text +'4' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'something' Name.Other +';' Punctuation +' \n \n \n' Text + +'class' Keyword.Declaration +' ' Text +'Counter' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'count' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +'init' Name.Other +' ' Text +'(' Punctuation +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'this' Keyword +'.' Operator +'count' Name.Other +' ' Text +'=' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'// Display the value, and the identity. \n' Comment + +' ' Text +'function' Keyword.Declaration +' ' Text +'asString' Name.Other +'()' Punctuation +' ' Text +'{' Punctuation +' ' Text +'"' Literal.String.Double +'%s @ %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'count' Name.Other +',' Punctuation +' ' Text +'uid' Name.Other +' ' Text +']' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"+'" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'new' Keyword +'(' Punctuation +'count' Name.Other +' ' Text +'+' Operator +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"-'" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'new' Keyword +'(' Punctuation +'count' Name.Other +' ' Text +'-' Operator +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|;' Punctuation +'\n \n \n' Text + +'class' Keyword.Declaration +' ' Text +'ImmutableCounter' Name.Other +' ' Text +':' Operator +' ' Text +'Counter' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"+='" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'this' Keyword +' ' Text +'+' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'function' Keyword.Declaration +' ' Text +"'" Literal.String.Single +"-='" Literal.String.Single +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'n' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' ' Text +'this' Keyword +' ' Text +'-' Operator +' ' Text +'n' Name.Other +' ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|;' Punctuation +' \n \n' Text + +'var' Keyword.Declaration +' ' Text +'ic1' Name.Other +' ' Text +'=' Operator +' ' Text +'ImmutableCounter' Name.Other +'.' Operator +'new' Keyword +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'var' Keyword.Declaration +' ' Text +'ic2' Name.Other +' ' Text +'=' Operator +' ' Text +'ic1' Name.Other +';' Punctuation +' \n \n' Text + +'ic1' Name.Other +' ' Text +'+=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n' Text + +'ic1' Name.Other +';' Punctuation +' \n' Text + +'ic2' Name.Other +';' Punctuation +' \n \n\n' Text + +'a' Name.Other +' ' Text +'<<' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>>' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'^' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'4' Literal.Number.Float +' ' Text +'<<' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'16' Literal.Number.Float +';' Punctuation +' \n' Text + +'4' Literal.Number.Float +' ' Text +'>>' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +'\n \n' Text + +'!' Punctuation +'a' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'&&' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'||' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'true' Keyword.Constant +' ' Text +'&&' Operator +' ' Text +'true' Keyword.Constant +';' Punctuation +' \n' Text + +'true' Keyword.Constant +' ' Text +'||' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +' \n' Text + +'!' Punctuation +'true' Keyword.Constant +' ' Text +'==' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +' \n' Text + +'true' Keyword.Constant +' ' Text +'||' Operator +' ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'(' Punctuation +'false' Keyword.Constant +' ' Text +'&&' Operator +' ' Text +'(' Punctuation +'1' Literal.Number.Float +' ' Text +'/' Operator +' ' Text +'0' Literal.Number.Float +'))' Punctuation +' ' Text +'==' Operator +' ' Text +'false' Keyword.Constant +';' Punctuation +'\n \n' Text + +'a' Name.Other +' ' Text +'==' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'!' Punctuation +'=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'===' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'!' Punctuation +'==' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'~=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'=~=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'<' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'<=' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>' Operator +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'>=' Operator +' ' Text +'b' Name.Other +'\n \n' Text + +'assert' Keyword +'{' Punctuation +' \n ' Text +'!' Punctuation +' ' Text +'(' Punctuation +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'<=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n ' Text +'0' Literal.Number.Float +' ' Text +'!' Punctuation +'==' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n' Text + +'a' Name.Other +' ' Text +'in' Operator.Word +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'b' Name.Other +'\n' Text + +'a' Name.Other +'[' Punctuation +'args' Name.Other +']' Punctuation +'\n' Text + +'a' Name.Other +'[' Punctuation +'args' Name.Other +']' Punctuation +' ' Text +'=' Operator +' ' Text +'v' Name.Other +'\n \n' Text + +'1' Literal.Number.Float +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'3' Literal.Number.Float +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n \n' Text + +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'two"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n' Text + +'"' Literal.String.Double +'three"' Literal.String.Double +' ' Text +'not' Operator.Word +' ' Text +'in' Operator.Word +' ' Text +'[' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'0' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'one"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'two"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +']' Punctuation +';' Punctuation +'\n \n' Text + +'a' Name.Other +'.' Operator +'b' Name.Other +'\n' Text + +'a' Name.Other +'.' Operator +'b' Name.Other +'(' Punctuation +'args' Name.Other +')' Punctuation +'\n' Text + +'a' Name.Other +'->' Operator +'b' Name.Other +'\n' Text + +'a' Name.Other +'->' Operator +'b' Name.Other +' ' Text +'=' Operator +' ' Text +'v' Name.Other +'\n' Text + +'a' Name.Other +'.&' Operator +'b' Name.Other +'\n \n' Text + +'var' Keyword.Declaration +' ' Text +'obj' Name.Other +' ' Text +'=' Operator +' ' Text +'Object' Name.Builtin +'.' Operator +'new' Keyword +'|;' Punctuation +' \n' Text + +'function' Keyword.Declaration +' ' Text +'obj' Name.Other +'.' Operator +'f' Name.Other +'()' Punctuation +' ' Text +'{' Punctuation +' ' Text +'24' Literal.Number.Float +' ' Text +'}' Punctuation +'|;' Punctuation +' \n \n \n' Text + +'var' Keyword.Declaration +' ' Text +'f' Name.Other +' ' Text +'=' Operator +' ' Text +'function' Keyword.Declaration +'(' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +')' Punctuation +' ' Text +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'b' Name.Other +' ' Text +'+' Operator +' ' Text +'a' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'|' Punctuation +' \n' Text + +'f' Name.Other +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n \n\n' Text + +'function' Keyword.Declaration +' ' Text +'g3' Name.Other +'()' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'return' Keyword +';' Punctuation +' ' Text +'// Stop execution at this point and return void \n' Comment + +' ' Text +'echo' Name.Other +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +';' Punctuation +' ' Text +'// This is not executed \n' Comment + +'}' Punctuation +'|' Punctuation +' \n \n' Text + +'Object' Name.Builtin +'.' Operator +'setProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'define' Name.Other +'/' Operator +'set' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'getProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'get' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'removeProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'delete' Keyword.Reserved +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'hasProperty' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'test' Name.Other +' ' Text +'for' Keyword +' ' Text +'the' Name.Other +' ' Text +'existence' Name.Other +' ' Text +'of' Name.Other +' ' Text +'a' Name.Other +' ' Text +'property' Name.Other +'.' Operator +'\n' Text + +'Object' Name.Builtin +'.' Operator +'properties' Name.Other +',' Punctuation +' ' Text +'to' Name.Other +' ' Text +'get' Name.Other +' ' Text +'all' Name.Other +' ' Text +'the' Name.Other +' ' Text +'properties' Name.Other +' ' Text +'of' Name.Other +' ' Text +'a' Name.Other +' ' Text +'slot' Name.Other +'.' Operator +'\n\n' Text + +'enum' Keyword +' ' Text +'Suit' Name.Other +' \n' Text + +'{' Punctuation +' \n ' Text +'hearts' Name.Other +',' Punctuation +' \n ' Text +'diamonds' Name.Other +',' Punctuation +' \n ' Text +'clubs' Name.Other +',' Punctuation +' \n ' Text +'spades' Name.Other +',' Punctuation +' ' Text +'// Last comma is optional \n' Comment + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'for' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'suit' Name.Other +' ' Text +'in' Operator.Word +' ' Text +'Suit' Name.Other +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s the ace of %s."' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'find_ace' Name.Other +'(' Punctuation +'suit' Name.Other +')' Punctuation +',' Punctuation +' ' Text +'suit' Name.Other +'])' Punctuation +';' Punctuation +' \n \n' Text + +'switch' Keyword +' ' Text +'(' Punctuation +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +'])' Punctuation +' ' Text +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'// The pattern does not match the values of the list. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'2' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +'])' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern does not match the tuple. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +']]' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern matches and binds the variable "l" \n' Comment + +' ' Text +'// but the condition is not verified. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'l' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'l' Name.Other +'.' Operator +'size' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'fail"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n \n ' Text +'// The pattern matches. \n' Comment + +' ' Text +'case' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'foo"' Literal.String.Double +',' Punctuation +' ' Text +'[' Punctuation +'var' Keyword.Declaration +' ' Text +'a' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +'])' Punctuation +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'foo(%s, %s)"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +'])' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** foo(1, 2)\n' Comment + +' \n' Text + +'{' Punctuation +' \n ' Text +'[' Punctuation +'"' Literal.String.Double +'b"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +',' Punctuation +' ' Text +'"' Literal.String.Double +'a"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'a' Name.Other +']' Punctuation +' ' Text +'=' Operator +' ' Text +'[' Punctuation +'"' Literal.String.Double +'a"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'b"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'c"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'3' Literal.Number.Float +']' Punctuation +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'a = %d, b = %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'a' Name.Other +',' Punctuation +' ' Text +'b' Name.Other +'])' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** a = 1, b = 2\n' Comment + +' \n \n' Text + +'switch' Keyword +' ' Text +'([' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'2' Literal.Number.Float +',' Punctuation +' ' Text +'"' Literal.String.Double +'time"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'6s' Literal.Number.Float +'])' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'s' Name.Other +']' Punctuation +' ' Text +'if' Keyword +' ' Text +'s' Name.Other +' ' Text +'>' Operator +' ' Text +'3' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Too fast"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'case' Keyword +' ' Text +'[' Punctuation +'"' Literal.String.Double +'speed"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'s' Name.Other +',' Punctuation +' ' Text +'"' Literal.String.Double +'time"' Literal.String.Double +' ' Text +'=>' Operator +' ' Text +'var' Keyword.Declaration +' ' Text +'t' Name.Other +']' Punctuation +' ' Text +'if' Keyword +' ' Text +'s' Name.Other +' ' Text +'*' Operator +' ' Text +'t' Name.Other +' ' Text +'>' Operator +' ' Text +'10' Literal.Number.Float +':' Operator +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Too far"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** Too far\n' Comment + +' \n \n' Text + +'try' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'throw' Keyword +' ' Text +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'e' Name.Other +' ' Text +'if' Keyword +' ' Text +'e' Name.Other +'.' Operator +'isA' Name.Other +'(' Punctuation +'Exception' Name.Builtin +'))' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'e' Name.Other +'.' Operator +'message' Name.Other +')' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'((' Punctuation +'var' Keyword.Declaration +' ' Text +'msg' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'value' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'value' Name.Other +'.' Operator +'isA' Name.Other +'(' Punctuation +'Float' Name.Builtin +'))' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s: %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'msg' Name.Other +',' Punctuation +' ' Text +'value' Name.Other +'])' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** message: 0\n' Comment + +' \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'e' Name.Other +' ' Text +'=' Operator +' ' Text +'Event' Name.Builtin +'.' Operator +'new' Keyword +';' Punctuation +' \n ' Text +'at' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'msg' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'value' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'value' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'%s: %d"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'[' Punctuation +'msg' Name.Other +',' Punctuation +' ' Text +'value' Name.Other +'])' Punctuation +';' Punctuation +' \n \n ' Text +'// Does not trigger the "at" because the guard is not verified. \n' Comment + +' ' Text +'e' Name.Other +'!' Punctuation +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'1' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n \n ' Text +'// Trigger the "at". \n' Comment + +' ' Text +'e' Name.Other +'!' Punctuation +'(' Punctuation +'"' Literal.String.Double +'message"' Literal.String.Double +',' Punctuation +' ' Text +'2' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** message: 2\n' Comment + +' \n' Text + +'for' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' ' Text +'i' Name.Other +' ' Text +'<' Operator +' ' Text +'8' Literal.Number.Float +';' Punctuation +' ' Text +'i' Name.Other +'++' Operator +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +' ' Text +'!' Punctuation +'=' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'continue' Keyword +';' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n' Text + +'do' Keyword.Declaration +' ' Text +'(' Punctuation +'1024' Literal.Number.Float +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'assert' Keyword +'(' Punctuation +'this' Keyword +' ' Text +'==' Operator +' ' Text +'1024' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'assert' Keyword +'(' Punctuation +'sqrt' Name.Other +' ' Text +'==' Operator +' ' Text +'32' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'setSlot' Name.Other +'(' Punctuation +'"' Literal.String.Double +'y"' Literal.String.Double +',' Punctuation +' ' Text +'23' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +'.' Operator +'y' Name.Other +';' Punctuation +' \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'n' Name.Other +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Float +'|;' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'res' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n ' Text +'loop;' Keyword +'{' Punctuation +' \n ' Text +'n' Name.Other +'--' Operator +';' Punctuation +' \n ' Text +'res' Name.Other +' ' Text +'<<' Operator +' ' Text +'n' Name.Other +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'n' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'res' Name.Other +' \n' Text + +'}' Punctuation +' \n \n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'n' Name.Other +' ' Text +'=' Operator +' ' Text +'10' Literal.Number.Float +'|;' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'res' Name.Other +' ' Text +'=' Operator +' ' Text +'[]' Punctuation +'|;' Punctuation +' \n ' Text +'loop|' Keyword +'{' Punctuation +' \n ' Text +'n' Name.Other +'--' Operator +';' Punctuation +' \n ' Text +'res' Name.Other +' ' Text +'<<' Operator +' ' Text +'n' Name.Other +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'n' Name.Other +' ' Text +'==' Operator +' ' Text +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'}' Punctuation +';' Punctuation +' \n ' Text +'res' Name.Other +' \n' Text + +'}' Punctuation +' \n\n \n' Text + +'var' Keyword.Declaration +' ' Text +'j' Name.Other +' ' Text +'=' Operator +' ' Text +'3' Literal.Number.Float +'|' Punctuation +' \n' Text + +'while' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'j' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'j' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'j' Name.Other +'--' Operator +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n \n' Text + +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'4' Literal.Number.Float +'|' Punctuation +' \n ' Text +'while|' Keyword +' ' Text +'(' Punctuation +'true' Keyword.Constant +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'"' Literal.String.Double +'in: "' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'==' Operator +' ' Text +'1' Literal.Number.Float +')' Punctuation +' \n ' Text +'break' Keyword +' \n ' Text +'else' Keyword +' ' Text +'if' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'==' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n ' Text +'continue' Keyword +';' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'"' Literal.String.Double +'out: "' Literal.String.Double +' ' Text +'+' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n \n \n' Text + +'function' Keyword.Declaration +' ' Text +'test' Name.Other +'(' Punctuation +'e' Name.Other +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'try' Keyword +' \n ' Text +'{' Punctuation +' ' Text +'throw' Keyword +' ' Text +'e' Name.Other +';' Punctuation +' ' Text +'}' Punctuation +' \n ' Text +'catch' Keyword +' ' Text +'(' Punctuation +'0' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'zero"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +' \n ' Text +'catch' Keyword +' ' Text +'([' Punctuation +'var' Keyword.Declaration +' ' Text +'x' Name.Other +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'y' Name.Other +'])' Punctuation +' \n ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'x' Name.Other +' ' Text +'+' Operator +' ' Text +'y' Name.Other +')' Punctuation +' ' Text +'}' Punctuation +' \n' Text + +'}' Punctuation +' ' Text +'|' Punctuation +' ' Text +'{}' Punctuation +';' Punctuation +' \n \n' Text + +'try' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'try"' Literal.String.Double +')' Punctuation +' ' Text +'}' Punctuation +' \n' Text + +'catch' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'catch"' Literal.String.Double +')}' Punctuation +' \n' Text + +'else' Keyword +' ' Text +'{' Punctuation +' ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'else"' Literal.String.Double +')}' Punctuation +';' Punctuation +' \n \n \n' Text + +'try' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'inside"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +' \n' Text + +'finally' Keyword +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'finally"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n' Text + +'//[00000001] *** inside \n' Comment + +'//[00000002] *** finally\n' Comment + +' \n' Text + +'at' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'start' Name.Other +')' Punctuation +' ' Text +'~' Operator +' ' Text +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'in : %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'(' Punctuation +'time' Name.Other +' ' Text +'-' Operator +' ' Text +'start' Name.Other +')' Punctuation +'.' Operator +'round' Name.Other +')' Punctuation +' \n' Text + +'onleave' Keyword +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'out: %s"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'(' Punctuation +'time' Name.Other +' ' Text +'-' Operator +' ' Text +'start' Name.Other +')' Punctuation +'.' Operator +'round' Name.Other +')' Punctuation +';' Punctuation +' \n \n' Text + +'// This emission is too short to trigger the at. \n' Comment + +'e' Name.Other +'!' Punctuation +'(' Punctuation +'time' Name.Other +')' Punctuation +';' Punctuation +' \n \n' Text + +'// This one is long enough. \n' Comment + +'// The body triggers 1s after the emission started. \n' Comment + +'e' Name.Other +'!' Punctuation +'(' Punctuation +'time' Name.Other +')' Punctuation +' ' Text +'~' Operator +' ' Text +'2s' Literal.Number.Float +';' Punctuation +' \n' Text + +'//[00001000] *** in : 1 \n' Comment + +'//[00002000] *** out: 2\n' Comment + +' \n\n' Text + +'timeout' Keyword +' ' Text +'(' Punctuation +'2.1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'every' Keyword +' ' Text +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'Are you still there?"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n' Text + +'//[00000000] *** Are you still there? \n' Comment + +'//[00001000] *** Are you still there? \n' Comment + +'//[00002000] *** Are you still there?\n' Comment + +' \n ' Text +'every|' Keyword +' ' Text +'(' Punctuation +'1s' Literal.Number.Float +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'aba"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n ' Text +'}' Punctuation +';' Punctuation +' \n\n' Text + +'for,' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +' ' Text +'=' Operator +' ' Text +'3' Literal.Number.Float +';' Punctuation +' ' Text +'0' Literal.Number.Float +' ' Text +'<' Operator +' ' Text +'i' Name.Other +';' Punctuation +' ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +')' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n \n' Text + +'for&' Keyword +' ' Text +'(' Punctuation +'var' Keyword.Declaration +' ' Text +'i' Name.Other +':' Operator +' ' Text +'[' Punctuation +'0' Literal.Number.Float +',' Punctuation +' ' Text +'1' Literal.Number.Float +',' Punctuation +' ' Text +'2' Literal.Number.Float +'])' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'echo' Name.Other +' ' Text +'(' Punctuation +'i' Name.Other +' ' Text +'*' Operator +' ' Text +'i' Name.Other +')' Punctuation +';' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n \n' Text + +'loop,' Keyword +'{' Punctuation +' \n' Text + +'}' Punctuation +';' Punctuation +' \n\n\n' Text + +'waituntil' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'1' Literal.Number.Float +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'b' Name.Other +'))' Punctuation +';' Punctuation +' \n\n' Text + +'whenever' Keyword +' ' Text +'(' Punctuation +'e' Name.Other +'?' Punctuation +'(' Punctuation +'"' Literal.String.Double +'arg"' Literal.String.Double +',' Punctuation +' ' Text +'var' Keyword.Declaration +' ' Text +'arg' Name.Other +')' Punctuation +' ' Text +'if' Keyword +' ' Text +'arg' Name.Other +' ' Text +'%' Operator +' ' Text +'2' Literal.Number.Float +')' Punctuation +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'e (%s) on"' Literal.String.Double +' ' Text +'%' Operator +' ' Text +'arg' Name.Other +')' Punctuation +' \n' Text + +'else' Keyword +' \n ' Text +'echo' Name.Other +'(' Punctuation +'"' Literal.String.Double +'e off"' Literal.String.Double +')' Punctuation +';' Punctuation +' \n\n\n ' Text +'while,' Keyword +' ' Text +'(' Punctuation +'i' Name.Other +')' Punctuation +' \n ' Text +'{' Punctuation +' \n ' Text +'var' Keyword.Declaration +' ' Text +'j' Name.Other +' ' Text +'=' Operator +' ' Text +'i' Name.Other +' ' Text +'-=' Operator +' ' Text +'1' Literal.Number.Float +';' Punctuation +' \n ' Text +'}' Punctuation +'|' Punctuation +' \n \n \n' Text + +'var' Keyword.Declaration +' ' Text +'y' Name.Other +' ' Text +'=' Operator +' ' Text +'0' Literal.Number.Float +';' Punctuation +' \n' Text + +'{' Punctuation +' \n ' Text +'sleep' Name.Other +'(' Punctuation +'0.5s' Literal.Number.Float +')' Punctuation +';' Punctuation +' \n ' Text +'y' Name.Other +' ' Text +'=' Operator +' ' Text +'100' Literal.Number.Float +' ' Text +'smooth' Name.Other +':' Operator +'3s' Literal.Number.Float +',' Punctuation +' \n' Text + +'}' Punctuation +',' Punctuation +'\n\n \n \n' Text |
