From 5c0f37ca8aa79f660ec5ba817b7e10bbd80be625 Mon Sep 17 00:00:00 2001 From: Minero Aoki Date: Sun, 10 May 2009 14:52:00 +0000 Subject: [PATCH] r4815@macbookpro: aamine | 2009-05-10 23:48:56 +0900 * net/loveruby/cflat/parser/Parser.jj: define SOURCE_ENCODING here (again). * net/loveruby/cflat/compiler/Constants.java: removed. * net/loveruby/cflat/compiler/CodeGenerator.java -> net/loveruby/cflat/codegenerator * net/loveruby/cflat/compiler/CodeGeneratorOptions.java -> net/loveruby/cflat/codegenerator * net/loveruby/cflat/compiler/Platform.java -> net/loveruby/cflat/sysdep * net/loveruby/cflat/compiler/ErrorHandler.java -> net/loveruby/cflat/utils * net/loveruby/cflat/compiler/LibraryLoader.java -> net/loveruby/cflat/parser git-svn-id: file:///Users/aamine/c/gitwork/public/cbc/trunk@4201 1b9489fe-b721-0410-924e-b54b9192deb8 --- ChangeLog | 22 +++++++++++++++++++ .../CodeGenerator.java | 2 +- .../CodeGeneratorOptions.java | 2 +- net/loveruby/cflat/compiler/Compiler.java | 5 +++-- net/loveruby/cflat/compiler/Constants.java | 7 ------ .../cflat/compiler/DereferenceChecker.java | 1 + net/loveruby/cflat/compiler/IRGenerator.java | 1 + .../cflat/compiler/LocalResolver.java | 1 + net/loveruby/cflat/compiler/Options.java | 4 ++++ net/loveruby/cflat/compiler/Platform.java | 7 ------ net/loveruby/cflat/compiler/TypeChecker.java | 1 + net/loveruby/cflat/compiler/TypeResolver.java | 1 + .../cflat/entity/DefinedFunction.java | 1 - net/loveruby/cflat/entity/LocalScope.java | 2 +- net/loveruby/cflat/entity/ToplevelScope.java | 2 +- .../{compiler => parser}/LibraryLoader.java | 4 ++-- net/loveruby/cflat/parser/Parser.jj | 6 +++-- net/loveruby/cflat/sysdep/Platform.java | 10 +++++++++ .../cflat/sysdep/x86/CodeGenerator.java | 6 ++--- net/loveruby/cflat/sysdep/x86/X86Linux.java | 6 ++--- net/loveruby/cflat/type/TypeTable.java | 2 +- .../{compiler => utils}/ErrorHandler.java | 2 +- net/loveruby/cflat/utils/TextUtils.java | 6 ++--- 23 files changed, 65 insertions(+), 36 deletions(-) rename net/loveruby/cflat/{compiler => codegenerator}/CodeGenerator.java (67%) rename net/loveruby/cflat/{compiler => codegenerator}/CodeGeneratorOptions.java (97%) delete mode 100644 net/loveruby/cflat/compiler/Constants.java delete mode 100644 net/loveruby/cflat/compiler/Platform.java rename net/loveruby/cflat/{compiler => parser}/LibraryLoader.java (96%) create mode 100644 net/loveruby/cflat/sysdep/Platform.java rename net/loveruby/cflat/{compiler => utils}/ErrorHandler.java (96%) diff --git a/ChangeLog b/ChangeLog index ad0231f..6488eb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,25 @@ +Sun May 10 23:49:24 2009 Minero Aoki + + * net/loveruby/cflat/parser/Parser.jj: define SOURCE_ENCODING here + (again). + + * net/loveruby/cflat/compiler/Constants.java: removed. + + * net/loveruby/cflat/compiler/CodeGenerator.java -> + net/loveruby/cflat/codegenerator + + * net/loveruby/cflat/compiler/CodeGeneratorOptions.java -> + net/loveruby/cflat/codegenerator + + * net/loveruby/cflat/compiler/Platform.java -> + net/loveruby/cflat/sysdep + + * net/loveruby/cflat/compiler/ErrorHandler.java -> + net/loveruby/cflat/utils + + * net/loveruby/cflat/compiler/LibraryLoader.java -> + net/loveruby/cflat/parser + Sun May 10 23:04:44 2009 Minero Aoki * net/loveruby/cflat/sysdep/x86/CodeGenerator.java: move virtual diff --git a/net/loveruby/cflat/compiler/CodeGenerator.java b/net/loveruby/cflat/codegenerator/CodeGenerator.java similarity index 67% rename from net/loveruby/cflat/compiler/CodeGenerator.java rename to net/loveruby/cflat/codegenerator/CodeGenerator.java index 7ef1eca..c29e03a 100644 --- a/net/loveruby/cflat/compiler/CodeGenerator.java +++ b/net/loveruby/cflat/codegenerator/CodeGenerator.java @@ -1,4 +1,4 @@ -package net.loveruby.cflat.compiler; +package net.loveruby.cflat.codegenerator; public interface CodeGenerator { String generate(net.loveruby.cflat.ir.IR ir); diff --git a/net/loveruby/cflat/compiler/CodeGeneratorOptions.java b/net/loveruby/cflat/codegenerator/CodeGeneratorOptions.java similarity index 97% rename from net/loveruby/cflat/compiler/CodeGeneratorOptions.java rename to net/loveruby/cflat/codegenerator/CodeGeneratorOptions.java index 713c6e2..0b22f5b 100644 --- a/net/loveruby/cflat/compiler/CodeGeneratorOptions.java +++ b/net/loveruby/cflat/codegenerator/CodeGeneratorOptions.java @@ -1,4 +1,4 @@ -package net.loveruby.cflat.compiler; +package net.loveruby.cflat.codegenerator; import net.loveruby.cflat.asm.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/Compiler.java b/net/loveruby/cflat/compiler/Compiler.java index 6a23cf5..08b93d5 100644 --- a/net/loveruby/cflat/compiler/Compiler.java +++ b/net/loveruby/cflat/compiler/Compiler.java @@ -1,10 +1,11 @@ package net.loveruby.cflat.compiler; import net.loveruby.cflat.parser.*; +import net.loveruby.cflat.type.*; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.DefinedFunction; import net.loveruby.cflat.ir.IR; -import net.loveruby.cflat.type.*; -import net.loveruby.cflat.utils.*; +import net.loveruby.cflat.codegenerator.CodeGenerator; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; import java.io.*; diff --git a/net/loveruby/cflat/compiler/Constants.java b/net/loveruby/cflat/compiler/Constants.java deleted file mode 100644 index 63edef3..0000000 --- a/net/loveruby/cflat/compiler/Constants.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.loveruby.cflat.compiler; - -public class Constants { - // #@@range/sourceEncoding{ - static final public String sourceEncoding = "UTF-8"; - // #@@} -} diff --git a/net/loveruby/cflat/compiler/DereferenceChecker.java b/net/loveruby/cflat/compiler/DereferenceChecker.java index 705525b..2ada299 100644 --- a/net/loveruby/cflat/compiler/DereferenceChecker.java +++ b/net/loveruby/cflat/compiler/DereferenceChecker.java @@ -2,6 +2,7 @@ package net.loveruby.cflat.compiler; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.*; import net.loveruby.cflat.type.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/IRGenerator.java b/net/loveruby/cflat/compiler/IRGenerator.java index 70d459c..67721a2 100644 --- a/net/loveruby/cflat/compiler/IRGenerator.java +++ b/net/loveruby/cflat/compiler/IRGenerator.java @@ -5,6 +5,7 @@ import net.loveruby.cflat.type.Type; import net.loveruby.cflat.type.TypeTable; import net.loveruby.cflat.ir.*; import net.loveruby.cflat.asm.Label; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/LocalResolver.java b/net/loveruby/cflat/compiler/LocalResolver.java index 419ab34..0bb318c 100644 --- a/net/loveruby/cflat/compiler/LocalResolver.java +++ b/net/loveruby/cflat/compiler/LocalResolver.java @@ -1,6 +1,7 @@ package net.loveruby.cflat.compiler; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/Options.java b/net/loveruby/cflat/compiler/Options.java index 27d72fc..d597555 100644 --- a/net/loveruby/cflat/compiler/Options.java +++ b/net/loveruby/cflat/compiler/Options.java @@ -1,7 +1,11 @@ package net.loveruby.cflat.compiler; +import net.loveruby.cflat.sysdep.Platform; import net.loveruby.cflat.sysdep.x86.X86Linux; +import net.loveruby.cflat.parser.LibraryLoader; import net.loveruby.cflat.type.TypeTable; import net.loveruby.cflat.asm.*; +import net.loveruby.cflat.codegenerator.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; import java.io.*; diff --git a/net/loveruby/cflat/compiler/Platform.java b/net/loveruby/cflat/compiler/Platform.java deleted file mode 100644 index 236d17e..0000000 --- a/net/loveruby/cflat/compiler/Platform.java +++ /dev/null @@ -1,7 +0,0 @@ -package net.loveruby.cflat.compiler; -import net.loveruby.cflat.type.TypeTable; - -public interface Platform { - TypeTable typeTable(); - CodeGenerator codeGenerator(CodeGeneratorOptions opts, ErrorHandler h); -} diff --git a/net/loveruby/cflat/compiler/TypeChecker.java b/net/loveruby/cflat/compiler/TypeChecker.java index 158c13e..b64b526 100644 --- a/net/loveruby/cflat/compiler/TypeChecker.java +++ b/net/loveruby/cflat/compiler/TypeChecker.java @@ -2,6 +2,7 @@ package net.loveruby.cflat.compiler; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.*; import net.loveruby.cflat.type.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/TypeResolver.java b/net/loveruby/cflat/compiler/TypeResolver.java index da00e9e..5b023af 100644 --- a/net/loveruby/cflat/compiler/TypeResolver.java +++ b/net/loveruby/cflat/compiler/TypeResolver.java @@ -2,6 +2,7 @@ package net.loveruby.cflat.compiler; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.*; import net.loveruby.cflat.type.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/entity/DefinedFunction.java b/net/loveruby/cflat/entity/DefinedFunction.java index 8d63cc4..2c5f520 100644 --- a/net/loveruby/cflat/entity/DefinedFunction.java +++ b/net/loveruby/cflat/entity/DefinedFunction.java @@ -1,5 +1,4 @@ package net.loveruby.cflat.entity; -import net.loveruby.cflat.compiler.ErrorHandler; import net.loveruby.cflat.type.Type; import net.loveruby.cflat.ast.TypeNode; import net.loveruby.cflat.ast.BlockNode; diff --git a/net/loveruby/cflat/entity/LocalScope.java b/net/loveruby/cflat/entity/LocalScope.java index 58c3530..0f270fb 100644 --- a/net/loveruby/cflat/entity/LocalScope.java +++ b/net/loveruby/cflat/entity/LocalScope.java @@ -1,6 +1,6 @@ package net.loveruby.cflat.entity; -import net.loveruby.cflat.compiler.ErrorHandler; import net.loveruby.cflat.type.Type; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/entity/ToplevelScope.java b/net/loveruby/cflat/entity/ToplevelScope.java index d01e50b..6f16de0 100644 --- a/net/loveruby/cflat/entity/ToplevelScope.java +++ b/net/loveruby/cflat/entity/ToplevelScope.java @@ -1,6 +1,6 @@ package net.loveruby.cflat.entity; -import net.loveruby.cflat.compiler.ErrorHandler; import net.loveruby.cflat.type.Type; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/LibraryLoader.java b/net/loveruby/cflat/parser/LibraryLoader.java similarity index 96% rename from net/loveruby/cflat/compiler/LibraryLoader.java rename to net/loveruby/cflat/parser/LibraryLoader.java index 878d5bc..464a059 100644 --- a/net/loveruby/cflat/compiler/LibraryLoader.java +++ b/net/loveruby/cflat/parser/LibraryLoader.java @@ -1,6 +1,6 @@ -package net.loveruby.cflat.compiler; -import net.loveruby.cflat.parser.*; +package net.loveruby.cflat.parser; import net.loveruby.cflat.ast.Declarations; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; import java.io.*; diff --git a/net/loveruby/cflat/parser/Parser.jj b/net/loveruby/cflat/parser/Parser.jj index 782bc12..072bb29 100644 --- a/net/loveruby/cflat/parser/Parser.jj +++ b/net/loveruby/cflat/parser/Parser.jj @@ -8,11 +8,11 @@ options { PARSER_BEGIN(Parser) package net.loveruby.cflat.parser; -import net.loveruby.cflat.compiler.*; import net.loveruby.cflat.ast.*; import net.loveruby.cflat.entity.*; import net.loveruby.cflat.type.*; import net.loveruby.cflat.asm.Label; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.lang.reflect.*; import java.util.*; @@ -51,6 +51,8 @@ public class Parser { } // #@@range/newFileParser{ + static final public String SOURCE_ENCODING = "UTF-8"; + static public Parser newFileParser(File file, LibraryLoader loader, ErrorHandler errorHandler, @@ -60,7 +62,7 @@ public class Parser { BufferedReader r = new BufferedReader( new InputStreamReader(new FileInputStream(file), - Constants.sourceEncoding)); + SOURCE_ENCODING)); return new Parser(r, file.getPath(), loader, errorHandler, debug); } catch (FileNotFoundException ex) { diff --git a/net/loveruby/cflat/sysdep/Platform.java b/net/loveruby/cflat/sysdep/Platform.java new file mode 100644 index 0000000..c81874e --- /dev/null +++ b/net/loveruby/cflat/sysdep/Platform.java @@ -0,0 +1,10 @@ +package net.loveruby.cflat.sysdep; +import net.loveruby.cflat.type.TypeTable; +import net.loveruby.cflat.codegenerator.CodeGenerator; +import net.loveruby.cflat.codegenerator.CodeGeneratorOptions; +import net.loveruby.cflat.utils.ErrorHandler; + +public interface Platform { + TypeTable typeTable(); + CodeGenerator codeGenerator(CodeGeneratorOptions opts, ErrorHandler h); +} diff --git a/net/loveruby/cflat/sysdep/x86/CodeGenerator.java b/net/loveruby/cflat/sysdep/x86/CodeGenerator.java index e209de4..9f5ab46 100644 --- a/net/loveruby/cflat/sysdep/x86/CodeGenerator.java +++ b/net/loveruby/cflat/sysdep/x86/CodeGenerator.java @@ -1,15 +1,15 @@ package net.loveruby.cflat.sysdep.x86; -import net.loveruby.cflat.compiler.CodeGeneratorOptions; -import net.loveruby.cflat.compiler.ErrorHandler; +import net.loveruby.cflat.codegenerator.*; import net.loveruby.cflat.ast.Location; import net.loveruby.cflat.entity.*; import net.loveruby.cflat.ir.*; import net.loveruby.cflat.asm.*; import net.loveruby.cflat.utils.AsmUtils; +import net.loveruby.cflat.utils.ErrorHandler; import java.util.*; class CodeGenerator - implements net.loveruby.cflat.compiler.CodeGenerator, + implements net.loveruby.cflat.codegenerator.CodeGenerator, IRVisitor, ELFConstants { // #@@range/ctor{ diff --git a/net/loveruby/cflat/sysdep/x86/X86Linux.java b/net/loveruby/cflat/sysdep/x86/X86Linux.java index 500cbf2..4e0277d 100644 --- a/net/loveruby/cflat/sysdep/x86/X86Linux.java +++ b/net/loveruby/cflat/sysdep/x86/X86Linux.java @@ -1,7 +1,7 @@ package net.loveruby.cflat.sysdep.x86; -import net.loveruby.cflat.compiler.Platform; -import net.loveruby.cflat.compiler.CodeGeneratorOptions; -import net.loveruby.cflat.compiler.ErrorHandler; +import net.loveruby.cflat.sysdep.Platform; +import net.loveruby.cflat.codegenerator.CodeGeneratorOptions; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.type.TypeTable; public class X86Linux implements Platform { diff --git a/net/loveruby/cflat/type/TypeTable.java b/net/loveruby/cflat/type/TypeTable.java index fb85b28..886858e 100644 --- a/net/loveruby/cflat/type/TypeTable.java +++ b/net/loveruby/cflat/type/TypeTable.java @@ -1,6 +1,6 @@ package net.loveruby.cflat.type; -import net.loveruby.cflat.compiler.ErrorHandler; import net.loveruby.cflat.ast.*; +import net.loveruby.cflat.utils.ErrorHandler; import net.loveruby.cflat.exception.*; import java.util.*; diff --git a/net/loveruby/cflat/compiler/ErrorHandler.java b/net/loveruby/cflat/utils/ErrorHandler.java similarity index 96% rename from net/loveruby/cflat/compiler/ErrorHandler.java rename to net/loveruby/cflat/utils/ErrorHandler.java index e25c2df..c3aa0bb 100644 --- a/net/loveruby/cflat/compiler/ErrorHandler.java +++ b/net/loveruby/cflat/utils/ErrorHandler.java @@ -1,4 +1,4 @@ -package net.loveruby.cflat.compiler; +package net.loveruby.cflat.utils; import net.loveruby.cflat.ast.Location; import java.io.*; diff --git a/net/loveruby/cflat/utils/TextUtils.java b/net/loveruby/cflat/utils/TextUtils.java index 11263ab..0f8151e 100644 --- a/net/loveruby/cflat/utils/TextUtils.java +++ b/net/loveruby/cflat/utils/TextUtils.java @@ -1,13 +1,13 @@ package net.loveruby.cflat.utils; -import net.loveruby.cflat.compiler.Constants; +import net.loveruby.cflat.parser.Parser; import java.io.*; -public class TextUtils { +abstract public class TextUtils { static final protected byte vtab = 013; static public String dumpString(String str) { try { - return dumpString(str, Constants.sourceEncoding); + return dumpString(str, Parser.SOURCE_ENCODING); } catch (UnsupportedEncodingException ex) { throw new Error("UTF-8 is not supported??: " + ex.getMessage());