variable_declaration: modifier type variable_declarator , ; variable_declaration ::= modifier* type variable_declarator ( ',' variable_declarator )* ';' no referencesmodifier: public private protected static final native synchronized abstract threadsafe transient modifier ::= 'public' | 'private' | 'protected' | 'static' | 'final' | 'native' | 'synchronized' | 'abstract' | 'threadsafe' | 'transient' referenced by: variable_declaration type: type_specifier [ ] type ::= type_specifier ( '[' ']' )* referenced by: variable_declaration type_specifier: boolean byte char short int float long double class_name interface_name type_specifier ::= 'boolean' | 'byte' | 'char' | 'short' | 'int' | 'float' | 'long' | 'double' | class_name | interface_name referenced by: type variable_declarator: identifier = variable_initializer variable_declarator ::= identifier ( | '=' variable_initializer ) referenced by: variable_declaration identifier: a..z,$,_ a..z,$,_,0..9,unicode character over 00C0 identifier ::= 'a..z,$,_' 'a..z,$,_,0..9,unicode character over 00C0'* referenced by: variable_declarator variable_initializer: expression { variable_initializer , } variable_initializer ::= expression | '{' variable_initializer ( ',' variable_initializer )* '}' referenced by: variable_declarator variable_initializer   ... generated by Railroad Diagram Generator R R