1058 lines
27 KiB
Text
Generated
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
|