## SHOULD_PASS:COMPILE @name Parsing Test @persist [XYZ ZYX]:number FOO BAR:entity @inputs In @outputs Out @strict @trigger none #[ Comment ]# # Single line Str = "abcdefghijklm nopqrs\n\t\r\a\v\b\\" Num1 = 0x2042 Num2 = 0b00111001 Num3 = 2432.2352 Num4 = 2193e2 Num5 = 2j + 4.4k + k + j Num6 = 3i + 2.7i + i function f() {} function r() { return } function number test() { return 55 } function entity:test() { return void } function number test(X, Y: vector) { return X } function number test([X Y]) { return X + Y } function number test([X Y]: number) { return X + Y } function number entity:test(...Variadic:array) { Expression = ( test() + 2 ) return Expression } local Var = 2 switch (2) { case 1, break case Var, break default, break } local A = 1 if (A) {} elseif(2) {} else {} while (A) { A = 0 } for (B = 1, 2) { A = 0 } for (B = 1, 2, 3) { A = 0 } foreach (K, V: number = array(1, 2, 3)) { A = 0 } while (A) { break } while (A) { continue } do { A = 0 } while (A) do { break } while (A) do { continue } while (A) try {} catch(Err) {} event tick() {} event chat(_:entity, _:string, _) {} for (_ = 1, 5) {} foreach (K:number, _:entity = table()) {} foreach (_, _:entity = table()) {} function unimplemented(_) {} unimplemented(5) try {} catch(_) {} A++ A-- A += 1 A -= 1 A *= 1 A /= 1 Ternary = 1 ?: 2 Ternary2 = 1 ? 2 : 1 Ops = !(+(-(0 >> 1 << 2 * 3 + 4 - 5 / 6 % 7 && 8 || 9 != 10 == 11 <= 12 >= 13 ^^ 14))) Logical = 0 | 1 & 2 != 3 == 4 array():count() array()[1, number] table(1 = 1, 2 = 2) ~In $In ->In 0 1 "Hello" X = _PI #ifdef print(...) #else #endif #ifndef print(...) #else #endif