Mercurial > projects > dil
view trunk/src/cmd/ASTStats.d @ 797:cf2ad5df025c
Added documentation comments.
Removed Lexer.loadKeywords() and revised Lexer.isReservedIdentifier().
Also removed Lexer.getTokens().
Renamed keywords to g_reservedIds.
Renamed classNames to g_classNames.
Added PRE and DMDBUG macros.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Fri, 29 Feb 2008 22:51:24 +0100 |
parents | 8380fb2c765f |
children |
line wrap: on
line source
/++ Author: Aziz Köksal License: GPL3 +/ module cmd.ASTStats; import dil.ast.DefaultVisitor; import dil.ast.Node, dil.ast.Declaration, dil.ast.Statement, dil.ast.Expression, dil.ast.Types; /// Counts the nodes in a syntax tree. class ASTStats : DefaultVisitor { uint[] table; /// Table for counting nodes. /// Starts counting. uint[] count(Node root) { table = new uint[g_classNames.length]; super.visitN(root); return table; } // Override dispatch function. override Node dispatch(Node n) { table[n.kind]++; return super.dispatch(n); } }