Mercurial > projects > dil
view src/cmd/ASTStats.d @ 821:09a64d96967a
Started the interpreter. Made a couple changes in other parts -- CharExpression now has an IntExpression of a character type as its value member and its type is set accordingly.
author | Jarrett Billingsley <jarrett.billingsley@gmail.com> |
---|---|
date | Fri, 14 Mar 2008 11:01:05 -0400 |
parents | bcb74c9b895c |
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); } }