Eagle Legacy Modernization, LLC

Delphi Grammar

Main programs: Delphi_Configuration Delphi_Program

Delphi Config syntax:

Delphi syntax:

 Count  Terminals:
26 Delphi_Character: character
618 Delphi_Comment: { comment } or (* comment *) or // comment to end of line
232 Delphi_Config_EndOfLine: End of line
436 Delphi_Config_Value: configuration value
37 Delphi_Function_Definition: An identifier
3 Delphi_HexNumber: A hex number
6,528 Delphi_Identifier_Reference: An identifier
23 Delphi_Include: {$I include }
542 Delphi_Literal: quotes:' escape:none doubled:yes multiline:no
723 Delphi_Number: exponent_chars:Ee suffix_chars:none trailing_period:yes ignore_char:none
196 Delphi_Procedure_Definition: An identifier
19 Delphi_Program_Definition: An identifier
6 Delphi_Property_Definition: An identifier
28 Delphi_Type_Definition: An identifier
653 Delphi_Variable_Definition: An identifier
 Count  Statistics(*) Tokens:
1,022 all all 2.15(100%) all Delphi_Argument_List: '(' ["Inherited"] [Delphi_Expression]* ')'
7 all 86% 27.20(71%) 57% 43% 71% all Delphi_Class: "Class" [Delphi_SuperClass] [Delphi_Class_Entry]* [Delphi_PrivateEntries] [Delphi_ProtectedEntries] [Delphi_PublicEntries] "End"
188 (59% | 4% | 31% | 3% | 3%) |   Delphi_Class_Entry: (Delphi_Field | Delphi_Comment | Delphi_ProcedureForward | Delphi_FunctionForward | Delphi_Property)
110 1.02 all all all |   |   Delphi_Field: Delphi_Variable_Definition* ':' Delphi_Type ';'
4 all 1.50 |   Delphi_PrivateEntries: "Private" Delphi_Class_Entry*
3 all 2.33 |   Delphi_ProtectedEntries: "Protected" Delphi_Class_Entry*
5 all 7.80 |   Delphi_PublicEntries: "Public" Delphi_Class_Entry*
6 all all all |   Delphi_SuperClass: '(' Delphi_Type ')'
2 none 14.00 Delphi_Configuration: [Delphi_Config_EndOfLine] Delphi_Config_Block*
28 all all all all 7.29 |   Delphi_Config_Block: '[' [Delphi_Config_Value] ']' Delphi_Config_EndOfLine Delphi_Config_Line*
204 all all all all |   |   Delphi_Config_Line: [Delphi_Config_Value] '=' [Delphi_Config_Value] Delphi_Config_EndOfLine
13 all 1.00(8%) 4.23 Delphi_Consts: "Const" [Delphi_Comment]* Delphi_Const*
55 all 56% all all all 1.06(29%) |   Delphi_Const: Delphi_Variable_Definition [Delphi_ConstType] '=' Delphi_Expression ';' [Delphi_Comment]*
31 all all |   |   Delphi_ConstType: ':' Delphi_Type
6,452 (11% | 0% | 8% | 0% | 4% | 2% | 0% | 0% | 0% | 0% | 0% | none | 0% | 16% | none | 45% | 0% | 0% | 0% | 3% | 4% | 6% | 0%) Delphi_Expression: (Delphi_Number | Delphi_HexNumber | Delphi_Literal | Delphi_Character | Delphi_Builtins | Delphi_Parentheses | Delphi_Brackets | Delphi_Copy_Function | Delphi_Format_Function | Delphi_Length_Function | Delphi_Odd_Function | Delphi_Pred_Function | Delphi_Succ_Function | Delphi_Function_Call | Delphi_Cast | Delphi_Variable_Expression | Delphi_UnarySign | Delphi_Not_Operator | Delphi_Dot_Expression | Delphi_Multiplicative_Expression | Delphi_Additive_Expression | Delphi_Relational_Expression | Delphi_DotDot_Expression)
19 1.00(5%) all all all 11.26(all) 68% all all 1.00(5%) Delphi_Full: [Delphi_Comment]* ("Program"|"Unit") Delphi_Program_Definition ';' [Delphi_Header]* [Delphi_BeginEnd] ["End"] '.' [Delphi_Comment]*
31 all 1.10(97%) all 1.00(68%) all Delphi_Function: Delphi_FunctionForward [Delphi_Header]* Delphi_BeginEnd [Delphi_Comment]* ';'
6 all all |   Delphi_FunctionClass: Delphi_Identifier_Reference '.'
37 all 1.00(16%) all 81% all all all |   Delphi_FunctionForward: "Function" [Delphi_FunctionClass]* Delphi_Function_Definition [Delphi_Parameter_List] ':' Delphi_Type ';'
536 (0% | 2% | 26% | 3% | 3% | 2% | 27% | 26% | 6% | 4%) Delphi_Header: (Delphi_Initialization | ("Interface"|"Implementation") | Delphi_Comment | Delphi_Uses | Delphi_Types | Delphi_Consts | Delphi_Vars | Delphi_Procedure | Delphi_Function | Delphi_Include)
2 all all all |   Delphi_Initialization: ("Initialization"|"Finalization") Delphi_Statement ';'
169 all 99% 1.56(30%) all Delphi_Parameter_List: '(' [Delphi_Parameter] [Delphi_MoreParameters]* ')'
2 all all |   Delphi_InitialValue: '=' Delphi_Expression
78 all all |   Delphi_MoreParameters: ';' [Delphi_Parameter]
246 all 1.15 all all 1% |   Delphi_Parameter: ["Var"] Delphi_Variable* ':' Delphi_Type [Delphi_InitialValue]
138 all 2.35(71%) 99% 1.00(54%) 99% Delphi_Procedure: Delphi_ProcedureForward [Delphi_Header]* [Delphi_BeginEnd] [Delphi_Comment]* [';']
196 all 1.00(30%) all 71% all 2% |   Delphi_ProcedureForward: ("Procedure"|"Constructor"|"Destructor") [Delphi_ProcedureClass]* Delphi_Procedure_Definition [Delphi_Parameter_List] ';' [Delphi_Override]
3 all all |   |   Delphi_Override: "Override" ';'
58 all all |   |   Delphi_ProcedureClass: Delphi_Identifier_Reference '.'
33 all Delphi_Program: Delphi_Full_or_Partial
33 (42% | 58%) |   Delphi_Full_or_Partial: (Delphi_Partial | Delphi_Full)
14 4.21 |   |   Delphi_Partial: Delphi_Header*
6 all all 17% all all 1.83 all Delphi_Property: "Property" Delphi_Property_Definition [Delphi_PropertySubscript] ':' Delphi_Type Delphi_PropertyReadWrite* ';'
11 (55% | 45%) |   Delphi_PropertyReadWrite: (Delphi_PropertyRead | Delphi_PropertyWrite)
6 all all |   |   Delphi_PropertyRead: "Read" Delphi_Identifier_Reference
5 all all |   |   Delphi_PropertyWrite: "Write" Delphi_Identifier_Reference
1 all all all all all |   Delphi_PropertySubscript: '[' Delphi_Variable_Definition ':' Delphi_Type ']'
2,636 (0% | 35% | 11% | 0% | 0% | 0% | 3% | 0% | 1% | 15% | 0% | 0% | 1% | 1% | 0% | 1% | 2% | 0% | 10% | 19%) Delphi_Statement: (';' | Delphi_Assignment | Delphi_BeginEnd | Delphi_Break_Statement | Delphi_Case_Statement | Delphi_Close_Statement | Delphi_For_Statement | Delphi_GetDateTime_Statement | Delphi_Halt_Statement | Delphi_If_Statement | Delphi_Inherited_Statement | Delphi_Raise_Statement | Delphi_Readln_Statement | Delphi_Repeat_Statement | Delphi_Rewrite_Statement | Delphi_Try_Statement | Delphi_While_Statement | Delphi_With_Statement | Delphi_Writeln_Statement | Delphi_ExpressionStatement)
518 none all 3.21(82%) none 94% 1.36(3%) Delphi_Statement_List: [Delphi_Comment]* Delphi_Statement [Delphi_NextStatement]* [Delphi_Comment]* [';'] [Delphi_Comment]*
1,366 all 1.05(8%) all 1.00(0%) |   Delphi_NextStatement: ';' [Delphi_Comment]* Delphi_Statement [Delphi_Comment]*
934 all all Delphi_Type: ['^'] Delphi_BaseType
13 all 77% all all |   Delphi_Array: "Array" [Delphi_ArraySize] "Of" Delphi_Type
10 all 1.20 all |   |   Delphi_ArraySize: '[' Delphi_Expression* ']'
934 (43% | 52% | 1% | 0% | 1% | 1% | 0% | 2%) |   Delphi_BaseType: (("Boolean"|"Byte"|"Integer"|"LongInt"|"Int64"|"String"|"Text") | Delphi_Identifier_Reference | Delphi_Class | Delphi_Enum | Delphi_Array | Delphi_Range | Delphi_Type_Record | Delphi_String)
2 all 7.00 all |   Delphi_Enum: '(' Delphi_EnumValue* ')'
8 all 38% 38% |   |   Delphi_EnumValue: Delphi_Variable_Definition ['='] [Delphi_Expression]
5 all all all |   Delphi_Range: Delphi_Number ".." Delphi_Number
20 all all all all |   Delphi_String: "String" '[' Delphi_Expression ']'
2 all 3.00 all 50% |   Delphi_Type_Record: "Record" Delphi_RecordEntry* "End" [Delphi_Comment]
6 1.67 all all all |   |   Delphi_RecordEntry: Delphi_Variable_Definition* ':' Delphi_Type ';'
18 all 1.56(all) Delphi_Types: "Type" [Delphi_MoreTypes]*
28 all all all all |   Delphi_MoreTypes: Delphi_Type_Definition '=' Delphi_Type ';'
14 all 12.57 all Delphi_Uses: "Uses" Delphi_UseItem* ';'
95 all 6% |   Delphi_UseItem: Delphi_Identifier_Reference [Delphi_UseItemIn]
6 all all 83% |   |   Delphi_UseItemIn: "In" Delphi_Literal [Delphi_UseItemInBraces]
5 all all all |   |   |   Delphi_UseItemInBraces: '{' Delphi_Identifier_Reference '}'
5,094 all 1.24(15%) Delphi_Variable: Delphi_Identifier_Reference [Delphi_Extended_Variable]*
646 all all all |   Delphi_DotName: ['^'] '.' Delphi_Identifier_Reference
942 (69% | 31%) |   Delphi_Extended_Variable: (Delphi_DotName | Delphi_Subscript)
296 all 1.01 all |   Delphi_Subscript: '[' Delphi_Expression* ']'
147 all 3.06 Delphi_Vars: "Var" Delphi_Var*
450 1.09 all all all 1.05(8%) |   Delphi_Var: Delphi_Variable_Definition* ':' Delphi_Type ';' [Delphi_Comment]*
253 all all all Delphi_Additive_Expression: Delphi_Expression Delphi_Additive_Operator Delphi_Expression
253 (93% | 7%) |   Delphi_Additive_Operator: (("+"|"-") | ("Or"|"Xor"))
13 all 2.23 all Delphi_Brackets: '[' Delphi_Expression* ']'
242 all Delphi_Builtins: ("False"|"True"|"Nil")
    Delphi_Cast: Delphi_Type '(' Delphi_Expression ')'
18 all all all Delphi_DotDot_Expression: Delphi_Expression ".." Delphi_Expression
4 all all all all Delphi_Dot_Expression: Delphi_Expression ['^'] '.' Delphi_Expression
1,018 all all Delphi_Function_Call: Delphi_Variable Delphi_Argument_List
172 all all all Delphi_Multiplicative_Expression: Delphi_Expression Delphi_Multiplicative_Operator Delphi_Expression
172 (21% | 79%) |   Delphi_Multiplicative_Operator: (("*"|"/") | ("Div"|"Mod"|"And"|"Shl"|"Shr"|"As"))
23 all all Delphi_Not_Operator: "Not" Delphi_Expression
101 all 1.46 all Delphi_Parentheses: '(' Delphi_Expression* ')'
403 all all 0% all Delphi_Relational_Expression: Delphi_Expression Delphi_Relational_Operator [Delphi_Comment] Delphi_Expression
403 (99% | 1%) |   Delphi_Relational_Operator: (("="|"<>"|"<"|">"|"<="|">=") | ("In"|"Is"))
1 all all Delphi_UnarySign: ("-"|"+") Delphi_Expression
2,885 all Delphi_Variable_Expression: Delphi_Variable
15 all all all all all all all all Delphi_Copy_Function: "Copy" '(' Delphi_Expression ',' Delphi_Expression ',' Delphi_Expression ')'
2 all all Delphi_Format_Function: "Format" Delphi_Argument_List
18 all all all all Delphi_Length_Function: "Length" '(' Delphi_Expression ')'
7 all all all all Delphi_Odd_Function: "Odd" '(' Delphi_Expression ')'
    Delphi_Pred_Function: "Pred" '(' Delphi_Expression ')'
