coins.ffront
Class F77Hir

java.lang.Object
  extended bycoins.ffront.F77Hir

public class F77Hir
extends java.lang.Object


Field Summary
(package private)  FirList assignList
           
(package private)  FirToHir fFirToHir
           
(package private)  int fLine
           
(package private)  FirList programBody
           
 
Constructor Summary
F77Hir(SymRoot sRoot, HirRoot hRoot, IoRoot iRoot)
           
 
Method Summary
 void addFirstStmt(FStmt pStmt)
           
 FStmt aGoto(Token pIdent, FirList pOptLabels)
          make Fir node of assigned goto statement [f77.jay] ifable_statement : ASSIGN_GOTO IDENT opt_labels { $$ = fHir.aGoto($2, $3); }
 FStmt aIf(Node pNode, Token pMinusLab, Token pZeroLab, Token pPlusLab)
          make Fir node of arithmetic if statement [f77.jay] ifable_statement : ARITH_IF '(' expr ')' label ',' label ',' label { $$ = fHir.aIf($3, $5, $7, $9); }
 Token argLabel(Token pLabel)
          make Fir node of '*' label argument [f77.jay] arg : '*' label { $$ = fHir.argLabel($2); }
 FStmt assignLabel(Token pLabel, Token pIdent)
          make Fir node of label assign statement [f77.jay] ifable_statement : ASSIGN label TO IDENT { $$ = fHir.assignLabel($2, $4); }
 FStmt assignOrFunc(Node pLeft, Node pRight)
          make Fir node of assign statement or statement function statement [f77.jay] ifable_statement : LET left_name '=' expr { $$ = fHir.assignOrFunc($2, $5); }
 FStmt backspace(FirList p1)
           
 FStmt backspaceF(Node p1)
           
 Node blockDataBody(Node p1, Node p2, Node p3)
           
 Node blockDataSubp(Node p1)
          make Fir node of block data subprogram [f77.jay] program_unit : block_data_subprogram { $$ = fHir.blockDataSubp($1); }
 Node blockDataSubProgram(Node p1, Node p2)
           
 Node blockIfPart(Node pExp, FirList pTail)
          make Fir node of block_if_part [f77.jay] block_if_part : IF '(' expr ')' THEN EOS part_tail { $$ = fHir.blockIfPart($3, $7); }
 FStmt blockIfStmt(Node pIfPart, FirList pOptElseIfs, FirList pOptElse)
          make Fir node of block if statement [f77.jay] executable_statement : block_if_part opt_else_if_parts opt_else_part END_IF { $$ = fHir.blockIfStmt($1, $2, $3); }
 FStmt call(Token pIdent, FirList pOptArgs)
          make Fir node of call statement [f77.jay] ifable_statement : CALL IDENT opt_actual_args { $$ = fHir.call($2, $3); }
 FStmt cGoto(FirList pLabels, Node pExp)
          make Fir node of computed goto statement [f77.jay] ifable_statement : COMP_GOTO '(' label_list ')' expr { $$ = fHir.cGoto($3, $5); }
protected  boolean checkConstNumber(Node node)
          make Fir node of complex constant [f77.jay] complex_const : '(' expr ',' expr ')' { $$ = fHir.constComplex($2, $4); }
 FStmt closeStmt(FirList p1)
           
 FStmt completeStmt(Token pLabel, FStmt pStmt)
          make Fir node of optionally labeled statement [f77.jay] complete_statement : opt_label_def statement EOS { $$ = fHir.completeStmt($1, $2); }
 Node constComplex(Node pReal, Node pImag)
           
 Node constItem(Token p1, Node p2)
           
 FStmt continueStmt()
          make Fir node of continue statement [f77.jay] ifable_statement : CONTINUE { $$ = fHir.continueStmt(); }
 Node dataSeq(FirList p1, FirList p2)
           
 Node dataVal(Node p1, Node p2)
           
 Node dataVarDoList(Node p1, Node p2)
           
 Node dataVarOne(Node p1)
           
 FStmt doLabeled(Token pLabel, Node pDoSpec)
          make Fir node of labeled do statement [f77.jay] executable_statement : DO label do_spec { $$ = fHir.doLabeled($2, $3); }
 Node doSpec(Token pIdent, Node pExp1, Node pExp2, Node pOptStep)
          make Fir node of do_spec [f77.jay] do_spec : IDENT '=' expr ',' expr opt_step { $$ = fHir.doSpec($1, $3, $5, $6); }
 FStmt doUnLabeled(Node p1, Node p2)
          make Fir node of unlabeled do statement [f77.jay] executable_statement : DO do_spec EOS do_tail { $$ = fHir.doUnLabeled($2, $4); }
 Node elseIfPart(Node pExp, FirList pTail)
          make Fir node of else_if_part [f77.jay] opt_else_if_parts : { $$ = fList.list(); } | opt_else_if_parts ELSE_IF '(' expr ')' THEN EOS part_tai { $$ = $1.addLast(fHir.elseIfPart($4, $8)); }
 Node enclosed(Node pExp)
          make Fir node of parenthesized expression [f77.jay] expr : '(' expr ')' { $$ = fHir.enclosed($2); }
 FStmt endfile(FirList p1)
           
 FStmt endfileF(Node p1)
           
 FStmt endStmt(Token pLabel)
          make Fir node of end statement [f77.jay] end statement : opt_label_def END EOS { $$ = fHir.endStmt($1); }
 Node executableProgram(Node pUnit)
          make Hir from the Fir node of a program_unit and initializes for next program_unit [f77.jay] executable_program : program_unit { $$ = fHir.executableProgram($1); }
 Node executableProgram(Node pExPrgrm, Node pUnit)
          make Hir from the Fir node of next program_unit and initializes ...
 Node exprBinary(int op, Node e1, Node e2)
          make Fir node of binary expression [f77.jay] expr : expr '*' expr { $$ = fHir.exprBinary(HIR.OP_MULT, $1, $3); } | expr '/' expr { $$ = fHir.exprBinary(HIR.OP_DIV, $1, $3); } | expr '+' expr { $$ = fHir.exprBinary(HIR.OP_ADD, $1, $3); } | expr '-' expr { $$ = fHir.exprBinary(HIR.OP_SUB, $1, $3); } | expr GREATER_THAN expr { $$ = fHir.exprBinary(HIR.OP_CMP_GT, $1, $3); } | expr EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_EQ, $1, $3); } | expr LESS_THAN expr { $$ = fHir.exprBinary(HIR.OP_CMP_LT, $1, $3); } | expr NOT_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_NE, $1, $3); } | expr LESS_OR_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_LE, $1, $3); } | expr GREATER_OR_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_GE, $1, $3); } | expr AND expr { $$ = fHir.exprBinary(HIR.OP_AND, $1, $3); } | expr OR expr { $$ = fHir.exprBinary(HIR.OP_OR, $1, $3); } | expr EQV expr { $$ = fHir.expUnary(HIR.OP_NOT, fHir.exprBinary(HIR.OP_XOR, $1, $3)); } | expr NEQV expr { $$ = fHir.exprBinary(HIR.OP_XOR, $1, $3); }
 Node exprCat(Node p1, Node p2)
          make Fir node of concatenated expression [f77.jay] expr : expr DOUBLE_SLASH expr { $$ = fHir.exprCat($1, $3); }
 Node exprPower(Node pNode1, Node pNode2)
          make Fir node of powered expression [f77.jay] expr : expr POWER expr { $$ = fHir.exprPower( $1, $3); }
 Node exprUnary(int op, Node pExp)
          make Fir node of unary expression [f77.jay] expr : '-' expr %prec UMINUS { $$ = fHir.exprUnary(HIR.OP_NEG, $2); } | NOT expr { $$ = fHir.exprUnary(HIR.OP_NOT, $2); }
 FStmt format(Node p1)
           
 Node funcSubProgram(FStmt pFuncStmt, FirList pBody)
          make Fir node of function subprogram [f77.jay] program_unit : function_stmt program_body { $$ = fHir.funcSubProgram($1, $2); }
 int getLineNo()
           
 FirList getProgramBody()
           
 FStmt gotoStmt(Token pLabel)
          make Fir node of goto statement [f77.jay] ifable_statement : GOTO label { $$ = fHir.gotoStmt($2); }
 FStmt ifStmt(Node pExp, FStmt pStmt)
          make Fir node of if statement [f77.jay] executable_statement : IF '(' expr ')' ifable_statement { $$ = fHir.ifStmt($3, $5); }}
 FStmt inquire(FirList p1)
           
 Node ioClause(Token pIdent, Node pExpr)
           
 Node ioItemDoList(FirList pList)
          public Node ioItemDoList(FirList pList, Node pDoSpec) { // ioRoot.dbgToHir.print(8, "io_item :'(' do_list do_spec ')' \n"); return new DoList(pList, pDoSpec, fFirToHir); }
 Node ioItemExpr(Node pExpr)
           
 Token label(Token pIntConst)
          make Fir node of statement label [f77.jay] label : INT_CONST { $$ = fHir.label($1); }
 Node leftName(Token pIdent, FirList argList)
          make Fir node of subscripted variable or function call [f77.jay] left_name : IDENT '(' arg_list ')' { $$ = fHir.leftName($1, $3); }
 Node leftNameSubstr(Token pIdent, FirList pArgs, Pair pSubstr)
           
 Node mainProgram(FirList pBody)
          make Fir node of main program [f77.jay] program_unit : program_stmt program_body { $$ = fHir.mainProgram($2); } | program_body { $$ = fHir.mainProgram($1); }
 FStmt openStmt(FirList p1)
           
 FStmt pause(Node p1)
          make Fir node of pause statement [f77.jay] ifable_statement : PAUSE expr { $$ = fHir.pause($2); }
 FStmt printStmt(Node pFormat, FirList pOptIoList)
           
 FStmt readFStmt(Node p1, Node p2)
           
 FStmt readStmt(Node p1, Node p2)
           
 FStmt returnStmt(Node pOptExpr)
          make Fir node of return statement [f77.jay] ifable_statement : RETURN opt_expr { $$ = fHir.returnStmt($2); }
 FStmt rewind(FirList p1)
           
 FStmt rewindF(Node p1)
           
 void setF77Sym(F77Sym fSym)
           
 FStmt stop(Node p1)
          make Fir node of stop statement [f77.jay] ifable_statement : STOP expr { $$ = fHir.stop($2); }
 Node subrSubProgram(FStmt pSubrStmt, FirList pBody)
          make Fir node of subroutine subprogram [f77.jay] program_unit : subroutine_stmt program_body { $$ = fHir.subrSubProgram($1, $2); }
 Pair substring(Node p1, Node p2)
           
 Node value(char p1, Node p2)
           
 FStmt writeStmt(FirList pCiList, FirList pOptIoList)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fLine

int fLine

programBody

FirList programBody

assignList

FirList assignList

fFirToHir

FirToHir fFirToHir
Constructor Detail

F77Hir

public F77Hir(SymRoot sRoot,
              HirRoot hRoot,
              IoRoot iRoot)
Method Detail

setF77Sym

public void setF77Sym(F77Sym fSym)

getProgramBody

public FirList getProgramBody()

addFirstStmt

public void addFirstStmt(FStmt pStmt)

getLineNo

public int getLineNo()

executableProgram

public Node executableProgram(Node pUnit)
make Hir from the Fir node of a program_unit and initializes for next program_unit [f77.jay] executable_program : program_unit { $$ = fHir.executableProgram($1); }

Parameters:
pUnit - program_unit node
Returns:
null

executableProgram

public Node executableProgram(Node pExPrgrm,
                              Node pUnit)
make Hir from the Fir node of next program_unit and initializes ... ??? (Sequence of program_units is not yet considered) //##68 [f77.jay] executable_program : executable_program program_unit { $$ = fHir.executableProgram($1, $2); }

Parameters:
pUnit - program_unit node
Returns:
null

mainProgram

public Node mainProgram(FirList pBody)
make Fir node of main program [f77.jay] program_unit : program_stmt program_body { $$ = fHir.mainProgram($2); } | program_body { $$ = fHir.mainProgram($1); }

Parameters:
pBody - statement list
Returns:
Fir node of program_body

funcSubProgram

public Node funcSubProgram(FStmt pFuncStmt,
                           FirList pBody)
make Fir node of function subprogram [f77.jay] program_unit : function_stmt program_body { $$ = fHir.funcSubProgram($1, $2); }

Parameters:
pFuncStmt - function statement
pBody - statement list
Returns:
Fir node of program_body

subrSubProgram

public Node subrSubProgram(FStmt pSubrStmt,
                           FirList pBody)
make Fir node of subroutine subprogram [f77.jay] program_unit : subroutine_stmt program_body { $$ = fHir.subrSubProgram($1, $2); }

Parameters:
pSubrStmt - subroutine statement
pBody - statement list
Returns:
Fir node of program_body

blockDataSubp

public Node blockDataSubp(Node p1)
make Fir node of block data subprogram [f77.jay] program_unit : block_data_subprogram { $$ = fHir.blockDataSubp($1); }

Parameters:
p1 -
Returns:
block data node.

endStmt

public FStmt endStmt(Token pLabel)
make Fir node of end statement [f77.jay] end statement : opt_label_def END EOS { $$ = fHir.endStmt($1); }

Parameters:
pLabel - optional label
Returns:
Fir node of end statement

completeStmt

public FStmt completeStmt(Token pLabel,
                          FStmt pStmt)
make Fir node of optionally labeled statement [f77.jay] complete_statement : opt_label_def statement EOS { $$ = fHir.completeStmt($1, $2); }

Parameters:
pLabel - optional label
pStmt -
Returns:
optionally-labeled statement.

blockDataSubProgram

public Node blockDataSubProgram(Node p1,
                                Node p2)

blockDataBody

public Node blockDataBody(Node p1,
                          Node p2,
                          Node p3)

format

public FStmt format(Node p1)

dataSeq

public Node dataSeq(FirList p1,
                    FirList p2)

dataVal

public Node dataVal(Node p1,
                    Node p2)

value

public Node value(char p1,
                  Node p2)

constItem

public Node constItem(Token p1,
                      Node p2)

dataVarOne

public Node dataVarOne(Node p1)

dataVarDoList

public Node dataVarDoList(Node p1,
                          Node p2)

doLabeled

public FStmt doLabeled(Token pLabel,
                       Node pDoSpec)
make Fir node of labeled do statement [f77.jay] executable_statement : DO label do_spec { $$ = fHir.doLabeled($2, $3); }

Parameters:
pLabel -
pDoSpec -
Returns:
labeled-do statement.

doUnLabeled

public FStmt doUnLabeled(Node p1,
                         Node p2)
make Fir node of unlabeled do statement [f77.jay] executable_statement : DO do_spec EOS do_tail { $$ = fHir.doUnLabeled($2, $4); }

Parameters:
p1 -
p2 -
Returns:
unlabeled-do statement.

ifStmt

public FStmt ifStmt(Node pExp,
                    FStmt pStmt)
make Fir node of if statement [f77.jay] executable_statement : IF '(' expr ')' ifable_statement { $$ = fHir.ifStmt($3, $5); }}

Parameters:
pExp -
pStmt -
Returns:
if-statement.

blockIfStmt

public FStmt blockIfStmt(Node pIfPart,
                         FirList pOptElseIfs,
                         FirList pOptElse)
make Fir node of block if statement [f77.jay] executable_statement : block_if_part opt_else_if_parts opt_else_part END_IF { $$ = fHir.blockIfStmt($1, $2, $3); }

Parameters:
pIfPart -
pOptElseIfs -
pOptElse -
Returns:
block_if statement.

blockIfPart

public Node blockIfPart(Node pExp,
                        FirList pTail)
make Fir node of block_if_part [f77.jay] block_if_part : IF '(' expr ')' THEN EOS part_tail { $$ = fHir.blockIfPart($3, $7); }

Parameters:
pExp -
pTail -
Returns:
block_if_part.

elseIfPart

public Node elseIfPart(Node pExp,
                       FirList pTail)
make Fir node of else_if_part [f77.jay] opt_else_if_parts : { $$ = fList.list(); } | opt_else_if_parts ELSE_IF '(' expr ')' THEN EOS part_tai { $$ = $1.addLast(fHir.elseIfPart($4, $8)); }

Parameters:
pExp -
pTail -
Returns:
else-if part.

doSpec

public Node doSpec(Token pIdent,
                   Node pExp1,
                   Node pExp2,
                   Node pOptStep)
make Fir node of do_spec [f77.jay] do_spec : IDENT '=' expr ',' expr opt_step { $$ = fHir.doSpec($1, $3, $5, $6); }

Parameters:
pIdent -
pExp1 -
pExp2 -
pOptStep -
Returns:
do_spec node.

assignOrFunc

public FStmt assignOrFunc(Node pLeft,
                          Node pRight)
make Fir node of assign statement or statement function statement [f77.jay] ifable_statement : LET left_name '=' expr { $$ = fHir.assignOrFunc($2, $5); }

Parameters:
pLeft -
pRight -
Returns:
assign statement or statement function statement.

assignLabel

public FStmt assignLabel(Token pLabel,
                         Token pIdent)
make Fir node of label assign statement [f77.jay] ifable_statement : ASSIGN label TO IDENT { $$ = fHir.assignLabel($2, $4); }

Parameters:
pLabel -
pIdent -
Returns:
label assign statement.

continueStmt

public FStmt continueStmt()
make Fir node of continue statement [f77.jay] ifable_statement : CONTINUE { $$ = fHir.continueStmt(); }

Returns:
continue statement.

gotoStmt

public FStmt gotoStmt(Token pLabel)
make Fir node of goto statement [f77.jay] ifable_statement : GOTO label { $$ = fHir.gotoStmt($2); }

Parameters:
pLabel -
Returns:
goto statement.

aGoto

public FStmt aGoto(Token pIdent,
                   FirList pOptLabels)
make Fir node of assigned goto statement [f77.jay] ifable_statement : ASSIGN_GOTO IDENT opt_labels { $$ = fHir.aGoto($2, $3); }

Parameters:
pIdent -
pOptLabels -
Returns:
assigned-goto statement.

cGoto

public FStmt cGoto(FirList pLabels,
                   Node pExp)
make Fir node of computed goto statement [f77.jay] ifable_statement : COMP_GOTO '(' label_list ')' expr { $$ = fHir.cGoto($3, $5); }

Parameters:
pLabels -
pExp -
Returns:
computed-goto statement.

aIf

public FStmt aIf(Node pNode,
                 Token pMinusLab,
                 Token pZeroLab,
                 Token pPlusLab)
make Fir node of arithmetic if statement [f77.jay] ifable_statement : ARITH_IF '(' expr ')' label ',' label ',' label { $$ = fHir.aIf($3, $5, $7, $9); }

Parameters:
pNode -
pMinusLab -
pZeroLab -
pPlusLab -
Returns:
arithmetic-if statement.

call

public FStmt call(Token pIdent,
                  FirList pOptArgs)
make Fir node of call statement [f77.jay] ifable_statement : CALL IDENT opt_actual_args { $$ = fHir.call($2, $3); }

Parameters:
pIdent -
pOptArgs -
Returns:
call statement.

returnStmt

public FStmt returnStmt(Node pOptExpr)
make Fir node of return statement [f77.jay] ifable_statement : RETURN opt_expr { $$ = fHir.returnStmt($2); }

Parameters:
pOptExpr -
Returns:
return-statement.

pause

public FStmt pause(Node p1)
make Fir node of pause statement [f77.jay] ifable_statement : PAUSE expr { $$ = fHir.pause($2); }

Parameters:
p1 -
Returns:
pause statement.

stop

public FStmt stop(Node p1)
make Fir node of stop statement [f77.jay] ifable_statement : STOP expr { $$ = fHir.stop($2); }

Parameters:
p1 -
Returns:
stop-statement.

argLabel

public Token argLabel(Token pLabel)
make Fir node of '*' label argument [f77.jay] arg : '*' label { $$ = fHir.argLabel($2); }

Parameters:
pLabel -
Returns:
label token

label

public Token label(Token pIntConst)
make Fir node of statement label [f77.jay] label : INT_CONST { $$ = fHir.label($1); }

Parameters:
pIntConst -
Returns:
statement label.

printStmt

public FStmt printStmt(Node pFormat,
                       FirList pOptIoList)

writeStmt

public FStmt writeStmt(FirList pCiList,
                       FirList pOptIoList)

readStmt

public FStmt readStmt(Node p1,
                      Node p2)

readFStmt

public FStmt readFStmt(Node p1,
                       Node p2)

openStmt

public FStmt openStmt(FirList p1)

closeStmt

public FStmt closeStmt(FirList p1)

backspace

public FStmt backspace(FirList p1)

backspaceF

public FStmt backspaceF(Node p1)

endfile

public FStmt endfile(FirList p1)

endfileF

public FStmt endfileF(Node p1)

rewind

public FStmt rewind(FirList p1)

rewindF

public FStmt rewindF(Node p1)

inquire

public FStmt inquire(FirList p1)

ioClause

public Node ioClause(Token pIdent,
                     Node pExpr)

ioItemExpr

public Node ioItemExpr(Node pExpr)

ioItemDoList

public Node ioItemDoList(FirList pList)
public Node ioItemDoList(FirList pList, Node pDoSpec) { // ioRoot.dbgToHir.print(8, "io_item :'(' do_list do_spec ')' \n"); return new DoList(pList, pDoSpec, fFirToHir); }


enclosed

public Node enclosed(Node pExp)
make Fir node of parenthesized expression [f77.jay] expr : '(' expr ')' { $$ = fHir.enclosed($2); }

Parameters:
pExp -
Returns:
parenthesized expression.

exprUnary

public Node exprUnary(int op,
                      Node pExp)
make Fir node of unary expression [f77.jay] expr : '-' expr %prec UMINUS { $$ = fHir.exprUnary(HIR.OP_NEG, $2); } | NOT expr { $$ = fHir.exprUnary(HIR.OP_NOT, $2); }

Parameters:
op -
pExp -
Returns:
unary expression.

exprBinary

public Node exprBinary(int op,
                       Node e1,
                       Node e2)
make Fir node of binary expression [f77.jay] expr : expr '*' expr { $$ = fHir.exprBinary(HIR.OP_MULT, $1, $3); } | expr '/' expr { $$ = fHir.exprBinary(HIR.OP_DIV, $1, $3); } | expr '+' expr { $$ = fHir.exprBinary(HIR.OP_ADD, $1, $3); } | expr '-' expr { $$ = fHir.exprBinary(HIR.OP_SUB, $1, $3); } | expr GREATER_THAN expr { $$ = fHir.exprBinary(HIR.OP_CMP_GT, $1, $3); } | expr EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_EQ, $1, $3); } | expr LESS_THAN expr { $$ = fHir.exprBinary(HIR.OP_CMP_LT, $1, $3); } | expr NOT_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_NE, $1, $3); } | expr LESS_OR_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_LE, $1, $3); } | expr GREATER_OR_EQUAL expr { $$ = fHir.exprBinary(HIR.OP_CMP_GE, $1, $3); } | expr AND expr { $$ = fHir.exprBinary(HIR.OP_AND, $1, $3); } | expr OR expr { $$ = fHir.exprBinary(HIR.OP_OR, $1, $3); } | expr EQV expr { $$ = fHir.expUnary(HIR.OP_NOT, fHir.exprBinary(HIR.OP_XOR, $1, $3)); } | expr NEQV expr { $$ = fHir.exprBinary(HIR.OP_XOR, $1, $3); }

Parameters:
op -
e1 -
e2 -
Returns:
binary expression.

exprPower

public Node exprPower(Node pNode1,
                      Node pNode2)
make Fir node of powered expression [f77.jay] expr : expr POWER expr { $$ = fHir.exprPower( $1, $3); }

Parameters:
pNode1 -
pNode2 -
Returns:
powered expression.

exprCat

public Node exprCat(Node p1,
                    Node p2)
make Fir node of concatenated expression [f77.jay] expr : expr DOUBLE_SLASH expr { $$ = fHir.exprCat($1, $3); }

Parameters:
p1 -
p2 -
Returns:
concatenated expression.

leftName

public Node leftName(Token pIdent,
                     FirList argList)
make Fir node of subscripted variable or function call [f77.jay] left_name : IDENT '(' arg_list ')' { $$ = fHir.leftName($1, $3); }

Parameters:
pIdent -
argList -
Returns:
left name.

leftNameSubstr

public Node leftNameSubstr(Token pIdent,
                           FirList pArgs,
                           Pair pSubstr)

substring

public Pair substring(Node p1,
                      Node p2)

checkConstNumber

protected boolean checkConstNumber(Node node)
make Fir node of complex constant [f77.jay] complex_const : '(' expr ',' expr ')' { $$ = fHir.constComplex($2, $4); }

Returns:
true if constant number.

constComplex

public Node constComplex(Node pReal,
                         Node pImag)