Eagle Legacy Modernization, LLC

CMD Grammar

Main program: CMD_Program

CMD syntax:

 Count  Terminals:
4 CMD_Comment: :: comment
14,797 CMD_EndOfLine: End of line
16,095 CMD_Filename: file name
7,577 CMD_Identifier_Reference: An identifier
51 CMD_Label_Definition: An identifier
464 CMD_Label_Reference: An identifier
771 CMD_Literal: quotes:'" escape:none doubled:no multiline:no
1,377 CMD_Number: exponent_chars:none suffix_chars:none trailing_period:no ignore_char:none
99 CMD_PctPctVariable: An identifier like %%A or %~2
3,647 CMD_RawArgument: argument
1,366 CMD_RestOfLine: Rest of the line
14 CMD_Variable_Definition: An identifier
 Count  Statistics(*) Tokens:
1,173 (1% | 4% | 1% | 58% | none | 1% | 7% | 27% | 1%) CMD_BasicExpression: (CMD_Number | CMD_Literal | CMD_PctPctVariable | CMD_Filename | CMD_ParenthesizedExpression | CMD_NegativeExpression | CMD_VariableExpression | CMD_PercentExpression | CMD_BangExpression)
14,593 none all all 1.02(12%) 1.17(2%) all CMD_Command: [CMD_EndOfLine] ['@'] CMD_Statement [CMD_Redirect]* [CMD_More_Statements]* CMD_EndOfLine
307 all 29% 1.00(4%) |   CMD_More_Statements: CMD_Statement_Separator [CMD_Statement] [CMD_Redirect]*
307 (all) |   |   CMD_Statement_Separator: ((";"|"||"|"|"|"&&"))
1,766 (0% | 97% | 1% | 1% | none) |   CMD_Redirect: (CMD_Redirect_Input | CMD_Redirect_Output | CMD_Redirect_Append | CMD_Redirect_Error_One | CMD_Redirect_Error_File)
17 all all |   CMD_Redirect_Append: ">>" CMD_Expression
    |   CMD_Redirect_Error_File: CMD_Number '>' CMD_Expression
23 all all all all |   CMD_Redirect_Error_One: CMD_Number '>' '&' CMD_Number
7 all all |   CMD_Redirect_Input: '<' CMD_Expression
1,719 all all |   CMD_Redirect_Output: '>' CMD_Expression
23,134 (6% | 3% | 0% | 58% | 0% | 0% | 29% | 2% | 0% | 1% | 1% | 0% | 1%) CMD_Expression: (CMD_Number | CMD_Literal | CMD_PctPctVariable | CMD_Filename | CMD_ParenthesizedExpression | CMD_NegativeExpression | CMD_VariableExpression | CMD_PercentExpression | CMD_BangExpression | CMD_MultiplicativeExpression | CMD_AdditiveExpression | CMD_RelationalExpression | CMD_EqualityExpression)
51 all all all CMD_Label: ':' CMD_Label_Definition CMD_EndOfLine
245 58.77(all) CMD_Program: [CMD_CommandOrLabel]*
14,399 (100% | 0%) |   CMD_CommandOrLabel: (CMD_Command | CMD_Label)
15,111 (0% | 1% | 0% | 3% | 0% | 17% | 28% | 0% | 3% | 0% | none | 0% | 0% | 1% | 0% | 2% | 0% | 0% | none | 0% | 0% | 3% | 0% | 4% | 0% | 0% | 0% | 37%) CMD_Statement: (CMD_Comment | CMD_BlockStatement | CMD_Awk_Statement | CMD_Call_Statement | CMD_CD_Statement | CMD_Copy_Statement | CMD_Del_Statement | CMD_Dir_Statement | CMD_Echo_Statement | CMD_Exit_Statement | CMD_FindStr_Statement | CMD_For_Statement | CMD_GCC_Statement | CMD_Goto_Statement | CMD_Grep_Statement | CMD_If_Statement | CMD_Mkdir_Statement | CMD_NMake_Statement | CMD_Perl_Statement | CMD_Popd_Statement | CMD_Pushd_Statement | CMD_Rem_Statement | CMD_Rmdir_Statement | CMD_Set_Statement | CMD_SetLocal_Statement | CMD_Shift_Statement | CMD_Xcopy_Statement | CMD_GenericStatement)
7,527 all all 0% CMD_Variable: ['$'] CMD_Identifier_Reference [CMD_Subscript]
12 all all all |   CMD_Subscript: '[' CMD_Expression ']'
273 all all all CMD_AdditiveExpression: CMD_Expression ("+"|"-") CMD_Expression
37 all all all CMD_BangExpression: '!' CMD_Expression '!'
180 all all all CMD_EqualityExpression: CMD_Expression CMD_IfOperator CMD_Expression
180 (8% | 92%) |   CMD_IfOperator: (("equ"|"neq") | "==")
116 all all all CMD_MultiplicativeExpression: CMD_Expression ("*"|"/"|"%%") CMD_Expression
14 all all CMD_NegativeExpression: ("-") CMD_Expression
2 all all all CMD_ParenthesizedExpression: '(' CMD_Expression ')'
699 all all all CMD_PercentExpression: '%' CMD_Expression '%'
20 all all all CMD_RelationalExpression: CMD_Expression ("gtr"|"leq"|"lss"|"geq") CMD_Expression
6,901 all CMD_VariableExpression: CMD_Variable
26 all 1.00(65%) 1.17(69%) CMD_Awk_Statement: "awk" [CMD_Awk_Option]* [CMD_Expression]*
17 (all | none) |   CMD_Awk_Option: (CMD_Awk_Option_F | CMD_Awk_Option_V)
17 all all all |   |   CMD_Awk_Option_F: '-' "f" CMD_Expression
    |   |   CMD_Awk_Option_V: '-' "v" CMD_Expression
153 all all 1.60 all CMD_BlockStatement: '(' [CMD_EndOfLine] CMD_LabelOrCommand* ')'
245 (all | none) |   CMD_LabelOrCommand: (CMD_Command | CMD_Label)
7 all 1.00(57%) all CMD_CD_Statement: "cd" [CMD_CD_Option]* CMD_Expression
4 (all) |   CMD_CD_Option: (CMD_CD_Option_D)
4 all all |   |   CMD_CD_Option_D: '/' "d"
464 all 6% all 2.47(100%) CMD_Call_Statement: "call" [':'] CMD_Label_Reference [CMD_Call_Argument]*
1,142 (all | none) |   CMD_Call_Argument: (CMD_ExpressionComma | CMD_Call_Option)
    |   CMD_Call_Option: ("-"|"/") CMD_BasicExpression
1,142 all 1% |   CMD_ExpressionComma: CMD_BasicExpression [',']
2,602 all 1.00(1%) all 50% CMD_Copy_Statement: "copy" [CMD_Copy_Option]* CMD_Expression [CMD_Expression]
24 (all) |   CMD_Copy_Option: (CMD_Copy_Option_Y)
24 all all |   |   CMD_Copy_Option_Y: '/' "y"
4,198 all 1.00(0%) 1.00 CMD_Del_Statement: "del" [CMD_Del_Option]* CMD_Expression*
14 (all | none | none) |   CMD_Del_Option: (CMD_Del_Option_F | CMD_Del_Option_Q | CMD_Del_Option_S)
14 all all |   |   CMD_Del_Option_F: '/' "f"
    |   |   CMD_Del_Option_Q: '/' "q"
    |   |   CMD_Del_Option_S: '/' "s"
36 all 1.18(61%) 1.44(all) CMD_Dir_Statement: "dir" [CMD_Dir_Option]* [CMD_Expression]*
26 (12% | 23% | none | 65%) |   CMD_Dir_Option: (CMD_Dir_Option_A | CMD_Dir_Option_B | CMD_Dir_Option_O | CMD_Dir_Option_S)
3 all all all all |   |   CMD_Dir_Option_A: '/' "a" ':' ("h"|"r")
6 all all |   |   CMD_Dir_Option_B: '/' "b"
    |   |   CMD_Dir_Option_O: '/' "o" ':' "d"
17 all all |   |   CMD_Dir_Option_S: '/' "s"
384 all 7% all CMD_Echo_Statement: "echo" ['.'] CMD_RestOfLine
10 all 1.00(all) all CMD_Exit_Statement: "exit" [CMD_Exit_Option]* [CMD_Expression]
10 (all) |   CMD_Exit_Option: (CMD_Exit_Option_B)
10 all all |   |   CMD_Exit_Option_B: '/' "b"
3 all 1.00(67%) all CMD_FindStr_Statement: "FINDSTR" [CMD_FindStrOption]* CMD_Literal
2 (all) |   CMD_FindStrOption: (Powershell_FindStrOptionLetter)
2 all all |   |   Powershell_FindStrOptionLetter: '/' ("R")
64 all all all all all CMD_For_Statement: "for" CMD_For_Type "do" ['@'] CMD_Statement
2 all all all |   CMD_For_D: CMD_Option_D CMD_PctPctVariable "in"
16 all all 88% all all |   CMD_For_F: '/' "f" [CMD_Literal] CMD_PctPctVariable "in"
9 all all all all all all all all all all all |   CMD_For_L: '/' "l" CMD_PctPctVariable "in" '(' CMD_Expression ',' CMD_Expression ',' CMD_Expression ')'
61 43% all |   CMD_For_More_Args: [','] CMD_RawArgument
12 all all |   CMD_For_No_Options: CMD_PctPctVariable "in"
13 15% all all all all all |   CMD_For_R_Filename: [CMD_Option_D] '/' "r" CMD_BasicExpression CMD_PctPctVariable "in"
12 none all all all all |   CMD_For_R_no_Filename: [CMD_Option_D] '/' "r" CMD_PctPctVariable "in"
64 (86% | 14%) |   CMD_For_Type: (CMD_Simple_For | CMD_For_L)
4 all all |   CMD_Option_D: '/' "d"
55 all all all 6.78(16%) all |   CMD_Simple_For: CMD_Simple_For_Type '(' CMD_RawArgument [CMD_For_More_Args]* ')'
55 (22% | 4% | 29% | 24% | 22%) |   CMD_Simple_For_Type: (CMD_For_No_Options | CMD_For_D | CMD_For_F | CMD_For_R_Filename | CMD_For_R_no_Filename)
2 all 5.00 CMD_GCC_Statement: "gcc" CMD_GCC_Parameter*
10 (none | all) |   CMD_GCC_Parameter: (CMD_GCC_Option_O | CMD_Expression)
    |   |   CMD_GCC_Option_O: '-' "o" CMD_Expression
5,517 all 3.28(69%) CMD_GenericStatement: CMD_Expression [CMD_GenericArgument]*
12,456 (13% | 17% | 42% | 28%) |   CMD_GenericArgument: ((","|"-"|"/"|"%*") | CMD_Filename | CMD_Expression | CMD_RawArgument)
85 all 48% all CMD_Goto_Statement: "goto" [':'] CMD_Goto_What
85 (59% | 41%) |   CMD_Goto_What: (CMD_Identifier_Reference | "eof")
21 all 1.67 CMD_Grep_Statement: "grep" CMD_Grep_Parameter*
35 (none | 6% | 3% | none | none | 17% | none | 74%) |   CMD_Grep_Parameter: (CMD_Grep_Option_H | CMD_Grep_Option_e | CMD_Grep_Option_i | CMD_Grep_Option_l | CMD_Grep_Option_n | CMD_Grep_Option_v | CMD_Grep_Option_w | CMD_Expression)
    |   |   CMD_Grep_Option_H: '-' "H"
2 all all all |   |   CMD_Grep_Option_e: '-' "e" CMD_Expression
1 all all |   |   CMD_Grep_Option_i: '-' "i"
    |   |   CMD_Grep_Option_l: '-' "l"
    |   |   CMD_Grep_Option_n: '-' "n"
6 all all |   |   CMD_Grep_Option_v: '-' "v"
    |   |   CMD_Grep_Option_w: '-' "w"
321 all all all all all 14% CMD_If_Statement: "if" ["not"] CMD_IfWhat ['@'] CMD_Statement [CMD_IfElseClause]
15 all all |   CMD_IfDefined: "defined" CMD_Variable
45 all none all all |   CMD_IfElseClause: "else" [CMD_EndOfLine] ['@'] CMD_Statement
25 all all |   CMD_IfErrorLevel: "errorlevel" CMD_Number
81 all all |   CMD_IfExist: "exist" CMD_Expression
321 (62% | 5% | 8% | 25%) |   CMD_IfWhat: (CMD_Expression | CMD_IfDefined | CMD_IfErrorLevel | CMD_IfExist)
24 all all CMD_Mkdir_Statement: "mkdir" CMD_Expression
11 all 7.45 CMD_NMake_Statement: "nmake" CMD_NMake_Parameter*
82 (17% | 9% | 9% | 12% | 12% | 41%) |   CMD_NMake_Parameter: (CMD_NMake_Assignment | CMD_NMake_Option_E | CMD_NMake_Option_F | CMD_NMake_Option_I | CMD_NMake_Option_K | CMD_Expression)
14 all all all |   |   CMD_NMake_Assignment: CMD_Variable_Definition '=' CMD_Expression
7 all all |   |   CMD_NMake_Option_E: '/' "e"
7 all all all |   |   CMD_NMake_Option_F: '/' "f" CMD_Expression
10 all all |   |   CMD_NMake_Option_I: '/' "i"
10 all all |   |   CMD_NMake_Option_K: '/' "k"
    CMD_Perl_Statement: "perl" [CMD_Perl_Option]* CMD_Expression* CMD_EndOfLine CMD_Goto_Statement CMD_EndOfLine ['@'] CMD_Rem_Statement CMD_EndOfLine Perl_Program "__END__"
    |   CMD_Perl_Option: (CMD_Perl_Option_E)
    |   |   CMD_Perl_Option_E: '-' "e" Perl_Literal
19 all CMD_Popd_Statement: "popd"
19 all all CMD_Pushd_Statement: "pushd" CMD_Expression
430 all all CMD_Rem_Statement: "rem" CMD_RestOfLine
16 all 1.93(88%) all CMD_Rmdir_Statement: "rmdir" [CMD_Rmdir_Option]* CMD_Expression
27 (52% | 48%) |   CMD_Rmdir_Option: (CMD_Rmdir_Option_Q | CMD_Rmdir_Option_S)
14 all all |   |   CMD_Rmdir_Option_Q: '/' "q"
13 all all |   |   CMD_Rmdir_Option_S: '/' "s"
74 all all CMD_SetLocal_Statement: "setlocal" [("ENABLEEXTENSIONS"|"ENABLEDELAYEDEXPANSION")]
611 all all CMD_Set_Statement: "set" CMD_Set_What
59 all all all all all |   CMD_Set_Assigment: '/' "a" CMD_Variable ("="|"+=") CMD_Expression
    |   CMD_Set_Prompt: '/' "p" CMD_Variable '=' CMD_RestOfLine
552 all all all |   CMD_Set_Regular: CMD_Variable '=' CMD_RestOfLine
611 (90% | 10% | none) |   CMD_Set_What: (CMD_Set_Regular | CMD_Set_Assigment | CMD_Set_Prompt)
3 all none CMD_Shift_Statement: "shift" [CMD_Number]
20 all 3.00(5%) all all 8.35(all) CMD_Xcopy_Statement: "XCOPY" [CMD_XcopyOption]* CMD_Literal CMD_Literal [CMD_XcopyOption]*
170 (11% | 89%) |   CMD_XcopyOption: (CMD_XcopyOptionExclude | Powershell_XcopyOptionLetter)
18 all all all all |   |   CMD_XcopyOptionExclude: '/' "EXCLUDE" ':' CMD_BasicExpression
152 all all |   |   Powershell_XcopyOptionLetter: '/' ("D"|"E"|"F"|"H"|"I"|"Q"|"R"|"S"|"V"|"Y")

Terminals = 12 (instances=46,262)
Tokens = 124 (instances=121,787)

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