|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--pnuts.lang.Runtime
This class provides runtime supports for Pnuts compiler/interpreter. All mehtods are protected static, so that only subclasses can access them.
Constructor Summary | |
protected |
Runtime()
|
Method Summary | |
static java.lang.Class |
arrayType(java.lang.Class c,
int dim)
|
protected static java.lang.Object |
assignRange(java.lang.Object target,
java.lang.Number idx1,
java.lang.Number idx2,
java.lang.Object expr)
This method is called by the syntax "id[from..to] = sth" |
static java.lang.Object |
callConstructor(java.lang.Class c,
java.lang.Object[] args)
Call a constructor |
static java.lang.Object |
callConstructor(java.lang.Class c,
java.lang.Object[] args,
java.lang.Class[] types)
Call a constructor |
static java.lang.Object |
callConstructor(Context context,
java.lang.Class c,
java.lang.Object[] args,
java.lang.Class[] types)
|
protected static java.lang.Object |
callFunction(Context context,
PnutsFunction func,
java.lang.Object[] args)
|
static java.lang.Object |
callMethod(java.lang.Class c,
java.lang.String name,
java.lang.Object[] args,
java.lang.Class[] types,
java.lang.Object target)
Call a method |
static java.lang.Object |
callMethod(java.lang.Class c,
java.lang.String name,
java.lang.Object[] args,
java.lang.Object target)
Call a method |
static java.lang.Object |
callMethod(Context context,
java.lang.Class c,
java.lang.String name,
java.lang.Object[] args,
java.lang.Class[] types,
java.lang.Object target)
call a method |
static java.lang.Object |
cast(Context context,
java.lang.Class type,
java.lang.Object object,
boolean flag)
This method is called by the syntax "(Class)object" |
protected static void |
catchException(java.lang.Class t,
PnutsFunction f,
Context context)
This method is called when catch() function is called in a package(non-local) scope |
protected static void |
checkException(Context context,
java.lang.Throwable throwable)
|
protected static void |
checkException(Context context,
java.lang.Throwable throwable,
java.util.Hashtable tab)
|
protected static void |
doReturn(java.lang.Object v)
|
static java.lang.Object |
getField(Context context,
java.lang.Object target,
java.lang.String name)
|
protected static java.lang.Object |
getIndex(java.lang.Object target,
int index,
Context context)
|
protected static Visitor |
getInterpreter()
|
protected static SimpleNode |
getNodes(Pnuts pnuts)
|
static java.lang.Object |
getStaticField(Context context,
java.lang.Class clazz,
java.lang.String name)
|
static boolean |
isArray(java.lang.Object obj)
Check if the parameter is an array |
protected static java.lang.Object |
newInstance(Context context,
java.lang.Class clazz,
java.lang.Object[] args,
java.lang.Class[] casts)
|
static java.lang.Character |
parseChar(java.lang.String s)
|
static java.lang.Object[] |
parseFloat(java.lang.String str)
[Number number, int offset_of_unit_symbol] |
static java.lang.Object[] |
parseInt(java.lang.String str)
[Number number, int offset_of_unit_symbol] |
static java.lang.String |
parseString(java.lang.String s)
|
static java.lang.Object |
primitive(Context context,
java.lang.Class primitiveType,
java.lang.Object param,
boolean flag)
This method is called by the syntax "primitiveType(object)" and "(primitiveType)object" |
static void |
putField(Context context,
java.lang.Object target,
java.lang.String name,
java.lang.Object expr)
|
static void |
putStaticField(Context context,
java.lang.Class clazz,
java.lang.String name,
java.lang.Object expr)
|
static java.lang.Object |
quantity(java.lang.Number number,
java.lang.String numberString,
java.lang.String unit,
Context context)
|
static void |
readSymbolTable(pnuts.lang.SymbolTable table,
java.io.ObjectInputStream s)
Read a hashtable from objectInputStream. |
protected static void |
setInterpreter(Visitor visitor)
|
protected static void |
setLine(Context context,
int beginLine)
Set line number information for error reporting |
static int |
writeSymbolTable(pnuts.lang.SymbolTable tab,
pnuts.lang.SymbolTable notToSerialize,
java.io.ObjectOutputStream s)
Write a hashtable to the objectOutputStream. |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait |
Constructor Detail |
protected Runtime()
Method Detail |
public static java.lang.Object callMethod(Context context, java.lang.Class c, java.lang.String name, java.lang.Object[] args, java.lang.Class[] types, java.lang.Object target)
public static java.lang.Object callMethod(java.lang.Class c, java.lang.String name, java.lang.Object[] args, java.lang.Object target) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
c
- the class of methodname
- the method nameargs
- the paramterstarget
- the target objectpublic static java.lang.Object callMethod(java.lang.Class c, java.lang.String name, java.lang.Object[] args, java.lang.Class[] types, java.lang.Object target) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
c
- the class of methodname
- the method nameargs
- the paramterstypes
- the types of the formal argumentstarget
- the target objectpublic static java.lang.Object callConstructor(Context context, java.lang.Class c, java.lang.Object[] args, java.lang.Class[] types)
public static java.lang.Object callConstructor(java.lang.Class c, java.lang.Object[] args) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
c
- the class of constructorargs
- the paramterspublic static java.lang.Object callConstructor(java.lang.Class c, java.lang.Object[] args, java.lang.Class[] types) throws java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException, java.lang.InstantiationException
c
- the class of constructorargs
- the paramterstypes
- the types of the formal argumentspublic static void putStaticField(Context context, java.lang.Class clazz, java.lang.String name, java.lang.Object expr)
public static java.lang.Object getStaticField(Context context, java.lang.Class clazz, java.lang.String name)
public static void putField(Context context, java.lang.Object target, java.lang.String name, java.lang.Object expr)
public static java.lang.Object getField(Context context, java.lang.Object target, java.lang.String name)
public static java.lang.Class arrayType(java.lang.Class c, int dim)
public static int writeSymbolTable(pnuts.lang.SymbolTable tab, pnuts.lang.SymbolTable notToSerialize, java.io.ObjectOutputStream s) throws java.io.IOException
public static void readSymbolTable(pnuts.lang.SymbolTable table, java.io.ObjectInputStream s) throws java.io.IOException, java.lang.ClassNotFoundException
public static java.lang.Object[] parseInt(java.lang.String str)
public static java.lang.Object[] parseFloat(java.lang.String str)
public static java.lang.String parseString(java.lang.String s)
public static java.lang.Character parseChar(java.lang.String s)
public static java.lang.Object quantity(java.lang.Number number, java.lang.String numberString, java.lang.String unit, Context context)
public static java.lang.Object primitive(Context context, java.lang.Class primitiveType, java.lang.Object param, boolean flag)
context
- the contextprimitiveType
- a primitive typeparam
- the parameterflag
- string<->number conversionpublic static java.lang.Object cast(Context context, java.lang.Class type, java.lang.Object object, boolean flag)
context
- the contexttype
- the typeflag
- object_array<->primitive_array conversionpublic static final boolean isArray(java.lang.Object obj)
protected static java.lang.Object assignRange(java.lang.Object target, java.lang.Number idx1, java.lang.Number idx2, java.lang.Object expr)
protected static void checkException(Context context, java.lang.Throwable throwable)
protected static void checkException(Context context, java.lang.Throwable throwable, java.util.Hashtable tab)
context
- the Context in which the exception is checkedthrowable
- the exceptiontab
- the exception handler tableprotected static void catchException(java.lang.Class t, PnutsFunction f, Context context)
protected static final java.lang.Object getIndex(java.lang.Object target, int index, Context context)
protected static java.lang.Object newInstance(Context context, java.lang.Class clazz, java.lang.Object[] args, java.lang.Class[] casts)
protected static java.lang.Object callFunction(Context context, PnutsFunction func, java.lang.Object[] args)
protected static Visitor getInterpreter()
protected static void setInterpreter(Visitor visitor)
protected static SimpleNode getNodes(Pnuts pnuts)
protected static void doReturn(java.lang.Object v)
protected static void setLine(Context context, int beginLine)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |