mirror of https://github.com/aamine/cbc
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:
parent
b2bf10c92d
commit
5c0f37ca8a
22
ChangeLog
22
ChangeLog
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package net.loveruby.cflat.compiler;
|
||||
package net.loveruby.cflat.codegenerator;
|
||||
import net.loveruby.cflat.asm.*;
|
||||
import java.util.*;
|
||||
|
||||
|
|
@ -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.*;
|
||||
|
|
|
|||
|
|
@ -1,7 +0,0 @@
|
|||
package net.loveruby.cflat.compiler;
|
||||
|
||||
public class Constants {
|
||||
// #@@range/sourceEncoding{
|
||||
static final public String sourceEncoding = "UTF-8";
|
||||
// #@@}
|
||||
}
|
||||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
@ -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{
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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.*;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package net.loveruby.cflat.compiler;
|
||||
package net.loveruby.cflat.utils;
|
||||
import net.loveruby.cflat.ast.Location;
|
||||
import java.io.*;
|
||||
|
||||
|
|
@ -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());
|
||||
|
|
|
|||
Loading…
Reference in New Issue