Main program: Lisp_Program
Lisp syntax:
Count | Terminals: | |
29 | Lisp_Character: character literal | |
3 | Lisp_Comment: ; comment to end of line | |
179 | Lisp_Function_Definition: An identifier | |
3,316 | Lisp_Identifier_Reference: An identifier | |
134 | Lisp_Literal: quotes:" escape:\ doubled:no multiline:yes | |
273 | Lisp_Number: exponent_chars:none suffix_chars:none trailing_period:yes ignore_char:none | |
309 | Lisp_Parameter_Definition: An identifier | |
158 | Lisp_Variable_Definition: An identifier | |
Count | Statistics(*) | Tokens: |
23 | all all 3.13 all | Lisp_CondFunction: '(' ("cond") Lisp_CondPair* ')' |
72 | all all 1.18 all | | Lisp_CondPair: '(' Lisp_Expression Lisp_Expression* ')' |
11 | all all all all 1.00 all | Lisp_DefmacroFunction: '(' "defmacro" Lisp_Function_Definition Lisp_Expression Lisp_Expression* ')' |
61 | all all all all all | Lisp_DefparameterFunction: '(' "defparameter" Lisp_Parameter_Definition Lisp_Expression ')' |
168 | all all 1% all all 1.91(77%) all 1.43 all | Lisp_DefunFunction: '(' "defun" [','] Lisp_Function_Definition '(' [Lisp_ParamDef]* ')' Lisp_Expression* ')' |
248 | all all | | Lisp_ParamDef: ["&REST"] Lisp_Parameter_Definition |
Lisp_DoFunction: '(' "do" '(' [Lisp_DoVariables] ')' '(' Lisp_Expression ')' Lisp_Expression* ')' | ||
| Lisp_DoVariables: '(' Lisp_Variable_Definition Lisp_Expression [Lisp_Expression] ')' | ||
18 | all all all 2.33 all | Lisp_FormatFunction: '(' "format" "T" Lisp_Expression* ')' |
75 | all all all all all all | Lisp_IfFunction: '(' "if" Lisp_Expression Lisp_Expression [Lisp_Expression] ')' |
87 | all all 17% all 1.51 all | Lisp_LetFunction: '(' ("let"|"prog") ['*'] Lisp_LetVariables Lisp_Expression* ')' |
128 | all 3% all all all | | Lisp_LetVar: '(' [','] Lisp_Variable_Definition Lisp_Expression ')' |
87 | all 1.47(all) all | | Lisp_LetVariables: '(' [Lisp_LetVar]* ')' |
34 | all all all all | Lisp_LoopFunction: '(' "loop" Lisp_LoopType ')' |
34 | (97% | 3%) | | Lisp_LoopType: (Lisp_LoopFancy | Lisp_Expression) |
33 | 3% 1.46(85%) 1.24 | | | Lisp_LoopFancy: [Lisp_LoopNamed] [Lisp_LoopVariableClause]* Lisp_LoopMainClause* |
41 | (none | 32% | 2% | 41% | 5% | 5% | 15%) | | | | Lisp_LoopMainClause: (Lisp_LoopInitialFinal | Lisp_LoopUnconditionalDo | Lisp_LoopUnconditionalReturn | Lisp_LoopListAccumulation | Lisp_LoopNumericAccumulation | Lisp_LoopConditional | Lisp_LoopTerminationTest) |
1 | all all | | | | Lisp_LoopNamed: "named" Lisp_Variable_Definition |
41 | (none | 2% | 98%) | | | | Lisp_LoopVariableClause: (Lisp_LoopInitialFinal | Lisp_LoopWith | Lisp_LoopForAsClause) |
121 | all all all all | Lisp_PrintFunction: '(' ("print"|"princ") Lisp_Expression ')' |
1 | all all all all | Lisp_ReturnFunction: '(' "return" [Lisp_Expression] ')' |
29 | all all all all all | Lisp_SetfFunction: '(' ("setf") Lisp_Variable_Definition Lisp_Expression ')' |
6,692 | (0% | 0% | 0% | 1% | 1% | 2% | 0% | 4% | 2% | 0% | 0% | 49% | 25% | 0% | 0% | 1% | 3% | none | 0% | 1% | 1% | 1% | 2% | 0% | 0% | 1% | 0% | 1% | 0% | 1% | 0% | 0% | 0% | 0% | 0% | 1% | 0% | 0% | 0%) | Lisp_Expression: (Lisp_Ampersand | Lisp_CharString | Lisp_Colon | Lisp_Comma | Lisp_Hash | Lisp_QuoteList | Lisp_Tick | Lisp_Number | Lisp_Literal | Lisp_Character | ("."|"?"|"<"|"<="|"="|">="|">") | Lisp_Variable | Lisp_List | Lisp_CondFunction | Lisp_DefmacroFunction | Lisp_DefparameterFunction | Lisp_DefunFunction | Lisp_DoFunction | Lisp_FormatFunction | Lisp_IfFunction | Lisp_LetFunction | Lisp_LoopFunction | Lisp_PrintFunction | Lisp_SetfFunction | Lisp_ReturnFunction | Lisp_AdditionOperator | Lisp_AndOperator | Lisp_Builtins | Lisp_ConcatenateOperator | Lisp_IncrementOperator | Lisp_LengthOperator | Lisp_MultiplicationOperator | Lisp_NotOperator | Lisp_NthOperator | Lisp_OrOperator | Lisp_RelationalOperator | Lisp_RemainderOperator | Lisp_SubseqOperator | Lisp_TruncateOperator) |
8 | all all | | Lisp_Ampersand: '&' Lisp_Expression |
12 | all all all all none | | Lisp_CharString: ("char"|"string") ['/'] ['<'] ['>'] ['='] |
25 | all all | | Lisp_Colon: ':' Lisp_Expression |
52 | all all all | | Lisp_Comma: ',' ['@'] Lisp_Expression |
47 | all all | | Lisp_Hash: '#' Lisp_Expression |
133 | all all | | Lisp_QuoteList: ''' Lisp_Expression |
16 | all all | | Lisp_Tick: '`' Lisp_Expression |
1,663 | all 2.63(99%) all | Lisp_List: '(' [Lisp_Expression]* ')' |
15 | 18.00 | Lisp_Program: Lisp_SExprOrComment* |
270 | (99% | 1%) | Lisp_SExprOrComment: (Lisp_Expression | Lisp_Comment) |
4 | all all | Lisp_Type: ''' ("STRING") |
3,311 | (0% | 100%) | Lisp_Variable: (Lisp_VariableWithDot | Lisp_Identifier_Reference) |
5 | all all all all all | | Lisp_VariableWithDot: '(' Lisp_Identifier_Reference '.' Lisp_Identifier_Reference ')' |
2 | all all none none all | Lisp_LoopConditional: ("if"|"when"|"unless") Lisp_Expression [Lisp_LoopMoreSelectableClause]* [Lisp_LoopConditionalElse] ["end"] |
| Lisp_LoopConditionalElse: "else" Lisp_Expression [Lisp_LoopMoreSelectableClause]* | ||
| Lisp_LoopMoreSelectableClause: "and" Lisp_Expression | ||
40 | all all 1.05 | Lisp_LoopForAsClause: ("for"|"as") Lisp_Variable Lisp_LoopForClause* |
42 | (79% | 21%) | | Lisp_LoopForClause: (Lisp_ForArithmetic | Lisp_ForEqualsThen) |
33 | all all | | | Lisp_ForArithmetic: ("across"|"below"|"from"|"in"|"on"|"to") Lisp_Expression |
9 | all all 22% | | | Lisp_ForEqualsThen: '=' Lisp_Expression [Lisp_LoopForThen] |
2 | all all | | | | Lisp_LoopForThen: "then" Lisp_Expression |
Lisp_LoopInitialFinal: ("initially"|"finally") Lisp_Expression | ||
17 | all all | Lisp_LoopListAccumulation: ("append"|"appenging"|"collect"|"collecting"|"nconc"|"nconcing") Lisp_Expression |
2 | all all none | Lisp_LoopNumericAccumulation: ("count"|"counting"|"maximize"|"maximizing"|"minimize"|"minimizing"|"sum"|"summing") Lisp_Expression [Lisp_LoopAccumulateInto] |
| Lisp_LoopAccumulateInto: "into" Lisp_Variable | ||
6 | all all | Lisp_LoopTerminationTest: ("while"|"until"|"repeat"|"always"|"never"|"thereis") Lisp_Expression |
13 | all 1.31 | Lisp_LoopUnconditionalDo: ("do"|"doing") Lisp_Expression* |
1 | all all | Lisp_LoopUnconditionalReturn: "return" Lisp_Expression |
1 | all none | Lisp_LoopWith: Lisp_LoopWithElement [Lisp_LoopMoreWith]* |
| Lisp_LoopMoreWith: "and" Lisp_LoopWithElement | ||
1 | all all all | | Lisp_LoopWithElement: "with" [Lisp_Expression] [Lisp_LoopWithValue] |
1 | all all | | | Lisp_LoopWithValue: '=' Lisp_Expression |
56 | all all 2.59 all | Lisp_AdditionOperator: '(' ("+"|"++"|"+++"|"-") Lisp_Expression* ')' |
19 | all all 2.16 all | Lisp_AndOperator: '(' "AND" Lisp_Expression* ')' |
87 | all | Lisp_Builtins: ("T"|"NIL") |
4 | all all all 2.50 all | Lisp_ConcatenateOperator: '(' "CONCATENATE" Lisp_Type Lisp_Expression* ')' |
44 | all all all all | Lisp_IncrementOperator: '(' ("1+"|"1-") Lisp_Expression ')' |
7 | all all all all | Lisp_LengthOperator: '(' "LENGTH" Lisp_Expression ')' |
27 | all all 2.22 all | Lisp_MultiplicationOperator: '(' ("*"|"**"|"***"|"/"|"//"|"///") Lisp_Expression* ')' |
21 | all all all all | Lisp_NotOperator: '(' "NOT" Lisp_Expression ')' |
6 | all all all all all | Lisp_NthOperator: '(' "NTH" Lisp_Expression Lisp_Expression ')' |
10 | all all 2.00 all | Lisp_OrOperator: '(' "OR" Lisp_Expression* ')' |
77 | all all 2.00 all | Lisp_RelationalOperator: '(' Lisp_RelOp Lisp_Expression* ')' |
77 | (55% | 45%) | | Lisp_RelOp: ((">"|">="|"="|"/="|"<"|"<=") | ("EQ"|"EQUAL")) |
10 | all all all all all | Lisp_RemainderOperator: '(' ("MOD"|"REM") Lisp_Expression Lisp_Expression ')' |
6 | all all all all all all | Lisp_SubseqOperator: '(' "SUBSEQ" Lisp_Expression Lisp_Expression Lisp_Expression ')' |
3 | all all all all | Lisp_TruncateOperator: '(' "TRUNCATE" Lisp_Expression ')' |
Terminals = 8 (instances=4,401)
Tokens = 70 (instances=14,190)
(*) 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.