class_body
{ "{"
field_declaration
modifiers
static "static"
final "final"
integral_type
char "char"
variable_declarator
identifier "EOF"
= "="
cast_expression
( "("
integral_type
char "char"
) ")"
unary_expression
- "-"
decimal_integer_literal "1"
; ";"
field_declaration
modifiers
private "private"
static "static"
final "final"
integral_type
int "int"
variable_declarator
identifier "maxCacheLen"
= "="
decimal_integer_literal "12"
; ";"
field_declaration
modifiers
private "private"
final "final"
array_type
integral_type
char "char"
dimensions
[ "["
] "]"
variable_declarator
identifier "input"
; ";"
field_declaration
modifiers
private "private"
final "final"
integral_type
int "int"
variable_declarator
identifier "length"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "pos"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
integral_type
int "int"
variable_declarator
identifier "mark"
= "="
decimal_integer_literal "0"
; ";"
field_declaration
modifiers
private "private"
final "final"
array_type
type_identifier "String"
dimensions
[ "["
] "]"
variable_declarator
identifier "stringCache"
= "="
array_creation_expression
new "new"
type_identifier "String"
dimensions_expr
[ "["
decimal_integer_literal "512"
] "]"
; ";"
line_comment "// holds reused strings in this doc, to lessen garbage"
constructor_declaration (+51 nodes collapsed)
method_declaration
integral_type
int "int"
identifier "pos"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
identifier "pos"
; ";"
} "}"
method_declaration
boolean_type "boolean"
identifier "isEmpty"
formal_parameters
( "("
) ")"
block
{ "{"
return_statement
return "return"
binary_expression
identifier "pos"
>= ">="
identifier "length"
; ";"
} "}"
method_declaration (+26 nodes collapsed)
method_declaration (+39 nodes collapsed)
method_declaration
void_type "void"
identifier "unconsume"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
update_expression
identifier "pos"
-- "--"
; ";"
} "}"
method_declaration
void_type "void"
identifier "advance"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
update_expression
identifier "pos"
++ "++"
; ";"
} "}"
method_declaration
void_type "void"
identifier "mark"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "mark"
= "="
identifier "pos"
; ";"
} "}"
method_declaration
void_type "void"
identifier "rewindToMark"
formal_parameters
( "("
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "pos"
= "="
identifier "mark"
; ";"
} "}"
method_declaration (+25 nodes collapsed)
block_comment "/**\n * Returns the number of characters between the curr"...
method_declaration (+64 nodes collapsed)
block_comment "/**\n * Returns the number of characters between the curr"...
method_declaration (+208 nodes collapsed)
method_declaration (+76 nodes collapsed)
method_declaration (+75 nodes collapsed)
method_declaration (+124 nodes collapsed)
method_declaration (+117 nodes collapsed)
method_declaration (+126 nodes collapsed)
method_declaration (+156 nodes collapsed)
method_declaration (+36 nodes collapsed)
method_declaration (+97 nodes collapsed)
method_declaration (+148 nodes collapsed)
method_declaration (+112 nodes collapsed)
method_declaration (+79 nodes collapsed)
method_declaration (+33 nodes collapsed)
method_declaration (+93 nodes collapsed)
method_declaration (+126 nodes collapsed)
method_declaration (+70 nodes collapsed)
method_declaration (+46 nodes collapsed)
method_declaration
boolean_type "boolean"
identifier "matchesLetter"
formal_parameters
( "("
) ")"
block
{ "{"
if_statement
if "if"
parenthesized_expression
( "("
method_invocation
identifier "isEmpty"
argument_list
( "("
) ")"
) ")"
return_statement
return "return"
false "false"
; ";"
local_variable_declaration
integral_type
char "char"
variable_declarator
identifier "c"
= "="
array_access
identifier "input"
[ "["
identifier "pos"
] "]"
; ";"
return_statement
return "return"
binary_expression any 1:2
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "c"
>= ">="
character_literal "'A'"
&& "&&"
binary_expression
identifier "c"
<= "<="
character_literal "'Z'"
) ")"
|| "||"
parenthesized_expression
( "("
binary_expression
binary_expression
identifier "c"
>= ">="
character_literal "'a'"
&& "&&"
binary_expression
identifier "c"
<= "<="
character_literal "'z'"
) ")"
; ";"
} "}"
method_declaration (+51 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration (+50 nodes collapsed)
method_declaration (+80 nodes collapsed)
method_declaration (+31 nodes collapsed)
block_comment "/**\n * Caches short strings, as a flywheel pattern, to r"...
method_declaration (+267 nodes collapsed)
block_comment "/**\n * Check if the value of the provided range equals t"...
method_declaration (+121 nodes collapsed)
} "}"