block
{ "{"
line_comment "// NOTE: Version 1.0 of Caverphone is easily derivable from "...
line_comment "// by commenting out the 2.0 lines and adding in the 1.0 lin"...
if_statement (+31 nodes collapsed)
line_comment "// 1. Convert to lowercase"
expression_statement (+22 nodes collapsed)
line_comment "// 2. Remove anything not A-Z"
expression_statement
assignment_expression
identifier "txt"
= "="
method_invocation
identifier "txt"
. "."
identifier "replaceAll"
argument_list
( "("
string_literal
" "\""
string_fragment "[^a-z]"
" "\""
, ","
string_literal
" "\""
" "\""
) ")"
; ";"
line_comment "// 2.5. Remove final e"
expression_statement
assignment_expression
identifier "txt"
= "="
method_invocation
identifier "txt"
. "."
identifier "replaceAll"
argument_list
( "("
string_literal
" "\""
string_fragment "e$"
" "\""
, ","
string_literal
" "\""
" "\""
) ")"
; ";"
line_comment "// 2.0 only"
line_comment "// 3. Handle various start options"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only - note the spec says ^enough here again, c+p err"...
expression_statement (+21 nodes collapsed)
line_comment "// End "
expression_statement
assignment_expression
identifier "txt"
= "="
method_invocation
identifier "txt"
. "."
identifier "replaceAll"
argument_list
( "("
string_literal
" "\""
string_fragment "^mb"
" "\""
, ","
string_literal
" "\""
string_fragment "m2"
" "\""
) ")"
; ";"
line_comment "// 4. Handle replacements"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "//txt = txt.replaceAll(\"wy\", \"Wy\"); // 1.0 only"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
line_comment "//txt = txt.replaceAll(\"why\", \"Why\"); // 1.0 only"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
line_comment "//txt = txt.replaceAll(\"ry\", \"Ry\"); // 1.0 only"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
line_comment "//txt = txt.replaceAll(\"ly\", \"Ly\"); // 1.0 only"
expression_statement (+21 nodes collapsed)
line_comment "//txt = txt.replaceAll(\"j\", \"y\"); // 1.0 only"
line_comment "//txt = txt.replaceAll(\"y3\", \"Y3\"); // 1.0 only"
line_comment "//txt = txt.replaceAll(\"y\", \"2\"); // 1.0 only"
line_comment "// 5. Handle removals"
expression_statement
assignment_expression
identifier "txt"
= "="
method_invocation
identifier "txt"
. "."
identifier "replaceAll"
argument_list
( "("
string_literal
" "\""
string_fragment "2"
" "\""
, ","
string_literal
" "\""
" "\""
) ")"
; ";"
expression_statement (+21 nodes collapsed)
line_comment "// 2.0 only"
expression_statement
assignment_expression
identifier "txt"
= "="
method_invocation
identifier "txt"
. "."
identifier "replaceAll"
argument_list
( "("
string_literal
" "\""
string_fragment "3"
" "\""
, ","
string_literal
" "\""
" "\""
) ")"
; ";"
line_comment "// 6. put ten 1s on the end"
expression_statement
assignment_expression
identifier "txt"
= "="
binary_expression
binary_expression
identifier "txt"
+ "+"
string_literal
" "\""
string_fragment "111111"
" "\""
+ "+"
string_literal
" "\""
string_fragment "1111"
" "\""
; ";"
line_comment "// 1.0 only has 6 1s"
line_comment "// 7. take the first six characters as the code"
return_statement
return "return"
method_invocation
identifier "txt"
. "."
identifier "substring"
argument_list
( "("
decimal_integer_literal "0"
, ","
decimal_integer_literal "10"
) ")"
; ";"
line_comment "// 1.0 truncates to 6"
} "}"