FreeBASIC  0.91.0
ast-node-scope.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "lex.bi"
#include "parser.bi"
#include "ast.bi"
#include "ir.bi"
Include dependency graph for ast-node-scope.bas:

Go to the source code of this file.

Macros

#define hisInside(blk, lbl_stmt)
 

Functions

function_as_integer hCheckBranch (byval_as_ASTNODE_ptr proc, byval_as_ASTNODE_ptr n)
 
sub hDelLocals (byval_as_ASTNODE_ptr n, byval_as_integer check_backward)
 
function_as_ASTNODE_ptr astScopeBegin ()
 
private sub hAddToBreakList (byval_as_AST_BREAKLIST_ptr list, byval_as_ASTNODE_ptr node)
 
sub astScopeBreak (byval_as_FBSYMBOL_ptr target)
 
sub astScopeEnd (byval_as_ASTNODE_ptr n)
 
function_as_integer astScopeUpdBreakList (byval_as_ASTNODE_ptr proc)
 
private sub hBranchError (byval_as_integer errnum, byval_as_ASTNODE_ptr n, byval_as_FBSYMBOL_ptr s=NULL)
 
private sub hBranchWarning (byval_as_integer errnum, byval_as_ASTNODE_ptr n, byval_as_FBSYMBOL_ptr s=NULL)
 
private function_as_FBSYMBOL_ptr hFindCommonParent (byval_as_ASTNODE_ptr branch_parent, byval_as_FBSYMBOL_ptr label_parent_sym)
 
private sub hCheckCrossing (byval_as_ASTNODE_ptr n, byval_as_FBSYMBOL_ptr blk, byval_as_integer top_stmt, byval_as_integer bot_stmt)
 
private sub hCheckScopeLocals (byval_as_ASTNODE_ptr n, byval_as_FBSYMBOL_ptr top_parent=NULL)
 
private sub hDestroyBlockLocals (byval_as_FBSYMBOL_ptr blk, byval_as_integer top_stmt, byval_as_integer bot_stmt, byval_as_ASTNODE_ptr base_expr)
 
private sub hDelBackwardLocals (byval_as_ASTNODE_ptr n)
 
private function_as_integer hIsTargetOutside (byval_as_FBSYMBOL_ptr proc, byval_as_FBSYMBOL_ptr label)
 
sub astScopeDestroyVars (byval_as_FBSYMBOL_ptr symtbtail)
 
sub astScopeAllocLocals (byval_as_FBSYMBOL_ptr symtbhead)
 
function_as_IRVREG_ptr astLoadSCOPEBEGIN (byval_as_ASTNODE_ptr n)
 
function_as_IRVREG_ptr astLoadSCOPEEND (byval_as_ASTNODE_ptr n)
 
function_as_FBSYMBOL_ptr astTempScopeBegin (byref_as_FBSYMBOL_ptr lastscp, byval_as_ASTNODE_ptr backnode)
 
sub astTempScopeEnd (byval_as_FBSYMBOL_ptr scp, byval_as_FBSYMBOL_ptr lastscp)
 
sub astTempScopeClone (byval_as_FBSYMBOL_ptr scp, byval_as_ASTNODE_ptr clonetree)
 
sub astTempScopeDelete (byval_as_FBSYMBOL_ptr scp)
 

Macro Definition Documentation

#define hisInside (   blk,
  lbl_stmt 
)
Value:
/* _
( (lbl_stmt) >= (blk)->block.inistmt andalso (lbl_stmt) < (blk)->block.endstmt) */

Definition at line 428 of file ast-node-scope.bas.

Function Documentation

function_as_IRVREG_ptr astLoadSCOPEBEGIN ( byval_as_ASTNODE_ptr  n)

Definition at line 673 of file ast-node-scope.bas.

Here is the call graph for this function:

function_as_IRVREG_ptr astLoadSCOPEEND ( byval_as_ASTNODE_ptr  n)

Definition at line 688 of file ast-node-scope.bas.

sub astScopeAllocLocals ( byval_as_FBSYMBOL_ptr  symtbhead)

Definition at line 617 of file ast-node-scope.bas.

Here is the caller graph for this function:

function_as_ASTNODE_ptr astScopeBegin ( )

Definition at line 27 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astScopeBreak ( byval_as_FBSYMBOL_ptr  target)

Definition at line 88 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astScopeDestroyVars ( byval_as_FBSYMBOL_ptr  symtbtail)

Definition at line 600 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astScopeEnd ( byval_as_ASTNODE_ptr  n)

Definition at line 109 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_integer astScopeUpdBreakList ( byval_as_ASTNODE_ptr  proc)

Definition at line 146 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_FBSYMBOL_ptr astTempScopeBegin ( byref_as_FBSYMBOL_ptr  lastscp,
byval_as_ASTNODE_ptr  backnode 
)

Definition at line 708 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astTempScopeClone ( byval_as_FBSYMBOL_ptr  scp,
byval_as_ASTNODE_ptr  clonetree 
)

Definition at line 759 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astTempScopeDelete ( byval_as_FBSYMBOL_ptr  scp)

Definition at line 784 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub astTempScopeEnd ( byval_as_FBSYMBOL_ptr  scp,
byval_as_FBSYMBOL_ptr  lastscp 
)

Definition at line 728 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hAddToBreakList ( byval_as_AST_BREAKLIST_ptr  list,
byval_as_ASTNODE_ptr  node 
)

Definition at line 71 of file ast-node-scope.bas.

Here is the caller graph for this function:

private sub hBranchError ( byval_as_integer  errnum,
byval_as_ASTNODE_ptr  n,
byval_as_FBSYMBOL_ptr  s = NULL 
)

Definition at line 177 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hBranchWarning ( byval_as_integer  errnum,
byval_as_ASTNODE_ptr  n,
byval_as_FBSYMBOL_ptr  s = NULL 
)

Definition at line 216 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hCheckBranch ( byval_as_ASTNODE_ptr  proc,
byval_as_ASTNODE_ptr  n 
)

Definition at line 501 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hCheckCrossing ( byval_as_ASTNODE_ptr  n,
byval_as_FBSYMBOL_ptr  blk,
byval_as_integer  top_stmt,
byval_as_integer  bot_stmt 
)

Definition at line 281 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hCheckScopeLocals ( byval_as_ASTNODE_ptr  n,
byval_as_FBSYMBOL_ptr  top_parent = NULL 
)

Definition at line 330 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hDelBackwardLocals ( byval_as_ASTNODE_ptr  n)

Definition at line 414 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hDelLocals ( byval_as_ASTNODE_ptr  n,
byval_as_integer  check_backward 
)

Definition at line 434 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hDestroyBlockLocals ( byval_as_FBSYMBOL_ptr  blk,
byval_as_integer  top_stmt,
byval_as_integer  bot_stmt,
byval_as_ASTNODE_ptr  base_expr 
)

Definition at line 372 of file ast-node-scope.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_FBSYMBOL_ptr hFindCommonParent ( byval_as_ASTNODE_ptr  branch_parent,
byval_as_FBSYMBOL_ptr  label_parent_sym 
)

Definition at line 248 of file ast-node-scope.bas.

Here is the caller graph for this function:

private function_as_integer hIsTargetOutside ( byval_as_FBSYMBOL_ptr  proc,
byval_as_FBSYMBOL_ptr  label 
)

Definition at line 482 of file ast-node-scope.bas.

Here is the caller graph for this function: