coins.ffront
Class SubscrOrFunCallNode

java.lang.Object
  extended bycoins.ffront.Pair
      extended bycoins.ffront.SubscrOrFunCallNode
All Implemented Interfaces:
Node

public class SubscrOrFunCallNode
extends Pair

Subscripted variable reference or function call


Field Summary
(package private)  DeclManager fDeclMgr
           
(package private)  ExecStmtManager fESMgr
           
(package private)  HirUtility fHirUtil
           
(package private)  IntrinsicUtility fIntrUtil
           
(package private)  TypeUtility fTypeUtil
           
(package private)  HIR hir
           
 
Fields inherited from class coins.ffront.Pair
fHir, left, right
 
Constructor Summary
SubscrOrFunCallNode(Token t, FirList list, FirToHir pfHir)
           
 
Method Summary
(package private)  void dp(java.lang.String str)
           
 Exp getAParamAt(int index)
          Get Exp node of index-th actual parameter of statement-function call.
 java.lang.String getIdent()
           
(package private)  IrList makeAParams()
          Translate FirList actual parameter list to HIR IrList.
 Exp makeArgAddr(FStmt pCallStmt)
          Make Exp node of address of this.
 Exp makeExp()
          Translate this to HIR Exp node.
(package private)  IrList makeFParamTypes(FirList pList)
          Make type list (IrList) from Token list (FirList)
(package private)  Exp makeFunCall(Sym funcSym)
          Make Exp node of a statement-function call or an external function call
(package private)  Exp makeNewFunCall(Type returnType)
          Define an external function and make Exp node for the external function call.
(package private)  Exp makeParamFunCall(Param param)
           
(package private)  Exp makeSubscripted()
          Make subscripted exp.
(package private)  void registerFParams(FirList pList, IrList fParamList)
          Register pamameters of a statement-function to symbol table
 
Methods inherited from class coins.ffront.Pair
getLeft, getRight, print, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

fHirUtil

HirUtility fHirUtil

fTypeUtil

TypeUtility fTypeUtil

fDeclMgr

DeclManager fDeclMgr

fESMgr

ExecStmtManager fESMgr

fIntrUtil

IntrinsicUtility fIntrUtil

hir

HIR hir
Constructor Detail

SubscrOrFunCallNode

public SubscrOrFunCallNode(Token t,
                           FirList list,
                           FirToHir pfHir)
Method Detail

getIdent

public java.lang.String getIdent()

makeExp

public Exp makeExp()
Translate this to HIR Exp node.

Specified by:
makeExp in interface Node
Overrides:
makeExp in class Pair
Returns:
HIR Exp node.

makeParamFunCall

Exp makeParamFunCall(Param param)

makeNewFunCall

Exp makeNewFunCall(Type returnType)
Define an external function and make Exp node for the external function call.

Parameters:
returnType - type of return value
Returns:
external function call.

makeAParams

IrList makeAParams()
Translate FirList actual parameter list to HIR IrList.

Returns:
actual parameter list in HIR.

makeFParamTypes

IrList makeFParamTypes(FirList pList)
Make type list (IrList) from Token list (FirList)

Parameters:
pList - Token list
Returns:
type list.

registerFParams

void registerFParams(FirList pList,
                     IrList fParamList)
Register pamameters of a statement-function to symbol table

Parameters:
pList - Token list of parameters
fParamList - Type list of parameters

getAParamAt

public Exp getAParamAt(int index)
Get Exp node of index-th actual parameter of statement-function call.

Parameters:
index -
Returns:
index-th actual parameter.

makeSubscripted

Exp makeSubscripted()
Make subscripted exp.


makeFunCall

Exp makeFunCall(Sym funcSym)
Make Exp node of a statement-function call or an external function call

Returns:
call expression.

makeArgAddr

public Exp makeArgAddr(FStmt pCallStmt)
Make Exp node of address of this.

Specified by:
makeArgAddr in interface Node
Overrides:
makeArgAddr in class Pair
Parameters:
pCallStmt -
Returns:
address node.

dp

void dp(java.lang.String str)