@@ -78,7 +78,7 @@ option '-l', '--level [LEVEL]', 'log level [debug < info < log(default) < warn <
78
78
setupConsole = ({level} = {}) ->
79
79
global .cakeConsole = CakeConsole .stdio {level}
80
80
global .console = global .cakeConsole
81
- console .log " log level = #{ level} "
81
+ console .info " log level = #{ level} "
82
82
83
83
consoleTask = (name , description , action ) ->
84
84
global .task name, description, ({level = ' log' , ... opts} = {}) ->
@@ -108,9 +108,18 @@ run = (args, callback) ->
108
108
buildParser = ->
109
109
helpers .extend global , require ' util'
110
110
require ' jison'
111
+
112
+ # Gather summary statistics about the grammar.
113
+ parser = require (' ./lib/coffeescript/grammar' ).parser
114
+ {symbols_ , terminals_ , productions_ } = parser
115
+ countKeys = (obj ) -> (Object .keys obj).length
116
+ numSyms = countKeys symbols_
117
+ numTerms = countKeys terminals_
118
+ numProds = countKeys productions_
119
+ console .info " parser created (#{ numSyms} symbols, #{ numTerms} terminals, #{ numProds} productions)"
120
+
111
121
# We don't need `moduleMain`, since the parser is unlikely to be run standalone.
112
- parser = require (' ./lib/coffeescript/grammar' ).parser .generate (moduleMain : -> )
113
- fs .writeFileSync ' lib/coffeescript/parser.js' , parser
122
+ fs .writeFileSync ' lib/coffeescript/parser.js' , parser .generate (moduleMain : -> )
114
123
115
124
buildExceptParser = (callback ) ->
116
125
files = fs .readdirSync ' src'
0 commit comments