3 all all all all Delphi_Succ_Function: "Succ" '(' Delphi_Expression ')'
913 all all all none Delphi_Assignment: Delphi_Variable ":=" Delphi_Expression [Delphi_Comment]
469 all 1.00(27%) 100% all Delphi_BeginEnd: "Begin" [Delphi_Comment]* [Delphi_Statement_List] "End"
7 all Delphi_Break_Statement: "Break"
5 all all all 5.40 60% all 20% Delphi_Case_Statement: "Case" Delphi_Expression "Of" Delphi_CaseClause* [Delphi_CaseElseClause] "End" [Delphi_Comment]
27 all all 89% 11% all |   Delphi_CaseClause: Delphi_Expression ':' [Delphi_Statement] [Delphi_Comment] ';'
3 all all none all |   Delphi_CaseElseClause: "Else" [Delphi_Statement] [Delphi_Comment] ';'
7 all 71% Delphi_Close_Statement: "Close" [Delphi_CloseParams]
5 all all all |   Delphi_CloseParams: '(' Delphi_Identifier_Reference ')'
511 all 6% Delphi_ExpressionStatement: Delphi_Expression [Delphi_Comment]
82 all all all all all all all 1.00(4%) all Delphi_For_Statement: "For" Delphi_Identifier_Reference ":=" Delphi_Expression ("To"|"DownTo") Delphi_Expression "Do" [Delphi_Comment]* Delphi_Statement
8 all all all all Delphi_GetDateTime_Statement: "GetDateTime" '(' Delphi_Variable ')'
14 all Delphi_Halt_Statement: "Halt"
389 all all 1.00(1%) all 1.00(5%) 98% 49% Delphi_If_Statement: "If" Delphi_Expression [Delphi_Comment]* "Then" [Delphi_Comment]* [Delphi_Statement] [Delphi_If_Else]
192 1.00(1%) all all |   Delphi_If_Else: [Delphi_Comment]* "Else" Delphi_Statement
8 all 63% 25% Delphi_Inherited_Statement: "Inherited" [Delphi_Variable] [Delphi_Argument_List]
3 all all Delphi_Raise_Statement: "Raise" Delphi_Expression
32 all 88% Delphi_Readln_Statement: "ReadLn" [Delphi_Readln_What]
9 all all all all all |   Delphi_Readln_FromFile: '(' Delphi_Identifier_Reference ',' Delphi_Identifier_Reference ')'
19 all all all |   Delphi_Readln_NoFile: '(' Delphi_Identifier_Reference ')'
28 (68% | 32%) |   Delphi_Readln_What: (Delphi_Readln_NoFile | Delphi_Readln_FromFile)
25 all all all all Delphi_Repeat_Statement: "Repeat" Delphi_Statement_List "Until" Delphi_Expression
4 all all all all all all Delphi_Rewrite_Statement: "ReWrite" '(' Delphi_Identifier_Reference ',' Delphi_Literal ')'
14 all all all 21% all 57% all Delphi_Try_Statement: "Try" Delphi_Statement_List ["Except"] [Delphi_Statement_List] ["Finally"] [Delphi_Statement_List] "End"
61 all all all all Delphi_While_Statement: "While" Delphi_Expression "Do" Delphi_Statement
5 all all all all all Delphi_With_Statement: "With" Delphi_Expression ['^'] "Do" Delphi_Statement
257 all 88% Delphi_Writeln_Statement: ("Write"|"WriteLn") [Delphi_WriteLn_Something]
404 all 1% 0% |   Delphi_WriteLn_Piece: Delphi_Expression [Delphi_Writeln_ColonWidth] [Delphi_Writeln_ColonWidth]
6 all all |   |   Delphi_Writeln_ColonWidth: ':' Delphi_Expression
226 all 2.78(95%) all |   Delphi_WriteLn_Something: '(' [Delphi_WriteLn_Piece]* ')'

Terminals = 15 (instances=10,070)
Tokens = 113 (instances=33,694)

(*) 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.