/**-- The Optional Locals Word Set Copyright (C) Tektronix, Inc. 1998 - 2001. All rights reserved. @see GNU LGPL @author Tektronix CTE @(#) %derived_by: guidod % @version %version: bln_mpt1!5.28 % (%date_modified: Wed Jul 17 13:49:16 2002 %) @description The Portable Forth Environment does implement locals in such an extended form as that additional variable names can be declared anywhere in the compiled word. Locals are names for values that live in a locals-frame on the return-stack - on entry to the procedure that locals-frame is carved from the return-stack and a frame-pointer is setup. Locals are in two forms, one is inialized by a chunk from the parameter-stack as it is with => LOCALS| while the others are local variables declared later. The latter are left unitialized on setup of the locals-frame. */ /* For unnamed returnstack locals, see words like => R@ => R! => R'@ => R'! => R"@ => R"! => 2R@ => 2R! but here the setup and cleanup of the return-stack frame is left to the user, possibly using some words like => >R => R> => 2>R => 2R> => R>DROP while the locals-ext will take care to provide a frame-creation token and some cleanup-code for each => EXIT or => ; @{ */ #if defined(__version_control__) && defined(__GNUC__)static char* id __attribute__((unused)) = "@(#) $Id: %full_filespec: locals-ext.c~bln_mpt1!5.28:csrc:bln_12xx!1 % $" #endif #define _P4_SOURCE 1 #include <pfe/pfe-base.h> #include <pfe/def-xtra.h> #include <string.h> #include <pfe/def-comp.h> #include <pfe/logging.h>;
FCode_XE (p4_local_args)
|
FCode_XE (p4_locals_bar_execution)
|
/*
|
/*
|
/*
|
/* |
/*
|
/*
|
static void enter_locals(void)
|
/*
|
/**
|
/**
|
/**
|
FCode (p4_local_buffer_var_TO)
|
/**
|
static p4ucell FXCode (p4_interpret_locals) /*
|
static FCode(locals_init)
|
/** |
P4_LISTWORDS (locals) =
|
/* |