cbc/net/loveruby/cflat/ast
Minero Aoki 36c6071ffa * net/loveruby/cflat/compiler/TypeResolver.java: refactoring: unify gvar/lvar initializer resolver.
* net/loveruby/cflat/compiler/TypeChecker.java: check gvar initializer.
* net/loveruby/cflat/compiler/LocalReferenceResolver.java: resolve gvar initializer.
* net/loveruby/cflat/ast/AST.java: new method #variables.
* test/initializer.cb: test variable initializer.
* test/stdio.hb: return type of printf/puts/putc is int.
* test/usertype.cb: ditto.
* test/funcptr.cb: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@3785 1b9489fe-b721-0410-924e-b54b9192deb8
2008-01-03 18:15:31 +00:00
..
AST.java * net/loveruby/cflat/compiler/TypeResolver.java: refactoring: unify gvar/lvar initializer resolver. 2008-01-03 18:15:31 +00:00
ASTVisitor.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
AbstractAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
AddressNode.java * net/loveruby/cflat/compiler/TypeChecker.java: <<, >> does not require same type of integers. 2 types of integers are OK. 2008-01-03 11:26:07 +00:00
AndAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ArefNode.java * net/loveruby/cflat/compiler/TypeChecker.java: <<, >> does not require same type of integers. 2 types of integers are OK. 2008-01-03 11:26:07 +00:00
AssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BinaryOpNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BitwiseAndNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BitwiseNotNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BitwiseOrNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BitwiseXorNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
BlockNode.java * net/loveruby/cflat/compiler/TypeChecker.java: check if parameter type is valid. 2008-01-03 09:00:13 +00:00
BreakNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
BreakableStmt.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
CaseNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
CastNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
CharacterLiteralNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ComplexTypeDefinition.java * net/loveruby/cflat/compiler/Compiler.java: create TypeTable here. 2008-01-01 14:21:26 +00:00
CondExprNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ConstantEntry.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
ConstantTable.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
ContinueNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
ContinueableStmt.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
Declaration.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
Declarations.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
DefinedFunction.java * net/loveruby/cflat/compiler/TypeChecker.java: check if parameter type is valid. 2008-01-03 09:00:13 +00:00
DefinedVariable.java * net/loveruby/cflat/compiler/Visitor.java: did not visit lvar initializer. 2008-01-03 17:47:21 +00:00
Definition.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
DefinitionVisitor.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
DereferenceNode.java * net/loveruby/cflat/compiler/TypeChecker.java: try semantic check and catch semantic errors (mainly thrown from *Node#type). 2008-01-03 14:31:26 +00:00
DivAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
DivNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
DoWhileNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
Entity.java * net/loveruby/cflat/compiler/TypeChecker.java (PtrMemberNode): allow array for base expr. 2008-01-03 16:46:44 +00:00
EqNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ExprNode.java * net/loveruby/cflat/compiler/TypeChecker.java: <<, >> does not require same type of integers. 2 types of integers are OK. 2008-01-03 11:26:07 +00:00
FixedParams.java * net/loveruby/cflat/compiler/TypeChecker.java: check if parameter type is valid. 2008-01-03 09:00:13 +00:00
ForNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
Frame.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
FuncallNode.java * net/loveruby/cflat/compiler/TypeChecker.java: try semantic check and catch semantic errors (mainly thrown from *Node#type). 2008-01-03 14:31:26 +00:00
Function.java * net/loveruby/cflat/compiler/TypeChecker.java: <<, >> does not require same type of integers. 2 types of integers are OK. 2008-01-03 11:26:07 +00:00
GotoNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
GtEqNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
GtNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
IfNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
IntegerLiteralNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LHSNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LShiftAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LShiftNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LabelNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
LogicalAndNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LogicalNotNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LogicalOrNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LoopNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
LtEqNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
LtNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
MemberNode.java * net/loveruby/cflat/compiler/TypeChecker.java: try semantic check and catch semantic errors (mainly thrown from *Node#type). 2008-01-03 14:31:26 +00:00
MinusAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
MinusNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ModAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ModNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
MulAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
MulNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
Node.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
NotEqNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
OrAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
Parameter.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
Params.java * net/loveruby/cflat/compiler/TypeChecker.java: check function arguments. 2008-01-01 15:22:54 +00:00
PlusAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
PlusNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
PrefixDecNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
PrefixIncNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
PtrMemberNode.java * net/loveruby/cflat/compiler/TypeChecker.java: try semantic check and catch semantic errors (mainly thrown from *Node#type). 2008-01-03 14:31:26 +00:00
RShiftAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
RShiftNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ReturnNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
Scope.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
Slot.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
StringLiteralNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
StructNode.java * net/loveruby/cflat/compiler/Compiler.java: create TypeTable here. 2008-01-01 14:21:26 +00:00
SuffixDecNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
SuffixIncNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
SwitchNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
ToplevelScope.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
TypeDefinition.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
TypeNode.java * net/loveruby/cflat/compiler/Compiler.java: invoke TypeChecker. 2008-01-01 12:56:25 +00:00
TypedefNode.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
UnaryMinusNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
UnaryOpNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
UnaryPlusNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
UndefinedFunction.java * net/loveruby/cflat/compiler/TypeChecker.java: check if parameter type is valid. 2008-01-03 09:00:13 +00:00
UndefinedVariable.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
UnionNode.java * net/loveruby/cflat/compiler/Compiler.java: create TypeTable here. 2008-01-01 14:21:26 +00:00
VarParams.java * net/loveruby/cflat/compiler/TypeChecker.java: check function arguments. 2008-01-01 15:22:54 +00:00
Variable.java import cbc from stdcompiler repository (rev185) 2007-12-24 08:19:51 +00:00
VariableNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
WhileNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00
XorAssignNode.java * introduce ExprNode class for all expression nodes. 2008-01-02 11:53:41 +00:00