Commit Graph

406 Commits

Author SHA1 Message Date
Minero Aoki 2d0babf4c4 * bin/cbc: resolve symbolic link to command file.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4074 1b9489fe-b721-0410-924e-b54b9192deb8
2008-10-25 22:04:56 +00:00
Minero Aoki 244c52e425 updated
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4073 1b9489fe-b721-0410-924e-b54b9192deb8
2008-10-24 18:52:49 +00:00
Minero Aoki dd5d3dd4f0 * name code symbols lazily.
* separate Label and Symbol.
* net/loveruby/cflat/compiler/CodeGenerator.java: use Symbol instead of Label for entity symbol.
* net/loveruby/cflat/asm/Symbol.java: new interface.
* net/loveruby/cflat/asm/BaseSymbol.java: new class.
* net/loveruby/cflat/asm/NamedSymbol.java: new class.
* net/loveruby/cflat/asm/SuffixedSymbol.java: new class.
* net/loveruby/cflat/asm/UnnamedSymbol.java: new class.
* net/loveruby/cflat/asm/SymbolTable.java: new class.
* net/loveruby/cflat/asm/*.java: Label -> Symbol.
* net/loveruby/cflat/asm/LabelRef.java: removed.
* net/loveruby/cflat/ast/*.java: Label -> Symbol.
* net/loveruby/cflat/parser/Parser.jj: does not pass a LabelPool anymore.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4072 1b9489fe-b721-0410-924e-b54b9192deb8
2008-10-24 18:40:21 +00:00
Minero Aoki 11e6f1ab64 * net/loveruby/cflat/ast/*.java: minimize references to asm/*.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4071 1b9489fe-b721-0410-924e-b54b9192deb8
2008-10-24 14:03:31 +00:00
Minero Aoki 98febdb080 rename class name
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4070 1b9489fe-b721-0410-924e-b54b9192deb8
2008-10-24 12:47:35 +00:00
Minero Aoki 715ec649f9 updated
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4068 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-28 18:56:28 +00:00
Minero Aoki cd37fb1f02 * convert all source codes to Java 5 using generics and foreach stmt.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4067 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-28 18:46:56 +00:00
Minero Aoki 9003c4fd72 * net/loveruby/cflat/compiler/Options.java (getOutputFileName): should use outputFileName always when linking, output file of linking is always 1 file.
* net/loveruby/cflat/compiler/Options.java: fixes compile error: new method #isGeneratingPIE.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4066 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 22:19:48 +00:00
Minero Aoki 1d35dd1665 * net/loveruby/cflat/compiler/Compiler.java: implement -shared.
* net/loveruby/cflat/compiler/Options.java: new option -shared.
* net/loveruby/cflat/compiler/CodeGeneratorOptions.java: ditto.
* net/loveruby/cflat/compiler/SourceFile.java: new method #linkedFileName.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4065 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 22:07:04 +00:00
Minero Aoki 94db94b1c4 cbc does not support stdin.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4064 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:37:10 +00:00
Minero Aoki 540c3c7fa3 test aref-semcheck2.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4063 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:28:31 +00:00
Minero Aoki 046327bbae calculate test dir from $0
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4062 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:26:50 +00:00
Minero Aoki c39d9fcea5 move tool
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4061 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:24:42 +00:00
Minero Aoki fb81b25c2d updated
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4060 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:23:44 +00:00
Minero Aoki 47b631eaa7 remove unused, duplicated test
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4059 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:13:03 +00:00
Minero Aoki 4be975bb5b did not work
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4058 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:12:46 +00:00
Minero Aoki 69862827dc * implement PIC generation.
* lib/Makefile: should generate PIC for libcbc.o.
* net/loveruby/cflat/compiler/Compiler.java: pass CodeGeneratorOptions to CodeGenerator.
* net/loveruby/cflat/compiler/Options.java: new options -fpic, -fPIC.
* net/loveruby/cflat/compiler/CodeGenerator.java: use position independent address for global variables, common symbols, defined/undefined functions and string constants.
* net/loveruby/cflat/compiler/CodeGeneratorOptions.java: new class.
* net/loveruby/cflat/asm/ELFConstants.java: new interface to define ELF-related constants.
* net/loveruby/cflat/asm/Assembler.java: new method #hidden.
* net/loveruby/cflat/asm/Assembler.java: new overload #section(s,s,s,s,s).
* net/loveruby/cflat/asm/IndirectMemoryReference.java: offset may not long, but Literal.
* net/loveruby/cflat/asm/Literal.java: new method #isZero.
* net/loveruby/cflat/asm/IntegerLiteral.java: ditto.
* net/loveruby/cflat/asm/LabelRef.java: ditto.
* net/loveruby/cflat/ast/ExprNode.java: new method #shouldEvaluatedToAddres.
* net/loveruby/cflat/ast/VariableNode.java: override it.
* net/loveruby/cflat/ast/CastNode.java: override it.
* net/loveruby/cflat/ast/Entity.java: new method #cannotLoad, to implement #shouldEvaluatedToAddress.
* net/loveruby/cflat/ast/Variable.java: override it.
* net/loveruby/cflat/ast/Function.java: override it.
* net/loveruby/cflat/ast/ExprNode.java: rename method: #AsmLiteral -> #AsmValue because it now returns ImmediateValue instead of Literal.
* net/loveruby/cflat/ast/CastNode.java: override it.
* net/loveruby/cflat/ast/LiteralNode.java: rename method also.
* net/loveruby/cflat/ast/IntegerLiteralNode.java: ditto.
* net/loveruby/cflat/ast/StringLiteralNode.java: ditto.
* net/loveruby/cflat/ast/Variable.java: holds memref and address here, not in subclasses.
* net/loveruby/cflat/ast/DefinedVariable.java: ditto.
* net/loveruby/cflat/ast/UndefinedVariable.java: ditto.
* net/loveruby/cflat/ast/LiteralNode.java: new method #memref.
* net/loveruby/cflat/ast/IntegerLiteralNode.java: implement it.
* net/loveruby/cflat/ast/StringLiteralNode.java: implement it.
* net/loveruby/cflat/ast/ConstantEntry.java: holds memref and address.
* net/loveruby/cflat/ast/AST.java: new method #allFunctions, to access undefined functions from code generator.
* net/loveruby/cflat/ast/ToplevelScope.java: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4057 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 20:07:49 +00:00
Minero Aoki ac9c042b57 use ant to compile cbc
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4056 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 19:52:23 +00:00
Minero Aoki 7f25d1a693 show test function name while running tests.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4055 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-27 19:52:06 +00:00
Minero Aoki f94faf7fde * net/loveruby/cflat/compiler/CodeGenerator.java: remove unused labels.
* net/loveruby/cflat/asm/AsmStatistics.java: collect label usage.
* net/loveruby/cflat/asm/DirectMemoryReference.java: support collectStatistics.
* net/loveruby/cflat/asm/Literal.java: ditto.
* net/loveruby/cflat/asm/LabelRef.java: ditto.
* net/loveruby/cflat/asm/IntegerLiteral.java: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4054 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 16:10:42 +00:00
Minero Aoki f024475c8e compute cbc location from $0. Support source files which are not in the current directory.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4053 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 16:06:18 +00:00
Minero Aoki df96fa80c7 * net/loveruby/cflat/asm/PeepholeOptimizer.java: unify insn optimization and jump elimination.
* net/loveruby/cflat/utils/ClonableIterator.java -> Cursor.java
* net/loveruby/cflat/compiler/Options.java: use default optimization rule set for -O.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4052 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 15:48:39 +00:00
Minero Aoki d32b629568 new tool to show optimization result
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4051 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 13:54:15 +00:00
Minero Aoki 637fce5053 * net/loveruby/cflat/compiler/CodeGenerator.java: apply jump elimination.
* net/loveruby/cflat/asm/PeepholeOptimizer.java: new optimization method: jump elimination.
* net/loveruby/cflat/asm/Assembler.java: refactoring: #string -> #toSource.
* net/loveruby/cflat/asm/Assembler.java: refactoring: list -> assemblies.
* net/loveruby/cflat/asm/Assembly.java: new method #isDirective and #isComment.
* net/loveruby/cflat/asm/Directive.java: implement it.
* net/loveruby/cflat/asm/AsmComment.java: implement it.
* net/loveruby/cflat/asm/Label.java: implement it.
* net/loveruby/cflat/asm/Label.java: new method #equals, #hashCode.
* net/loveruby/cflat/asm/Instruction.java: add jump related methods to analyze jump instruction.
* net/loveruby/cflat/asm/LabelRef.java: new method #label to allow extracting a Label.
* net/loveruby/cflat/asm/Register.java: new method #equals, #hashCode.
* net/loveruby/cflat/asm/AsmStatistics.java: use Object for map keys.
* net/loveruby/cflat/asm/AsmStatistics.java: new method #doesRegisterUsed.
* net/loveruby/cflat/utils/ClonableIterator.java: new utility.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4050 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 13:50:54 +00:00
Minero Aoki 4f1f681a7c parameterize cbc options.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4049 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 13:45:54 +00:00
Minero Aoki 293a917057 test #dup
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4048 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 13:45:26 +00:00
Minero Aoki 9fcae829f5 * lib/Makefile: parameterize.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4047 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 13:45:03 +00:00
Minero Aoki 916762da56 new task unittest.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4046 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 11:43:04 +00:00
Minero Aoki 6a847efed7 * unit: new unit test suite.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4045 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-23 11:42:44 +00:00
Minero Aoki 6164216de3 * test/div.cb: test %esi usage.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4044 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-21 16:45:52 +00:00
Minero Aoki 8f3e39031a * net/loveruby/cflat/ast/Function.java: refactoring: new method #label.
* net/loveruby/cflat/compiler/CodeGenerator.java (prologue): omit loop when no-verboseAsm.
* test: check "puts = NULL" and "stdin = NULL" are compilable (of course "puts = NULL" causes segv).


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4043 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-21 09:14:34 +00:00
Minero Aoki 81bbba45af * net/loveruby/cflat/compiler/CodeGenerator.java: lhs.memref may be null when lhs is extern variable.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4042 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-21 08:22:48 +00:00
Minero Aoki 556d917fff * net/loveruby/cflat/compiler/CodeGenerator.java: optimize constant load.
* net/loveruby/cflat/asm/ImmediateValue.java: accept any Literal.
* net/loveruby/cflat/ast/LiteralNode.java: new method #asmLiteral.
* net/loveruby/cflat/ast/CastNode.java: is not constant when cast is effective.
* net/loveruby/cflat/compiler/Compiler.java: new option --verbose-asm.
* net/loveruby/cflat/compiler/Options.java: ditto.
* net/loveruby/cflat/compiler/CodeGenerator.java: ditto.
* net/loveruby/cflat/asm/Assembler.java: new method #indentComment, #unindentComment.
* net/loveruby/cflat/asm/AsmComment.java: indent comments.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4041 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-20 20:43:34 +00:00
Minero Aoki 1668b72403 * net/loveruby/cflat/compiler/CodeGenerator.java: fix local variables offset after compiling function body, to allow saving really-used callee-saved registers only.
* net/loveruby/cflat/asm/IndirectMemoryReference.java: allow fixing offset out of consructor.
* net/loveruby/cflat/asm/AsmStatistics.java: new class.
* net/loveruby/cflat/asm/Assembly.java: support #collectStatistics.
* net/loveruby/cflat/asm/Instruction.java: ditto.
* net/loveruby/cflat/asm/AsmOperand.java: ditto.
* net/loveruby/cflat/asm/Register.java: ditto.
* net/loveruby/cflat/asm/AbsoluteAddress.java: ditto.
* net/loveruby/cflat/asm/DirectMemoryReference.java: ditto.
* net/loveruby/cflat/asm/ImmediateValue.java: ditto.
* net/loveruby/cflat/ast/Scope.java: refactoring: rename method: #allChildren -> #allScopes.
* net/loveruby/cflat/ast/Scope.java (allScopes): should include receiver scope itself.
* net/loveruby/cflat/ast/LocalScope.java (allVariables): did not wrongly included current scope's variables.
* net/loveruby/cflat/ast/LocalScope.java: refactoring: rename method: allVariables -> allLocalVariables.
* net/loveruby/cflat/ast/DefinedFunction.java: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4040 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-20 18:04:20 +00:00
Minero Aoki 076d0dea13 * net/loveruby/cflat/compiler/Options.java: new option -O0, -O, -O1, -O2, -Os.
* net/loveruby/cflat/asm/AsmOptimizer.java: new interface to switch optimizer dynamicly.
* net/loveruby/cflat/compiler/PeepholeOptimizer.java -> asm/PeepholeOptimizer.java
* net/loveruby/cflat/compiler/CodeGenerator.java: parameterize AsmOptimizer.
* net/loveruby/cflat/ast/AST.java: holds a typeTable.
* net/loveruby/cflat/compiler/Compiler.java: follow AST change.
* net/loveruby/cflat/compiler/TypeResolver.java: ditto.
* net/loveruby/cflat/compiler/TypeChecker.java: ditto.
* net/loveruby/cflat/compiler/LocalReferenceResolver.java: ditto.
* net/loveruby/cflat/compiler/DereferenceChecker.java: ditto.
* net/loveruby/cflat/compiler/JumpResolver.java: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4039 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-20 15:13:09 +00:00
Minero Aoki c3bf6f1344 * net/loveruby/cflat/compiler/CodeGenerator.java: apply peep-hole optimization.
* net/loveruby/cflat/compiler/PeepholeOptimizer.java: new class.
* net/loveruby/cflat/asm/Assembler.java: export list (List<Assembly>).
* net/loveruby/cflat/asm/Instruction.java: new method #build to build an Instruction from the instruction object.
* net/loveruby/cflat/asm/OperandPattern.java: new interface.
* net/loveruby/cflat/asm/AsmOperand.java: impelements OperandPattern.
* net/loveruby/cflat/asm/Register.java: implements #isRegister.
* net/loveruby/cflat/asm/ImmediateValue.java: implement #equals to allow matching immediate integer value.
* net/loveruby/cflat/asm/IntegerLiteral.java: implement #equals.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4038 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-20 13:53:34 +00:00
Minero Aoki c335616a4c * net/loveruby/cflat/type/ComplexType.java -> CompositeType.java
* net/loveruby/cflat/ast/ComplexTypeDefinition.java -> CompositeTypeDefinition.java


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4037 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-20 10:30:54 +00:00
Minero Aoki b6025a74de add more detailed description.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4036 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 19:04:34 +00:00
Minero Aoki b4d2e50529 * install.sh: check if jar and libcbc are built.
* install.sh: fix syntax error.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4035 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:53:09 +00:00
Minero Aoki 390af239ce add item
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4034 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:52:26 +00:00
Minero Aoki 599a4009da change build process
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4033 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:43:23 +00:00
Minero Aoki 5c673e2b7d * net/loveruby/cflat/compiler/TypeChecker.java: reject statements whose type is struct/union/allocated array.
* test: test invalid statement expression.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4032 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:42:46 +00:00
Minero Aoki e6c0c1e3c0 updated
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4031 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:24:16 +00:00
Minero Aoki cc014500f8 * net/loveruby/cflat/asm: toString -> toSource.
git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4030 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:23:51 +00:00
Minero Aoki 47d4b13b1e * net/loveruby/cflat/asm/Literal.java: does not inherit AsmOperand.
* net/loveruby/cflat/asm/Assembler.java: do not use Literals in instruction operand.
* net/loveruby/cflat/asm/ImmediateValue.java: accept only Literals.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4029 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 18:12:46 +00:00
Minero Aoki a95ad7b451 * net/loveruby/cflat/asm/Symbol.java -> LabelRef.java
* net/loveruby/cflat/asm/*.java: Symbol -> LabelRef.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4028 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 17:53:12 +00:00
Minero Aoki de82f43658 * net/loveruby/cflat/asm/AsmEntity.java -> AsmOperand.java
* net/loveruby/cflat/*/*.java: AsmEntity -> AsmOperand.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4027 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 17:49:29 +00:00
Minero Aoki 19ca32a89d * net/loveruby/cflat/asm/Address.java -> MemoryReference.java
* net/loveruby/cflat/asm/DirectAddress.java -> DirectMemoryReference.java
* net/loveruby/cflat/asm/IndirectAddress.java -> IndirectMemoryReference.java
* net/loveruby/cflat/compiler/CodeGenerator.java: Address -> MemoryReference.
* net/loveruby/cflat/asm/AsmEntity.java: ditto.
* net/loveruby/cflat/asm/AbsoluteAddress.java: ditto.
* net/loveruby/cflat/ast/Entity.java: ditto.
* net/loveruby/cflat/ast/Variable.java: ditto.
* net/loveruby/cflat/ast/DefinedVariable.java: ditto.
* net/loveruby/cflat/ast/UndefinedVariable.java: ditto.
* net/loveruby/cflat/ast/Function.java: ditto.
* net/loveruby/cflat/ast/ExprNode.java: ditto.
* net/loveruby/cflat/ast/VariableNode.java: ditto.
* net/loveruby/cflat/ast/CastNode.java: ditto.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4026 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 17:37:49 +00:00
Minero Aoki 9af6bc364f * net/loveruby/cflat/compiler/CodeGenerator.java: both of "puts" and "&puts" should be evaluated to its address.
* net/loveruby/cflat/compiler/CodeGenerator.java: address -> memref.
* net/loveruby/cflat/ast/Entity.java: ditto.
* net/loveruby/cflat/ast/Function.java: ditto.
* net/loveruby/cflat/ast/Variable.java: ditto.
* net/loveruby/cflat/ast/UndefinedVariable.java: ditto.
* net/loveruby/cflat/ast/DefinedVariable.java: ditto.
* net/loveruby/cflat/ast/ExprNode.java: ditto.: ditto.
* net/loveruby/cflat/ast/ArefNode.java: ditto.
* net/loveruby/cflat/ast/MemberNode.java: ditto.
* net/loveruby/cflat/ast/PtrMemberNode.java: ditto.
* net/loveruby/cflat/ast/VariableNode.java: ditto.
* net/loveruby/cflat/ast/CastNode.java: ditto.
* test: test "puts", "&puts", "myputs", "&myputs".


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4025 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 17:18:16 +00:00
Minero Aoki cb8b921931 * net/loveruby/cflat/ast/Function.java (address): should return $sym.
* net/loveruby/cflat/asm/Instruction.java: fix indent.


git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4024 1b9489fe-b721-0410-924e-b54b9192deb8
2008-09-15 15:59:57 +00:00