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.