|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--coins.SourceLanguage
SourceLanguage class Defines IR and Sym methods that depend on source language. Methods in this interface can be accessed in such way as symRoot.sourceLanguage.xxx(....). This is the super class for SourceLanguageC, SourceLanguageFortran, etc.
フィールドの概要 | |
static int[][] |
CONVERTIBLE
|
java.util.Set |
functionsWithoutSideEffect
Set of the names of functions that have no side effect (do not write to memory). |
static int[][] |
REDEFINABLE
|
static boolean |
subscriptWithIndex
subscriptWithIndex: Temporal parameter to be removed. |
SymRoot |
symRoot
|
コンストラクタの概要 | |
SourceLanguage(SymRoot pSymRoot)
|
メソッドの概要 | |
Type |
baseTypeOrigin(Type pBaseType)
baseTypeOrigin: get origin of given base type pBaseType. |
Const |
evaluateAdd(Const c1,
Const c2)
Evaluate add operation. |
Const |
evaluateAnd(Const c1,
Const c2)
Evaluate and operation. |
Const |
evaluateCast(Type t,
Const c)
Evaluate cast operation. |
int |
evaluateCondition(Const c)
Evaluate conditional expression. |
Const |
evaluateDiv(Const c1,
Const c2)
Evaluate divide operation. |
Const |
evaluateMod(Const c1,
Const c2)
Evaluate remainder operation. |
Const |
evaluateMult(Const c1,
Const c2)
Evaluate multiply operation. |
Const |
evaluateNeg(Const c1)
Evaluate negate operation. |
Const |
evaluateNot(Const c1)
Evaluate not operation. |
Const |
evaluateOr(Const c1,
Const c2)
Evaluate or operation. |
int |
evaluateRelation(Const c1,
Const c2)
Evaluate relational expression. |
Const |
evaluateShiftLl(Const c1,
Const c2)
Evaluate logical left shift operation. |
Const |
evaluateShiftRa(Const c1,
Const c2)
Evaluate arithmetic right shift operation. |
Const |
evaluateShiftRl(Const c1,
Const c2)
Evaluate logical right shift operation. |
Const |
evaluateSub(Const c1,
Const c2)
Evaluate subtract operation. |
Const |
evaluateXor(Const c1,
Const c2)
Evaluate xor operation. |
java.util.Set |
getFunctionsWithoutSideEffect()
Get the set of functions wituout side effect. |
static java.lang.String |
getPureFloatString(java.lang.String pInternedName)
getPureFloatString: //##21 Get the string representation of floating constant without language specific suffix. |
static java.lang.String |
getPureIntString(java.lang.String pInternedName)
getPureIntString: //##20 Get the string representation of integer constant composed of only digits. |
java.lang.String |
getSourceStringConst(java.lang.String pStringBody)
getSourceStringConst: Change the pure string pStringBody to a string constant in source language. |
int |
getStringLength(java.lang.String pStringBody)
getSourceStringConstStatic: Same as getSourceStringConst except that this is a static method. public static String getSourceStringConstStatic( String pStringBody ) { return makeCstringWithTrailing0static(pStringBody); } /** getStringLength: Get the length of string constant. |
void |
initiateFunctionsWithoutSideEffect()
Set the names of functions without side effect. |
static boolean |
isC()
isC: |
static boolean |
isFortran()
isFortran: |
boolean |
isMainProgram(Subp pSubp)
isMainProgram: |
java.lang.String |
makeCstring(java.lang.String pStringBody)
makeCstring: Change the pure string pStringBody to C string representation adding heading, trailing quotations and escape characters if required. |
static java.lang.String |
makeCstringStatic(java.lang.String pStringBody)
makeCstringStatic: Same as makeCstring except that this is a static method. |
java.lang.String |
makeCstringWithTrailing0(java.lang.String pStringBody)
makeCstringWithTrailing0: Change the pure string pStringBody to C string representation adding heading, trailing quotations and escape characters if required. |
static java.lang.String |
makeCstringWithTrailing0static(java.lang.String pStringBody)
makeCstringWithTrailing0static: Same as makeCstringWithTrailing0 except that this is a static method. |
static java.lang.String |
makeFloatConstString(java.lang.String pInternedConstString,
Type pType)
makeFloatConstString: //##21 Make the string representation of floating constant in the form of source language constant. |
static java.lang.String |
makeIntConstString(java.lang.String pInternedConstString,
Type pType)
makeIntConstString: //##20 Make the string representation of integer constant in the form of source language constant. |
java.lang.String |
makeStringBody(java.lang.String pSourceString)
makeStringBody: Make internal representation of string (pure string) from its source program representation which may differ by source language. |
java.lang.String |
makeStringBodyForC(java.lang.String pCstring)
makeStringBodyForC: Make internal representation of a string (pure string) from its C language string representation. |
static java.lang.String |
makeStringBodyForCstatic(java.lang.String pCstring)
makeStringBodyForCstatic: Same as makeStringBodyForC except that this is a static method. |
static java.lang.String |
makeStringBodyStatic(java.lang.String pSourceString)
makeStringBodyStatic: Same as makeStringBody except that this is a static method. |
int |
numberOfAddressingUnitsForCharString(MachineParam machineParam,
int elemCount)
Get the number of addressing units for the character string whose element count is given by elemCount. |
int |
numberOfAddressingUnitsForShortArray(MachineParam machineParam,
int elemCount)
Get the number of addressing units for the short int array whose element count is given by elemCount. |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
public final SymRoot symRoot
public java.util.Set functionsWithoutSideEffect
public static final int[][] REDEFINABLE
public static final int[][] CONVERTIBLE
public static final boolean subscriptWithIndex
コンストラクタの詳細 |
public SourceLanguage(SymRoot pSymRoot)
メソッドの詳細 |
public static boolean isC()
public static boolean isFortran()
public int numberOfAddressingUnitsForCharString(MachineParam machineParam, int elemCount)
machineParam
- MachineParam instance.elemCount
- number of characters in the string.
public int numberOfAddressingUnitsForShortArray(MachineParam machineParam, int elemCount)
machineParam
- MachineParam instance.elemCount
- number of short int elements in the array.
public java.lang.String makeStringBody(java.lang.String pSourceString)
public static java.lang.String makeStringBodyStatic(java.lang.String pSourceString)
public java.lang.String makeStringBodyForC(java.lang.String pCstring)
public static java.lang.String makeStringBodyForCstatic(java.lang.String pCstring)
public java.lang.String makeCstring(java.lang.String pStringBody)
public static java.lang.String makeCstringStatic(java.lang.String pStringBody)
public java.lang.String makeCstringWithTrailing0(java.lang.String pStringBody)
public static java.lang.String makeCstringWithTrailing0static(java.lang.String pStringBody)
public java.lang.String getSourceStringConst(java.lang.String pStringBody)
public int getStringLength(java.lang.String pStringBody)
public static java.lang.String makeIntConstString(java.lang.String pInternedConstString, Type pType)
public static java.lang.String getPureIntString(java.lang.String pInternedName)
public static java.lang.String makeFloatConstString(java.lang.String pInternedConstString, Type pType)
public static java.lang.String getPureFloatString(java.lang.String pInternedName)
public Type baseTypeOrigin(Type pBaseType)
public boolean isMainProgram(Subp pSubp)
public Const evaluateNeg(Const c1)
c1
- constant operand
public Const evaluateAdd(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateSub(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateMult(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateDiv(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateMod(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateNot(Const c1)
c1
- constant operand
public Const evaluateShiftLl(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateShiftRl(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateShiftRa(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateAnd(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateOr(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateXor(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public Const evaluateCast(Type t, Const c)
t
- type to castc
- constant operand
public int evaluateCondition(Const c)
c
- constant operand
public int evaluateRelation(Const c1, Const c2)
c1
- constant operandc2
- constant operand
public void initiateFunctionsWithoutSideEffect()
public java.util.Set getFunctionsWithoutSideEffect()
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |