Eagle Legacy Modernization, LLC

Java Grammar

Main program: Java_Program

Java syntax:

 Count  Terminals:
4 Java_BinaryNumber: A binary number
3,547 Java_Character_Literal: quotes:' escape:\ doubled:no multiline:no
9,290 Java_Class_Definition: An identifier
60,158 Java_Comment: /* comment */ or // comment to end of line
4,765 Java_Current_Class_Reference: An identifier
7 Java_HexFloatingNumber: A hex floating number
1,618 Java_HexNumber: A hex number
203,501 Java_Identifier: An identifier
497,376 Java_Identifier_Reference: An identifier
43 Java_Label_Definition: An identifier
39,455 Java_Literal: quotes:" escape:\ doubled:no multiline:no
27,558 Java_Method_Definition: An identifier
44,068 Java_Number: exponent_chars:Ee suffix_chars:LlFfDd trailing_period:yes ignore_char:_
97,735 Java_Variable_Definition: An identifier
 Count  Statistics(*) Tokens:
21,358 all all all Java_AdditiveExpression: Java_Expression ("+"|"-") Java_Expression
    Java_AnnotationInvocation: '@' Java_Variable [Java_AnnotationDotName]* '(' [Java_ArgumentList] ')'
    |   Java_AnnotationDotName: '.' Java_Variable
27,631 all all all Java_AssignmentExpression: Java_Expression ("="|"*="|"/="|"%="|"+="|"-="|"<<="|">>="|">>>="|"&="|"^="|"|=") Java_Expression
1,023 all all all Java_BitwiseAndExpression: Java_Expression '&' Java_Expression
81 all all Java_BitwiseNotExpression: '~' Java_Expression
886 all all all Java_BitwiseOrExpression: Java_Expression '|' Java_Expression
30,223 all Java_BuiltIn: ("false"|"true"|"null"|"this"|"super")
5,118 all 1.01 all all Java_CastExpression: '(' Java_Type* ')' Java_Expression
19,565 all all all none 74% all 1% Java_ClassCreationExpression: "new" Java_Type '(' [Java_Comment]* [Java_ArgumentList] ')' [Java_ClassOverride]
278 all 1.79(all) all |   Java_ClassOverride: '{' [Java_ClassElement]* '}'
430 all all all 97% all Java_ClassCreationWithInitializers: "new" Java_Type '{' [Java_ArgumentList] '}'
1,072 all all 1.01 Java_ClassCreationWithSubscript: "new" Java_Type Java_Subscript*
    Java_ColonColon: Java_Expression "::" Java_Expression
38 all all all Java_ColonColonNew: Java_Expression "::" "new"
75 all all all Java_ColonColonType: Java_Type "::" Java_Expression
    Java_CommentExpression: Java_Comment Java_Expression
108 all all all Java_DotClass: Java_Type '.' "class"
247 all 1.00(4%) 96% all Java_ExpressionList: '{' [Java_Comment]* [Java_ArgumentList] '}'
2,246 all all all Java_InstanceOfExpression: Java_Expression "instanceof" Java_Type
11 all all all all all all all Java_InterfaceCreationWithMethod: "new" ("Runnable"|"ActionListener"|"WindowAdapter") '(' ')' '{' Java_Method '}'
204 all all all Java_LambdaExpression: Java_LambdaVariables "->" Java_LambdaValue
204 (41% | 59%) |   Java_LambdaValue: (Java_LambdaBlock | Java_Expression)
83 all 2.28(89%) all |   |   Java_LambdaBlock: '{' [Java_StatementOrComment]* '}'
204 (20% | 50% | 29%) |   Java_LambdaVariables: (Java_LambdaTypedVariableList | Java_LambdaVariableList | Java_Identifier)
41 all 1.50(39%) all |   |   Java_LambdaTypedVariableList: '(' [Java_TypedIdentifier]* ')'
20 none all all |   |   |   Java_TypedIdentifier: [Java_Annotation] Java_Type Java_Identifier
103 all 2.38(all) all |   |   Java_LambdaVariableList: '(' [Java_Identifier]* ')'
4,240 all all all Java_LogicalAndExpression: Java_Expression "&&" Java_Expression
2,653 all all Java_LogicalNotExpression: '!' Java_Expression
2,591 all all all Java_LogicalOrExpression: Java_Expression ("||"|"^") Java_Expression
76,020 all all 66% all Java_MethodInvocation: Java_Variable '(' [Java_ArgumentList] ')'
3,066 all all all Java_MultiplicativeExpression: Java_Expression ("*"|"/"|"%") Java_Expression
388 all all Java_NegativeExpression: ("-"|"+") Java_Expression
7,945 all all all Java_ParenthesizedExpression: '(' Java_Expression ')'
4,133 all all Java_PostIncrementExpression: Java_Variable ("++"|"--")
708 all all Java_PreIncrementExpression: ("++"|"--") Java_Variable
26,433 all all all Java_RelationalExpression: Java_Expression ("=="|"!="|"<"|">"|"<="|">=") Java_Expression
1,071 all all all Java_ShiftExpression: Java_Expression (">>>"|"<<"|">>") Java_Expression
92,413 all all 0% all Java_SubfieldExpression: Java_Expression '.' [Java_GenericType] Java_Expression
98 all all 51% all Java_SubscriptExpression: Java_Expression '[' [Java_Expression] ']'
1,664 all all all all all Java_TrueFalseExpression: Java_Expression '?' Java_Expression ':' Java_Expression
280,303 all Java_VariableExpression: Java_Variable
1,560 all all all all all all Java_EqualsMethod: Java_Expression '.' "equals" '(' Java_Expression ')'
    Java_IndexOfMethod: Java_Variable '.' "indexOf" '(' Java_Expression [Java_Index_SC] ')'
    |   Java_Index_SC: ',' Java_Expression
1,204 all all all all all Java_LengthMethod: Java_Expression '.' "length" '(' ')'
63 all all all all Java_MathAbsFunc: "abs" '(' Java_Expression ')'
461 all all all Java_MathFunction: "Math" '.' Java_MathChoice
461 (4% | 3% | 3% | 14% | 75%) |   Java_MathChoice: (Java_MathPowFunc | Java_MathLogFunc | Java_MathRoundFunc | Java_MathAbsFunc | Java_MathMinMaxFunc)
15 all all all all Java_MathLogFunc: ("log"|"log10") '(' Java_Expression ')'
348 all all 3.00 all Java_MathMinMaxFunc: ("min"|"max") '(' Java_Expression* ')'
20 all all all all all all Java_MathPowFunc: "pow" '(' Java_Expression ',' Java_Expression ')'
15 all all all all Java_MathRoundFunc: "round" '(' Java_Expression ')'
408 all all all all all 4% 4% all Java_StartsWithMethod: Java_Expression '.' "startsWith" '(' Java_Expression [','] [Java_Expression] ')'
25 all all all all all all Java_StringFormatFunc: "format" '(' Java_Expression ',' Java_Expression ')'
25 all all all Java_StringFunction: "String" '.' Java_StringChoice
25 (all) |   Java_StringChoice: (Java_StringFormatFunc)
910 all all all all all 70% 70% all Java_SubstringMethod: Java_Expression '.' "substring" '(' Java_Expression [','] [Java_Expression] ')'
1,258 all all all all all Java_ToStringMethod: Java_Expression '.' "toString" '(' ')'
188 all all all all all Java_ToUpperCaseMethod: Java_Expression '.' ("toLowerCase"|"toUpperCase") '(' ')'
132 all all all all all Java_TrimMethod: Java_Expression '.' "trim" '(' ')'
27,032 (45% | 55% | none | none) Java_Annotation: (Java_AnnotationCallList | Java_AnnotationCallParens | Java_AnnotationList | Java_AnnotationSimple)
12,092 all 1.00 1.00(1%) |   Java_AnnotationCallList: '@' Java_Identifier* [Java_Comment]*
14,940 all all 1.00(0%) all 1.00(all) all |   Java_AnnotationCallParens: '@' Java_Variable [Java_DotVar]* '(' [Java_Expression]* ')'
23 all all |   |   Java_DotVar: '.' Java_VariableIdentifier
    |   Java_AnnotationList: '@' ("AccessoryAction"|"Nullable"|"PageTransition")
    |   Java_AnnotationSimple: '@' Java_Variable
