FreeBASIC  0.91.0
parser-compound-for.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "parser.bi"
#include "ast.bi"
#include "symb.bi"
Include dependency graph for parser-compound-for.bas:

Go to the source code of this file.

Macros

#define CREATEFAKEID()
 

Enumerations

enum  FOR_FLAGS { FOR_ISUDT = &h0001, FOR_HASCTOR = &h0002, FOR_ISLOCAL = &h0004 }
 

Functions

function_as_ASTNODE_ptr hUdtCallOpOvl (byval_as_FBSYMBOL_ptr parent, byval_as_AST_OP op, byval_as_ASTNODE_ptr inst_expr, byval_as_ASTNODE_ptr second_arg, byval_as_ASTNODE_ptr third_arg=NULL)
 
sub hFlushBOP (byval_as_integer op, byval_as_FB_CMPSTMT_FORELM_ptr lhs, byval_as_FB_CMPSTMT_FORELM_ptr rhs, byval_as_FBSYMBOL_ptr ex)
 
sub hFlushSelfBOP (byval_as_integer op, byval_as_FB_CMPSTMT_FORELM_ptr lhs, byval_as_FB_CMPSTMT_FORELM_ptr rhs)
 
private function_as_ASTNODE_ptr hElmToExpr (byval_as_FB_CMPSTMT_FORELM_ptr v)
 
private sub hUdtFor (byval_as_FB_CMPSTMTSTK_ptr stk)
 
private sub hUdtStep (byval_as_FB_CMPSTMTSTK_ptr stk)
 
private sub hUdtNext (byval_as_FB_CMPSTMTSTK_ptr stk)
 
private sub hScalarStep (byval_as_FB_CMPSTMTSTK_ptr stk)
 
private sub hScalarNext (byval_as_FB_CMPSTMTSTK_ptr stk)
 
private function_as_FBSYMBOL_ptr hAddImplicitVar (byval_as_integer dtype, byval_as_FBSYMBOL_ptr subtype=NULL)
 
private function_as_FBSYMBOL_ptr hStoreTemp (byval_as_integer dtype, byval_as_FBSYMBOL_ptr subtype, byval_as_ASTNODE_ptr expr)
 
private function_as_ASTNODE_ptr hStepExpression (byval_as_integer lhs_dtype, byval_as_FBSYMBOL_ptr lhs_subtype, byval_as_FB_CMPSTMT_FORELM_ptr rhs)
 
private function_as_integer hCallCtor (byval_as_FBSYMBOL_ptr sym)
 
private sub hForAssign (byval_as_FB_CMPSTMTSTK_ptr stk, byref_as_integer isconst, byval_as_integer dtype, byval_as_FBSYMBOL_ptr subtype, byval_as_FOR_FLAGS flags, byval_as_ASTNODE_ptr idexpr)
 
private sub hForTo (byval_as_FB_CMPSTMTSTK_ptr stk, byref_as_integer isconst, byval_as_integer dtype, byval_as_FBSYMBOL_ptr subtype, byval_as_FOR_FLAGS flags)
 
private function_as_integer hStepIsNonNegative (byval_as_integer dtype, byval_as_ASTNODE_ptr expr)
 
private sub hForStep (byval_as_FB_CMPSTMTSTK_ptr stk, byref_as_integer isconst, byval_as_integer dtype, byval_as_FBSYMBOL_ptr subtype, byval_as_FOR_FLAGS flags)
 
sub cForStmtBegin ()
 
private sub hForStmtClose (byval_as_FB_CMPSTMTSTK_ptr stk)
 
sub cForStmtEnd ()
 

Macro Definition Documentation

#define CREATEFAKEID ( )
Value:
/* _
astNewVAR( symbAddTempVar( FB_DATATYPE_INTEGER ) ) */

Definition at line 18 of file parser-compound-for.bas.

Enumeration Type Documentation

enum FOR_FLAGS
Enumerator
FOR_ISUDT 
FOR_HASCTOR 
FOR_ISLOCAL 

Definition at line 12 of file parser-compound-for.bas.

Function Documentation

sub cForStmtBegin ( )

Definition at line 703 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub cForStmtEnd ( )

Definition at line 973 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_FBSYMBOL_ptr hAddImplicitVar ( byval_as_integer  dtype,
byval_as_FBSYMBOL_ptr  subtype = NULL 
)

Definition at line 205 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hCallCtor ( byval_as_FBSYMBOL_ptr  sym)

Definition at line 394 of file parser-compound-for.bas.

Here is the call graph for this function:

private function_as_ASTNODE_ptr hElmToExpr ( byval_as_FB_CMPSTMT_FORELM_ptr  v)

Definition at line 47 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hFlushBOP ( byval_as_integer  op,
byval_as_FB_CMPSTMT_FORELM_ptr  lhs,
byval_as_FB_CMPSTMT_FORELM_ptr  rhs,
byval_as_FBSYMBOL_ptr  ex 
)

Definition at line 270 of file parser-compound-for.bas.

Here is the call graph for this function:

private sub hFlushSelfBOP ( byval_as_integer  op,
byval_as_FB_CMPSTMT_FORELM_ptr  lhs,
byval_as_FB_CMPSTMT_FORELM_ptr  rhs 
)

Definition at line 366 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hForAssign ( byval_as_FB_CMPSTMTSTK_ptr  stk,
byref_as_integer  isconst,
byval_as_integer  dtype,
byval_as_FBSYMBOL_ptr  subtype,
byval_as_FOR_FLAGS  flags,
byval_as_ASTNODE_ptr  idexpr 
)

Definition at line 410 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hForStep ( byval_as_FB_CMPSTMTSTK_ptr  stk,
byref_as_integer  isconst,
byval_as_integer  dtype,
byval_as_FBSYMBOL_ptr  subtype,
byval_as_FOR_FLAGS  flags 
)

Definition at line 562 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hForStmtClose ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 931 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hForTo ( byval_as_FB_CMPSTMTSTK_ptr  stk,
byref_as_integer  isconst,
byval_as_integer  dtype,
byval_as_FBSYMBOL_ptr  subtype,
byval_as_FOR_FLAGS  flags 
)

Definition at line 474 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hScalarNext ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 160 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hScalarStep ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 149 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hStepExpression ( byval_as_integer  lhs_dtype,
byval_as_FBSYMBOL_ptr  lhs_subtype,
byval_as_FB_CMPSTMT_FORELM_ptr  rhs 
)

Definition at line 317 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hStepIsNonNegative ( byval_as_integer  dtype,
byval_as_ASTNODE_ptr  expr 
)

Definition at line 546 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_FBSYMBOL_ptr hStoreTemp ( byval_as_integer  dtype,
byval_as_FBSYMBOL_ptr  subtype,
byval_as_ASTNODE_ptr  expr 
)

Definition at line 235 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_ASTNODE_ptr hUdtCallOpOvl ( byval_as_FBSYMBOL_ptr  parent,
byval_as_AST_OP  op,
byval_as_ASTNODE_ptr  inst_expr,
byval_as_ASTNODE_ptr  second_arg,
byval_as_ASTNODE_ptr  third_arg = NULL 
)

Definition at line 853 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hUdtFor ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 71 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hUdtNext ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 119 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hUdtStep ( byval_as_FB_CMPSTMTSTK_ptr  stk)

Definition at line 95 of file parser-compound-for.bas.

Here is the call graph for this function:

Here is the caller graph for this function: