This repository has been archived on 2024-06-20. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
coffee.pygments/tests/examplefiles/d/test.d.output
2021-11-02 20:20:51 +01:00

1058 lines
27 KiB
Text
Generated

'// Created by Lionello Lunesu and placed in the public domain.' Comment.Single
'\n' Text.Whitespace
'// This file has been modified from its original version.' Comment.Single
'\n' Text.Whitespace
'// It has been formatted to fit your screen.' Comment.Single
'\n' Text.Whitespace
'module' Keyword
' ' Text.Whitespace
'phoneno' Name
';' Punctuation
' ' Text.Whitespace
'// optional' Comment.Single
'\n' Text.Whitespace
'import' Keyword
' ' Text.Whitespace
'std' Name
'.' Punctuation
'stdio' Name
';' Punctuation
' ' Text.Whitespace
'// writefln ' Comment.Single
'\n' Text.Whitespace
'import' Keyword
' ' Text.Whitespace
'std' Name
'.' Punctuation
'ctype' Name
';' Punctuation
' ' Text.Whitespace
'// isdigit ' Comment.Single
'\n' Text.Whitespace
'import' Keyword
' ' Text.Whitespace
'std' Name
'.' Punctuation
'stream' Name
';' Punctuation
' ' Text.Whitespace
'// BufferedFile' Comment.Single
'\n' Text.Whitespace
'\n' Text.Whitespace
'// Just for readability (imagine char[][][char[]]) ' Comment.Single
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'char' Keyword.Type
'[' Punctuation
']' Punctuation
' ' Text.Whitespace
'string' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'string' Name.Builtin
'[' Punctuation
']' Punctuation
' ' Text.Whitespace
'stringarray' Name
';' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'/// Strips non-digit characters from the string (COW)' Comment.Single
'\n' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'stripNonDigit' Name
'(' Punctuation
' ' Text.Whitespace
'in' Keyword
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'line' Name
' ' Text.Whitespace
')' Punctuation
' \n' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'ret' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'uint' Keyword.Type
' ' Text.Whitespace
'i' Name
',' Punctuation
' ' Text.Whitespace
'c' Name
';' Punctuation
' ' Text.Whitespace
'line' Name
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// Error: std.ctype.isdigit at C:\\dmd\\src\\phobos\\std\\ctype.d(37) ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// conflicts with std.stream.isdigit at C:\\dmd\\src\\phobos\\std\\stream.d(2924)' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'!' Punctuation
'std' Name
'.' Punctuation
'ctype' Name
'.' Punctuation
'isdigit' Name
'(' Punctuation
'c' Name
')' Punctuation
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'!' Punctuation
'ret' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'=' Punctuation
' ' Text.Whitespace
'line' Name
'[' Punctuation
'0.' Literal.Number.Float
'.' Punctuation
'i' Name
']' Punctuation
';' Punctuation
' \n ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'else' Keyword
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'ret' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'c' Name
';' Punctuation
' \n ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'ret' Name
'?' Punctuation
'ret' Name
':' Punctuation
'line' Name
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'unittest' Keyword
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'stripNonDigit' Name
'(' Punctuation
'"asdf"' Literal.String
')' Punctuation
' ' Text.Whitespace
'==' Punctuation
' ' Text.Whitespace
'""' Literal.String
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'stripNonDigit' Name
'(' Punctuation
'"\\\'13-=2 4kop"' Literal.String
')' Punctuation
' ' Text.Whitespace
'==' Punctuation
' ' Text.Whitespace
'"1324"' Literal.String
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'/// Converts a word into a number, ignoring all non alpha characters ' Comment.Single
'\n' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
' ' Text.Whitespace
'in' Keyword
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'word' Name
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
'// translation table for the task at hand' Comment.Single
'\n' Text.Whitespace
'const' Keyword
' ' Text.Whitespace
'char' Keyword.Type
'[' Punctuation
'256' Literal.Number.Integer
']' Punctuation
' ' Text.Whitespace
'TRANSLATE' Name
' ' Text.Whitespace
'=' Punctuation
' \n ' Text.Whitespace
'" "' Literal.String
' ' Text.Whitespace
'// 0 ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'" 0123456789 "' Literal.String
' ' Text.Whitespace
'// 32 ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'" 57630499617851881234762239 "' Literal.String
' ' Text.Whitespace
'// 64 ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'" 57630499617851881234762239 "' Literal.String
'\n' Text.Whitespace
' ' Text.Whitespace
'" "' Literal.String
'\n' Text.Whitespace
' ' Text.Whitespace
'" "' Literal.String
'\n' Text.Whitespace
' ' Text.Whitespace
'" "' Literal.String
' \n ' Text.Whitespace
'" "' Literal.String
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'ret' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'c' Name
';' Punctuation
' ' Text.Whitespace
'cast' Keyword
'(' Punctuation
'ubyte' Keyword.Type
'[' Punctuation
']' Punctuation
')' Punctuation
'word' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'TRANSLATE' Name
'[' Punctuation
'c' Name
']' Punctuation
' ' Text.Whitespace
'!=' Punctuation
' ' Text.Whitespace
"' '" Literal.String.Char
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'TRANSLATE' Name
'[' Punctuation
'c' Name
']' Punctuation
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'ret' Name
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'unittest' Keyword
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// Test wordToNum using the table from the task description.' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'"01112223334455666777888999"' Literal.String
' ' Text.Whitespace
'==' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
'"E | J N Q | R W X | D S Y | F T | A M | C I V | B K U | L O P | G H Z"' Literal.String
')' Punctuation
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'"01112223334455666777888999"' Literal.String
' ' Text.Whitespace
'==' Punctuation
' \n ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
'"e | j n q | r w x | d s y | f t | a m | c i v | b k u | l o p | g h z"' Literal.String
')' Punctuation
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'"0123456789"' Literal.String
' ' Text.Whitespace
'==' Punctuation
' \n ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
'"0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9"' Literal.String
')' Punctuation
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
'void' Keyword.Type
' ' Text.Whitespace
'main' Name
'(' Punctuation
' ' Text.Whitespace
'string' Name.Builtin
'[' Punctuation
']' Punctuation
' ' Text.Whitespace
'args' Name
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// This associative array maps a number to an array of words. ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'stringarray' Name
'[' Punctuation
'string' Name.Builtin
']' Punctuation
' ' Text.Whitespace
'num2words' Name
';' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'string' Name.Builtin
' ' Text.Whitespace
'word' Name
';' Punctuation
' ' Text.Whitespace
'new' Keyword
' ' Text.Whitespace
'BufferedFile' Name
'(' Punctuation
'"dictionary.txt"' Literal.String
' ' Text.Whitespace
')' Punctuation
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'num2words' Name
'[' Punctuation
' ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
'word' Name
')' Punctuation
' ' Text.Whitespace
']' Punctuation
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'word' Name
'.' Punctuation
'dup' Name
';' Punctuation
' ' Text.Whitespace
'// must dup' Comment.Single
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text.Whitespace
'/// Finds all alternatives for the given number' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'/// (should have been stripped from non-digit characters)' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'stringarray' Name
' ' Text.Whitespace
'_FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'numbers' Name
',' Punctuation
' ' Text.Whitespace
'bool' Keyword.Type
' ' Text.Whitespace
'digitok' Name
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'in' Keyword
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
'numbers' Name
'.' Punctuation
'length' Name
' ' Text.Whitespace
'>' Punctuation
' ' Text.Whitespace
'0' Literal.Number.Integer
')' Punctuation
';' Punctuation
' \n ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'out' Keyword
'(' Punctuation
'result' Name
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
' ' Text.Whitespace
'(' Punctuation
'a' Name
';' Punctuation
' ' Text.Whitespace
'result' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'assert' Keyword
'(' Punctuation
' ' Text.Whitespace
'wordToNum' Name
'(' Punctuation
'a' Name
')' Punctuation
' ' Text.Whitespace
'==' Punctuation
' ' Text.Whitespace
'numbers' Name
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'body' Keyword
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'stringarray' Name
' ' Text.Whitespace
'ret' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'bool' Keyword.Type
' ' Text.Whitespace
'foundword' Name
' ' Text.Whitespace
'=' Punctuation
' ' Text.Whitespace
'false' Keyword.Constant
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'for' Keyword
' ' Text.Whitespace
'(' Punctuation
'uint' Keyword.Type
' ' Text.Whitespace
't' Name
'=' Punctuation
'1' Literal.Number.Integer
';' Punctuation
' ' Text.Whitespace
't' Name
'<=' Punctuation
'numbers' Name
'.' Punctuation
'length' Name
';' Punctuation
' ' Text.Whitespace
'++' Punctuation
't' Name
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'auto' Keyword
' ' Text.Whitespace
'alternatives' Name
' ' Text.Whitespace
'=' Punctuation
' ' Text.Whitespace
'numbers' Name
'[' Punctuation
'0.' Literal.Number.Float
'.' Punctuation
't' Name
']' Punctuation
' ' Text.Whitespace
'in' Keyword
' ' Text.Whitespace
'num2words' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'!' Punctuation
'alternatives' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'continue' Keyword
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foundword' Name
' ' Text.Whitespace
'=' Punctuation
' ' Text.Whitespace
'true' Keyword.Constant
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'numbers' Name
'.' Punctuation
'length' Name
' ' Text.Whitespace
'>' Punctuation
' ' Text.Whitespace
't' Name
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// Combine all current alternatives with all alternatives ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// of the rest (next piece can start with a digit) ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
' ' Text.Whitespace
'(' Punctuation
'a2' Name
';' Punctuation
' ' Text.Whitespace
'_FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'numbers' Name
'[' Punctuation
't' Name
'..' Punctuation
'$' Punctuation
']' Punctuation
',' Punctuation
' ' Text.Whitespace
'true' Keyword.Constant
' ' Text.Whitespace
')' Punctuation
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'a1' Name
';' Punctuation
' ' Text.Whitespace
'*' Punctuation
'alternatives' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'a1' Name
' ' Text.Whitespace
'~' Punctuation
' ' Text.Whitespace
'" "' Literal.String
' ' Text.Whitespace
'~' Punctuation
' ' Text.Whitespace
'a2' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'else' Keyword
' \n ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'*' Punctuation
'alternatives' Name
';' Punctuation
' ' Text.Whitespace
'// append these alternatives' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
"// Try to keep 1 digit, only if we're allowed and no other" Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// alternatives were found' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// Testing "ret.length" makes more sense than testing "foundword",' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// but the other implementations seem to do just this.' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'digitok' Name
' ' Text.Whitespace
'&&' Punctuation
' ' Text.Whitespace
'!' Punctuation
'foundword' Name
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
' ' Text.Whitespace
'//ret.length == 0 ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
'(' Punctuation
'numbers' Name
'.' Punctuation
'length' Name
' ' Text.Whitespace
'>' Punctuation
' ' Text.Whitespace
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// Combine 1 digit with all altenatives from the rest ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// (next piece can not start with a digit) ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
' ' Text.Whitespace
'(' Punctuation
'a' Name
';' Punctuation
' ' Text.Whitespace
'_FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'numbers' Name
'[' Punctuation
'1.' Literal.Number.Float
'.' Punctuation
'$' Punctuation
']' Punctuation
',' Punctuation
' ' Text.Whitespace
'false' Keyword.Constant
' ' Text.Whitespace
')' Punctuation
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'numbers' Name
'[' Punctuation
'0.' Literal.Number.Float
'.1' Literal.Number.Float
']' Punctuation
' ' Text.Whitespace
'~' Punctuation
' ' Text.Whitespace
'" "' Literal.String
' ' Text.Whitespace
'~' Punctuation
' ' Text.Whitespace
'a' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'else' Keyword
' \n ' Text.Whitespace
'ret' Name
' ' Text.Whitespace
'~=' Punctuation
' ' Text.Whitespace
'numbers' Name
'[' Punctuation
'0.' Literal.Number.Float
'.1' Literal.Number.Float
']' Punctuation
';' Punctuation
' ' Text.Whitespace
'// just append this digit ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
' \n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'ret' Name
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
'\n' Text.Whitespace
' ' Text.Whitespace
'/// (This function was inlined in the original program) ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'/// Finds all alternatives for the given phone number ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'/// Returns: array of strings ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'stringarray' Name
' ' Text.Whitespace
'FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'string' Name.Builtin
' ' Text.Whitespace
'phone_number' Name
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'{' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'(' Punctuation
'!' Punctuation
'phone_number' Name
'.' Punctuation
'length' Name
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'null' Keyword.Constant
';' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'// Strip the non-digit characters from the phone number, and' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'// pass it to the recursive function (leading digit is allowed)' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'_FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'stripNonDigit' Name
'(' Punctuation
'phone_number' Name
')' Punctuation
',' Punctuation
' ' Text.Whitespace
'true' Keyword.Constant
' ' Text.Whitespace
')' Punctuation
';' Punctuation
' \n ' Text.Whitespace
'}' Punctuation
' \n \n ' Text.Whitespace
'// Read the phone numbers ' Comment.Single
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'string' Name.Builtin
' ' Text.Whitespace
'phone' Name
';' Punctuation
' ' Text.Whitespace
'new' Keyword
' ' Text.Whitespace
'BufferedFile' Name
'(' Punctuation
'"input.txt"' Literal.String
' ' Text.Whitespace
')' Punctuation
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'foreach' Keyword
'(' Punctuation
'alternative' Name
';' Punctuation
' ' Text.Whitespace
'FindWords' Name
'(' Punctuation
' ' Text.Whitespace
'phone' Name
' ' Text.Whitespace
')' Punctuation
' ' Text.Whitespace
')' Punctuation
'\n' Text.Whitespace
' ' Text.Whitespace
'writefln' Name
'(' Punctuation
'phone' Name
',' Punctuation
' ' Text.Whitespace
'": "' Literal.String
',' Punctuation
' ' Text.Whitespace
'alternative' Name
' ' Text.Whitespace
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace