Significantly reduce the tendrils of DeclSpecs/Declarator/Declaration code

The stuff in decl.h/decl.cpp is messy, largely due to its close mapping
to C-style variable declarations.  This checkin has updated code throughout
all of the declaration statement, variable, and function code that operates
on symbols and types directly.  Thus, Decl* related stuff is now localized
to decl.h/decl.cpp and the parser.

Issue #13.
This commit is contained in:
Matt Pharr
2011-10-18 15:33:18 -07:00
parent 9b8ea3d500
commit f45ab0744e
13 changed files with 562 additions and 498 deletions

3
ast.h
View File

@@ -80,7 +80,8 @@ class AST {
public:
/** Add the AST for a function described by the given declaration
information and source code. */
void AddFunction(DeclSpecs *ds, Declarator *decl, Stmt *code);
void AddFunction(Symbol *sym, const std::vector<Symbol *> &args,
Stmt *code);
/** Generate LLVM IR for all of the functions into the current
module. */