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
This commit is contained in:
Minero Aoki 2009-05-10 14:52:00 +00:00
parent b2bf10c92d
commit 5c0f37ca8a
23 changed files with 65 additions and 36 deletions

View File

@ -1,3 +1,25 @@
Sun May 10 23:49:24 2009 Minero Aoki <aamine@loveruby.net>
* 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 <aamine@loveruby.net>
* net/loveruby/cflat/sysdep/x86/CodeGenerator.java: move virtual

View File

@ -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);

View File

@ -1,4 +1,4 @@
package net.loveruby.cflat.compiler;
package net.loveruby.cflat.codegenerator;
import net.loveruby.cflat.asm.*;
import java.util.*;

View File

@ -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.*;

View File

@ -1,7 +0,0 @@
package net.loveruby.cflat.compiler;
public class Constants {
// #@@range/sourceEncoding{
static final public String sourceEncoding = "UTF-8";
// #@@}
}

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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);
}

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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;

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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.*;

View File

@ -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) {

View File

@ -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);
}

View File

@ -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<Void,Void>,
ELFConstants {
// #@@range/ctor{

View File

@ -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 {

View File

@ -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.*;

View File

@ -1,4 +1,4 @@
package net.loveruby.cflat.compiler;
package net.loveruby.cflat.utils;
import net.loveruby.cflat.ast.Location;
import java.io.*;

View File

@ -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());