606 lines
16 KiB
Text
Generated
606 lines
16 KiB
Text
Generated
'#!/bin/bash' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'#[' Comment.Multiline
|
|
'\n echo Phix ignores all text between ' Comment.Multiline
|
|
'#[' Comment.Multiline
|
|
' and ' Comment.Multiline
|
|
'#]' Comment.Multiline
|
|
' in exactly the same way as ' Comment.Multiline
|
|
'/*' Comment.Multiline
|
|
' and ' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
' \n echo (both "and" are nested comments), allowing arbitrary shell code, for example:\n cd ' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'user' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'project' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'working\n exec ' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'path' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'to' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'phix "$0" "$@"\n exit ' Comment.Multiline
|
|
'#' Comment.Multiline
|
|
' may be needed for the shell to ignore the rest of this file.\n' Comment.Multiline
|
|
|
|
'#' Comment.Multiline
|
|
' comments(' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'shebang) ignored by Phix end here -> ' Comment.Multiline
|
|
'#]' Comment.Multiline
|
|
'\n' Text.Whitespace
|
|
|
|
'-- aside: few files have [multiline] shebangs like above, but this *is* a test file.' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'/*' Comment.Multiline
|
|
' \n Standard\n ' Comment.Multiline
|
|
'/*' Comment.Multiline
|
|
'\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
' Nested\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
' ' Comment.Multiline
|
|
'/*' Comment.Multiline
|
|
'\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
' Block\n ' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
'/*' Comment.Multiline
|
|
' ' Comment.Multiline
|
|
'/*' Comment.Multiline
|
|
'\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
' Comments, of which Phix has quite a few [ok, six] varieties...\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
' ' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
'\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
'\n ' Comment.Multiline
|
|
'*' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
'\n' Comment.Multiline
|
|
|
|
'*/' Comment.Multiline
|
|
'\n' Text.Whitespace
|
|
|
|
'--/*' Comment.Multiline
|
|
'\n Euphoria-compatibility-style nestable multiline comments' Comment.Multiline
|
|
'/' Comment.Multiline
|
|
'code\n--' Comment.Multiline
|
|
'*/' Comment.Multiline
|
|
'\n' Text.Whitespace
|
|
|
|
'// This program should be runnable (C-style line comments, btw, too!)' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'with' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'javascript_semantics' Keyword.Declaration
|
|
'\n' Text.Whitespace
|
|
|
|
'string' Name.Function
|
|
' ' Text.Whitespace
|
|
'pe' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'te' Text
|
|
' ' Text.Whitespace
|
|
':=' Operator
|
|
' ' Text.Whitespace
|
|
'iff' Name.Function
|
|
'(' Operator
|
|
'platform' Name.Function
|
|
'(' Operator
|
|
')' Operator
|
|
'==' Operator
|
|
'JS' Name.Constant
|
|
'?' Operator
|
|
'"JavaScript/browser"' Literal.String.Other
|
|
':' Operator
|
|
'"Phix/desktop"' Literal.String.Other
|
|
')' Operator
|
|
'\n' Text.Whitespace
|
|
|
|
'ifdef' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'PHIX' Text
|
|
' ' Text.Whitespace
|
|
'then' Keyword.Declaration
|
|
' \n ' Text.Whitespace
|
|
'pe' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'"Phix"' Literal.String.Other
|
|
' \n' Text.Whitespace
|
|
|
|
'elsedef' Keyword.Declaration
|
|
' \n ' Text.Whitespace
|
|
'pe' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'"Euphoria"' Literal.String.Other
|
|
' ' Text.Whitespace
|
|
'-- not that this file is compatible with that..' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'end' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'ifdef' Keyword.Declaration
|
|
' \n' Text.Whitespace
|
|
|
|
'printf' Name.Function
|
|
'(' Operator
|
|
'1' Text
|
|
',' Operator
|
|
'"This is %s (%s)\\n"' Literal.String.Other
|
|
',' Operator
|
|
'{' Operator
|
|
'pe' Text
|
|
',' Operator
|
|
'te' Text
|
|
'}' Operator
|
|
')' Operator
|
|
';' Operator
|
|
' ' Text.Whitespace
|
|
'-- the ; is entirely optional' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'assert' Name.Function
|
|
'(' Operator
|
|
'"\\n\\r\\b\\t\\\\\\"\\\'\\0\\e"' Literal.String.Other
|
|
'=' Operator
|
|
'join' Name.Function
|
|
'(' Operator
|
|
'{' Operator
|
|
'""' Literal.String.Other
|
|
',' Operator
|
|
'10' Text
|
|
',' Operator
|
|
'13' Text
|
|
',' Operator
|
|
'8' Text
|
|
',' Operator
|
|
'9' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'5C' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'22' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'27' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'00' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'1B' Text
|
|
'}' Operator
|
|
',' Operator
|
|
'""' Literal.String.Other
|
|
')' Operator
|
|
')' Operator
|
|
'\n' Text.Whitespace
|
|
|
|
'assert' Name.Function
|
|
'(' Operator
|
|
'"\\#42\\x43\\u4445\\U00105678"' Literal.String.Other
|
|
'=' Operator
|
|
'"B"' Literal.String.Other
|
|
'&' Operator
|
|
"'C'" Literal.String.Other
|
|
'&' Operator
|
|
'"\\xE4\\x91\\x85\\xF4\\x85\\x99\\xB8"' Literal.String.Other
|
|
')' Operator
|
|
'\n\n' Text.Whitespace
|
|
|
|
'-- triplequote, triplequote indented, backtick, and doublequote strings:' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
'constant' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'tqs' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'""' Literal.String.Other
|
|
'"\nthis\nstring\\thing"' Literal.String.Other
|
|
'""' Literal.String.Other
|
|
',' Operator
|
|
'\n\n' Text.Whitespace
|
|
|
|
'tqis' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'""' Literal.String.Other
|
|
'"\n_____this\n string\\thing"' Literal.String.Other
|
|
'""' Literal.String.Other
|
|
',' Operator
|
|
'\n\n' Text.Whitespace
|
|
|
|
'bts' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'`this\nstring\\thing`' Literal.String.Other
|
|
',' Operator
|
|
'\n\n' Text.Whitespace
|
|
|
|
'dqs' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'"this\\nstring\\\\thing"' Literal.String.Other
|
|
'\n' Text.Whitespace
|
|
|
|
'assert' Name.Function
|
|
'(' Operator
|
|
'tqs' Text
|
|
'==' Operator
|
|
'tqis' Text
|
|
' ' Text.Whitespace
|
|
'and' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'tqis' Text
|
|
'==' Operator
|
|
'bts' Text
|
|
' ' Text.Whitespace
|
|
'and' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'bts' Text
|
|
'==' Operator
|
|
'dqs' Text
|
|
' ' Text.Whitespace
|
|
'and' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'dqs' Text
|
|
'==' Operator
|
|
'tqs' Text
|
|
')' Operator
|
|
'\n' Text.Whitespace
|
|
|
|
'assert' Name.Function
|
|
'(' Operator
|
|
'x' Text
|
|
'"1 2 34 5678_AbC"' Literal.String.Other
|
|
'==' Operator
|
|
'{' Operator
|
|
'0x01' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0x02' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0x34' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0x56' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0x78' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0xAB' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'0x0C' Text
|
|
'}' Operator
|
|
')' Operator
|
|
'\n\n' Text.Whitespace
|
|
|
|
'-- Beyond comments and strings, not much in Phix bothers a syntax colourer.' Comment.Single
|
|
'\n' Text.Whitespace
|
|
|
|
"-- Originally I had another 380+ lines in here, that didn't prove anything." Comment.Single
|
|
'\n\n' Text.Whitespace
|
|
|
|
'function' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'merge_sort' Text
|
|
'(' Operator
|
|
'sequence' Name.Function
|
|
' ' Text.Whitespace
|
|
'x' Text
|
|
')' Operator
|
|
'\n ' Text.Whitespace
|
|
'-- put x into ascending order using a recursive merge sort' Comment.Single
|
|
'\n ' Text.Whitespace
|
|
'if' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'length' Name.Function
|
|
'(' Operator
|
|
'x' Text
|
|
')' Operator
|
|
'<' Operator
|
|
'=' Operator
|
|
'1' Text
|
|
' ' Text.Whitespace
|
|
'then' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'return' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'x' Text
|
|
' ' Text.Whitespace
|
|
'-- trivial case' Comment.Single
|
|
'\n ' Text.Whitespace
|
|
'end' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'if' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'integer' Name.Function
|
|
' ' Text.Whitespace
|
|
'midpoint' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'floor' Name.Function
|
|
'(' Operator
|
|
'length' Name.Function
|
|
'(' Operator
|
|
'x' Text
|
|
')' Operator
|
|
'/' Operator
|
|
'2' Text
|
|
')' Operator
|
|
'\n ' Text.Whitespace
|
|
'sequence' Name.Function
|
|
' ' Text.Whitespace
|
|
'merged' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'{' Operator
|
|
'}' Operator
|
|
',' Operator
|
|
'\n ' Text.Whitespace
|
|
'first_half' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'merge_sort' Text
|
|
'(' Operator
|
|
'x' Text
|
|
'[' Operator
|
|
'1' Text
|
|
'.' Operator
|
|
'.' Operator
|
|
'midpoint' Text
|
|
']' Operator
|
|
')' Operator
|
|
',' Operator
|
|
'\n ' Text.Whitespace
|
|
'second_half' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'merge_sort' Text
|
|
'(' Operator
|
|
'x' Text
|
|
'[' Operator
|
|
'midpoint' Text
|
|
'+' Operator
|
|
'1' Text
|
|
'.' Operator
|
|
'.' Operator
|
|
'$' Operator
|
|
']' Operator
|
|
')' Operator
|
|
'\n ' Text.Whitespace
|
|
'-- merge the two sorted halves into one' Comment.Single
|
|
'\n ' Text.Whitespace
|
|
'while' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'length' Name.Function
|
|
'(' Operator
|
|
'first_half' Text
|
|
')' Operator
|
|
'>' Operator
|
|
'0' Text
|
|
' \n ' Text.Whitespace
|
|
'and' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'length' Name.Function
|
|
'(' Operator
|
|
'second_half' Text
|
|
')' Operator
|
|
'>' Operator
|
|
'0' Text
|
|
' ' Text.Whitespace
|
|
'do' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'if' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'first_half' Text
|
|
'[' Operator
|
|
'1' Text
|
|
']' Operator
|
|
'<' Operator
|
|
'=' Operator
|
|
'second_half' Text
|
|
'[' Operator
|
|
'1' Text
|
|
']' Operator
|
|
' ' Text.Whitespace
|
|
'then' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'merged' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'append' Name.Function
|
|
'(' Operator
|
|
'merged' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'first_half' Text
|
|
'[' Operator
|
|
'1' Text
|
|
']' Operator
|
|
')' Operator
|
|
'\n ' Text.Whitespace
|
|
'first_half' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'first_half' Text
|
|
'[' Operator
|
|
'2' Text
|
|
'.' Operator
|
|
'.' Operator
|
|
'$' Operator
|
|
']' Operator
|
|
'\n ' Text.Whitespace
|
|
'else' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'merged' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'append' Name.Function
|
|
'(' Operator
|
|
'merged' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'second_half' Text
|
|
'[' Operator
|
|
'1' Text
|
|
']' Operator
|
|
')' Operator
|
|
'\n ' Text.Whitespace
|
|
'second_half' Text
|
|
' ' Text.Whitespace
|
|
'=' Operator
|
|
' ' Text.Whitespace
|
|
'second_half' Text
|
|
'[' Operator
|
|
'2' Text
|
|
'.' Operator
|
|
'.' Operator
|
|
'$' Operator
|
|
']' Operator
|
|
'\n ' Text.Whitespace
|
|
'end' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'if' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'end' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'while' Keyword.Declaration
|
|
'\n ' Text.Whitespace
|
|
'-- result is the merged data plus any leftovers' Comment.Single
|
|
'\n ' Text.Whitespace
|
|
'return' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'merged' Text
|
|
' ' Text.Whitespace
|
|
'&' Operator
|
|
' ' Text.Whitespace
|
|
'first_half' Text
|
|
' ' Text.Whitespace
|
|
'&' Operator
|
|
' ' Text.Whitespace
|
|
'second_half' Text
|
|
'\n' Text.Whitespace
|
|
|
|
'end' Keyword.Declaration
|
|
' ' Text.Whitespace
|
|
'function' Keyword.Declaration
|
|
'\n\n' Text.Whitespace
|
|
|
|
'?' Operator
|
|
'merge_sort' Text
|
|
'(' Operator
|
|
'{' Operator
|
|
'9' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'10' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'3' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'1' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'4' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'5' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'8' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'7' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'6' Text
|
|
',' Operator
|
|
' ' Text.Whitespace
|
|
'2' Text
|
|
'}' Operator
|
|
')' Operator
|
|
'\n' Text.Whitespace
|
|
|
|
'?' Operator
|
|
'{' Operator
|
|
'1' Text
|
|
',' Operator
|
|
'0' Text
|
|
'(' Operator
|
|
'2' Text
|
|
')' Operator
|
|
'10' Text
|
|
',' Operator
|
|
'0b11' Text
|
|
',' Operator
|
|
'0d4' Text
|
|
',' Operator
|
|
'0t5' Text
|
|
',' Operator
|
|
'0' Text
|
|
'(' Operator
|
|
'6' Text
|
|
')' Operator
|
|
'10' Text
|
|
',' Operator
|
|
'0' Text
|
|
'(' Operator
|
|
'7' Text
|
|
')' Operator
|
|
'10' Text
|
|
',' Operator
|
|
'0o10' Text
|
|
',' Operator
|
|
'0x9' Text
|
|
',' Operator
|
|
'#' Operator
|
|
'A' Text
|
|
'}' Operator
|
|
' ' Text.Whitespace
|
|
'-- [the same 1..10 but with extra weirdness]' Comment.Single
|
|
'\n\n' Text.Whitespace
|
|
|
|
'wait_key' Name.Function
|
|
'(' Operator
|
|
')' Operator
|
|
'\n' Text.Whitespace
|