67,711 all 1.00(0%) 2.05(38%) 0% Java_ArgumentList: Java_Expression [Java_Comment]* [Java_MoreArguments]* [',']
53,177 all 1.06(1%) all 1.00(0%) |   Java_MoreArguments: ',' [Java_Comment]* Java_Expression [Java_Comment]*
9,290 98% all all all 5% 80% 24% 1.37(0%) all 8.22(98%) all 1.31(7%) 0% Java_Class: [Java_ClassModifierList] ['@'] ("class"|"interface") Java_Class_Definition [Java_GenericType] [Java_ClassExtends] [Java_ClassImplements] [Java_Comment]* '{' [Java_ClassElement]* '}' [Java_Comment]* [';']
75,883 (15% | 36% | 6% | none | 42%) |   Java_ClassElement: (Java_Comment | Java_Method | Java_Constructor | ';' | Java_Statement)
7,451 all 1.04 5% 1.14(0%) |   Java_ClassExtends: "extends" Java_Identifier_Reference* [Java_GenericType] [Java_MoreExtends]*
40 all 1.50 28% |   |   Java_MoreExtends: ',' Java_Identifier_Reference* [Java_GenericType]
2,262 all 1.21 10% 1.28(42%) |   Java_ClassImplements: "implements" Java_Identifier_Reference* [Java_GenericType] [Java_MoreImplements]*
1,209 all 0% 1.16 2% |   |   Java_MoreImplements: ',' [Java_Comment] Java_Identifier_Reference* [Java_GenericType]
13,448 (0% | 6% | 94%) |   Java_ClassModifier: (Java_Comment | Java_Annotation | ("abstract"|"default"|"final"|"native"|"private"|"protected"|"public"|"static"|"strictfp"|"synchronized"|"transient"|"volatile"))
9,133 1.47 |   Java_ClassModifierList: Java_ClassModifier*
57,476 1.00(1%) 1.36(49%) 1.24(27%) all all 1.02(1%) 70% 1.78(1%) all 1.30(11%) Java_Data: [Java_Annotation]* [Java_DataModifier]* [Java_Annotation]* Java_Type Java_Variable_Definition [Java_DataSubscript]* [Java_DataInitialValue] [Java_MoreIdentifiers]* ';' [Java_Comment]*
40,715 all all |   Java_DataInitialValue: '=' Java_Expression
38,359 all |   Java_DataModifier: ("abstract"|"default"|"final"|"native"|"private"|"protected"|"public"|"static"|"strictfp"|"synchronized"|"transient"|"volatile")
594 all all |   Java_DataSubscript: '[' ']'
832 all all 0% 0% 35% |   Java_MoreIdentifiers: ',' Java_Variable_Definition ['['] [']'] [Java_DataInitialValue]
100 none 1.21(92%) all all 19% all 60% all 1% none 28% none 14% all 1.07(14%) 8% Java_Enum: [Java_Annotation]* [Java_DataModifier]* "enum" Java_Variable_Definition [Java_ClassImplements] '{' [Java_Comment] [Java_EnumConstants] [','] [Java_Comment]* [Java_EnumDeclarations] [Java_Comment]* [';'] '}' [Java_Comment]* [';']
378 (all) |   Java_EnumClassBodyDeclaration: (Java_ClassElement)
580 none all 38% 2% |   Java_EnumConstant: [Java_Annotation]* Java_Variable_Definition [Java_EnumInitializer] [Java_EnumClassBody]
12 all 8.08(all) all |   |   Java_EnumClassBody: '{' [Java_EnumClassBodyDeclaration]* '}'
100 all 5.00(96%) none |   Java_EnumConstants: Java_EnumConstant [Java_MoreEnumConstants]* [Java_Comment]*
480 all 1.09(68%) all |   |   Java_MoreEnumConstants: ',' [Java_Comment]* Java_EnumConstant
28 all 10.04 |   Java_EnumDeclarations: ';' Java_EnumClassBodyDeclaration*
218 all 3.68(all) all |   Java_EnumInitializer: '(' [Java_Expression]* ')'
708,887 (0% | 0% | 0% | 6% | 6% | 1% | 0% | 0% | 0% | 0% | 0% | 1% | 0% | 0% | 3% | 0% | 0% | 11% | none | 0% | 1% | 0% | 0% | 0% | 4% | 40% | 1% | none | none | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 13% | none | 0% | 0% | 3% | 0% | 0% | 4% | 0% | 0% | 1% | 0% | 4% | 0%) Java_Expression: (Java_HexFloatingNumber | Java_HexNumber | Java_BinaryNumber | Java_Number | Java_Literal | Java_Character_Literal | Java_ColonColonType | Java_MathFunction | Java_StringFunction | Java_DotClass | Java_LambdaExpression | Java_CastExpression | Java_ExpressionList | Java_InterfaceCreationWithMethod | Java_ClassCreationExpression | Java_ClassCreationWithInitializers | Java_ClassCreationWithSubscript | Java_MethodInvocation | Java_AnnotationInvocation | Java_PreIncrementExpression | Java_PostIncrementExpression | Java_NegativeExpression | Java_BitwiseNotExpression | Java_LogicalNotExpression | Java_BuiltIn | Java_VariableExpression | Java_ParenthesizedExpression | Java_CommentExpression | Java_IndexOfMethod | Java_SubscriptExpression | Java_EqualsMethod | Java_ToUpperCaseMethod | Java_LengthMethod | Java_TrimMethod | Java_StartsWithMethod | Java_SubstringMethod | Java_ToStringMethod | Java_SubfieldExpression | Java_ColonColon | Java_ColonColonNew | Java_MultiplicativeExpression | Java_AdditiveExpression | Java_ShiftExpression | Java_InstanceOfExpression | Java_RelationalExpression | Java_BitwiseAndExpression | Java_BitwiseOrExpression | Java_LogicalAndExpression | Java_LogicalOrExpression | Java_AssignmentExpression | Java_TrueFalseExpression)
37,016 all all all 3.52(all) all Java_Import: "import" ["static"] Java_Identifier [Java_DotIdentifierStar]* ';'
130,281 all all |   Java_DotIdentifierStar: '.' Java_IdentifierOrStar
130,281 (100% | 0%) |   |   Java_IdentifierOrStar: (Java_Identifier | '*')
43 all all Java_Label: Java_Label_Definition ':'
27,558 none 22% 1.23(89%) all 1.00(0%) 0% 15% none all Java_Method: [Java_Comment]* [Java_Annotation] [Java_MethodModifier]* Java_MethodTypeAndName [Java_EmptyBrackets]* [Java_MethodDefault] [Java_MethodThrows] [Java_Comment] Java_MethodBody
4,765 1.00(1%) 1.00(87%) all all 4% none all |   Java_Constructor: [Java_Annotation]* [Java_MethodModifier]* Java_Current_Class_Reference Java_ParameterList [Java_MethodThrows] [Java_Comment] Java_MethodBody
2 all all |   Java_EmptyBrackets: '[' ']'
32,323 (13% | 87%) |   Java_MethodBody: (';' | Java_MethodImplementation)
1 all all |   Java_MethodDefault: "default" [Java_Expression]
    |   Java_MethodGeneric: Java_GenericType Java_Method_Definition Java_ParameterList
28,259 none all 1.18(42%) 0% |   Java_MethodImplementation: [Java_Comment]* Java_StatementBlock [Java_Comment]* [';']
34,386 (0% | 100% | 0%) |   Java_MethodModifier: (Java_Comment | ("abstract"|"default"|"final"|"native"|"private"|"protected"|"public"|"static"|"strictfp"|"synchronized"|"transient"|"volatile") | Java_Annotation)
4,346 all 1.18 |   Java_MethodThrows: "throws" Java_Expression*
585 all all all all |   Java_MethodTwoTypes: Java_GenericType Java_Type Java_Method_Definition Java_ParameterList
26,973 all all all |   Java_MethodType: Java_Type Java_Method_Definition Java_ParameterList
27,558 (98% | none | 2%) |   Java_MethodTypeAndName: (Java_MethodType | Java_MethodGeneric | Java_MethodTwoTypes)
5,694 all all 3.04(100%) all Java_Package: "package" Java_Identifier [Java_MorePackageIds]* ';'
17,264 all all |   Java_MorePackageIds: '.' Java_Identifier
32,323 all 2.48(65%) all Java_ParameterList: '(' [Java_MethodParameter]* ')'
36,302 1.00(0%) all all all 1.04(1%) |   Java_MethodParameter: [Java_MethodParameterPrefix]* Java_Type ["..."] Java_Variable_Definition [Java_EmptySubscript]*
336 all |   |   Java_EmptySubscript: "[]"
103 (all | none) |   |   Java_MethodParameterPrefix: (("final"|"static") | Java_Annotation)
5,725 1.76(97%) none none 99% 7.13(95%) 1.00(100%) Java_Program: [Java_Comment]* [Java_Annotation] [Java_Comment]* [Java_Package] [Java_ImportOrComment]* [Java_ClassOrEnum]*
5,720 (99% | 1%) |   Java_ClassOrEnum: (Java_Class | Java_Enum)
38,781 (5% | 95% | none) |   Java_ImportOrComment: (Java_Comment | Java_Import | ';')
211,753 (27% | 2% | 0% | 0% | none | 0% | 1% | 0% | 0% | 0% | 1% | 1% | 12% | 1% | 11% | 13% | 1% | 0% | 0% | 2% | 1% | 1% | 26%) Java_Statement: (Java_Data | Java_Class | Java_Enum | ';' | Java_AnnotationDefinition | Java_AssertStatement | Java_BreakStatement | Java_ContinueStatement | Java_DoWhileStatement | Java_ExitStatement | Java_ForStatement | Java_ForEachStatement | Java_IfStatement | Java_PrintStatement | Java_ReturnStatement | Java_StatementBlock | Java_SuperStatement | Java_SwitchStatement | Java_SynchronizedStatement | Java_ThrowStatement | Java_TryStatement | Java_WhileStatement | Java_ExpressionStatement)
152,737 (7% | 93%) Java_StatementOrComment: (Java_Comment | Java_Statement)
8,871 all all all Java_Subscript: '[' Java_Expression ']'
172,023 0% all 7% 1.02(3%) Java_Type: [Java_Comment] Java_TypeName [Java_GenericType] [Java_ArrayType]*
4,775 all all |   Java_ArrayType: '[' ']'
1,733 all 1.04 |   Java_ExtendsType: ("extends"|"super") Java_Identifier_Reference*
13,150 all 95% all 1.24(25%) all |   Java_GenericType: '<' [Java_Type] ["[]"] [Java_MoreTypes]* '>'
108,445 all 0% 1.00(3%) 0% |   Java_IdList: Java_Identifier_Reference [Java_ExtendsType] [Java_MoreIds]* [Java_ExtendsMultiple]
11 all all none none |   |   Java_ExtendsMultiple: '&' Java_Identifier_Reference [Java_ExtendsType] [Java_MoreIds]*
3,021 all all |   |   Java_MoreIds: '.' Java_TypeName
4,015 all all |   Java_MoreTypes: ',' Java_Type
175,044 (2% | 36% | 62%) |   Java_TypeName: (Java_GenericTypeQuestion | ("void"|"boolean"|"byte"|"short"|"int"|"long"|"char"|"float"|"double"|"String"|"class") | Java_IdList)
2,898 all 44% |   |   Java_GenericTypeQuestion: '?' [Java_ExtendsType]
377,446 all 1.02(2%) Java_Variable: Java_VariableIdentifier [Java_Subscript]*
377,469 (0% | 1% | 99%) |   Java_VariableIdentifier: (Java_CastedVariable | ("this"|"class"|"super") | Java_Identifier_Reference)
611 all all all all all all |   |   Java_CastedVariable: '(' '(' Java_Type ')' Java_Identifier_Reference ')'
    Java_AnnotationDefinition: [Java_Annotation] Java_MethodModifier* '@' "interface" Java_Identifier '{' [Java_Comment]* [Java_AnnotationParameter] '}'
    |   Java_AnnotationParameter: Java_Type Java_Identifier '(' ')' ';'
283 all all 21% all Java_AssertStatement: "assert" Java_Expression [Java_AssertMessage] ';'
60 all all |   Java_AssertMessage: ':' Java_Expression
2,602 all 4% all Java_BreakStatement: "break" [Java_Identifier_Reference] ';'
606 all 2% all Java_ContinueStatement: "continue" [Java_Identifier_Reference] ';'
176 none all none all all all all all all Java_DoWhileStatement: [Java_Label] "do" [Java_Comment] Java_Statement "while" '(' Java_Expression ')' ';'
171 all all all all all all all Java_ExitStatement: "System" '.' "exit" '(' Java_Expression ')' ';'
54,871 all all 4% Java_ExpressionStatement: Java_Expression ';' [Java_Comment]
1,342 none all all none all all all all all all none all Java_ForEachStatement: [Java_Label] "for" '(' [Java_Annotation] ["final"] Java_Type Java_Variable ':' Java_Expression ')' [Java_Comment] Java_Statement
2,383 1% all all 0% 96% all 96% all 1.11(92%) all 1% all Java_ForStatement: [Java_Label] "for" '(' [Java_Annotation] [Java_ForInit] ';' [Java_Expression] ';' [Java_Expression]* ')' [Java_Comment] Java_Statement
2,298 all 1.13 |   Java_ForInit: ["final"] Java_ForWhat*
2,387 all all |   Java_ForTypeInit: '=' Java_Expression
2,443 (90% | 10% | 1%) |   Java_ForWhat: (Java_ForWithType | Java_ForWithoutType | Java_Expression)
2,190 all all 98% |   Java_ForWithType: Java_Type Java_Variable_Definition [Java_ForTypeInit]
234 all all |   Java_ForWithoutType: Java_Variable_Definition Java_ForTypeInit
24,367 0% all all all 1.00(0%) all 1.06(1%) all 22% Java_IfStatement: [Java_Label] "if" '(' Java_Expression [Java_Comment]* ')' [Java_Comment]* Java_Statement [Java_IfElseClause]
5,342 1.00(0%) all 1% all |   Java_IfElseClause: [Java_Comment]* "else" [Java_Comment] Java_Statement
1,156 all all all all all all 92% all all Java_PrintStatement: "System" '.' ("err"|"out") '.' ("print"|"println") '(' [Java_Expression] ')' ';'
23,231 all 94% all Java_ReturnStatement: "return" [Java_Expression] ';'
55,610 0% all 2.56(99%) none all Java_StatementBlock: [Java_Label] '{' [Java_StatementOrComment]* [';'] '}'
2,621 all all 90% all all Java_SuperStatement: "super" '(' [Java_ArgumentList] ')' ';'
979 all all all all all 4.41 all Java_SwitchStatement: "switch" '(' Java_Expression ')' '{' Java_SwitchClause* '}'
4,315 (85% | 15% | none) |   Java_SwitchClause: (Java_CaseClause | Java_DefaultClause | Java_Comment)
3,668 all 1.06 all 2.02(90%) |   |   Java_CaseClause: "case" Java_Expression* ':' [Java_StatementOrComment]*
647 all all 1.18(99%) |   |   Java_DefaultClause: "default" ':' [Java_StatementOrComment]*
548 all all all all all Java_SynchronizedStatement: "synchronized" '(' Java_Expression ')' Java_Statement
5,000 all all all Java_ThrowStatement: "throw" Java_Expression ';'
1,420 0% all 1% all 3.10(all) all 2.00(0%) 1.08(86%) 14% Java_TryStatement: [Java_Label] "try" [Java_TryResources] '{' [Java_StatementOrComment]* '}' [Java_Comment]* [Java_CatchBlock]* [Java_FinallyBlock]
1,319 all all all all 1.14(2%) all all all |   Java_CatchBlock: "catch" '(' ["final"] Java_Type [Java_MoreExceptions]* Java_Identifier ')' Java_Statement
25 all all |   |   Java_MoreExceptions: '|' Java_Type
192 all all |   Java_FinallyBlock: "finally" Java_Statement
19 all all 1.00(11%) all |   Java_TryResources: '(' Java_TryResource [Java_TryMoreResources]* ')'
2 all all |   |   Java_TryMoreResources: ';' [Java_TryResource]
21 all all all all |   |   Java_TryResource: ["final"] Java_Type Java_Variable_Definition Java_DataInitialValue
1,426 1% all all all all 0% all Java_WhileStatement: [Java_Label] "while" '(' Java_Expression ')' [Java_Comment] Java_Statement

Terminals = 14 (instances=989,125)
Tokens = 169 (instances=4,209,124)

(*) Statistics are shown in the same order as the Tokens.
Percentages are rounded; 'all' and 'none' mean 100% and 0% before rounding.
For lists, it shows the average number of occurrences, excluding empty lists.