本文整理匯總了C++中DeffunctionData函數的典型用法代碼示例。如果您正苦於以下問題:C++ DeffunctionData函數的具體用法?C++ DeffunctionData怎麽用?C++ DeffunctionData使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了DeffunctionData函數的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C++代碼示例。
示例1: DeallocateDeffunctionData
static void DeallocateDeffunctionData(
void *theEnv)
{
#if ! RUN_TIME
struct deffunctionModule *theModuleItem;
void *theModule;
#if BLOAD || BLOAD_AND_BSAVE
if (Bloaded(theEnv)) return;
#endif
DoForAllConstructs(theEnv,DestroyDeffunctionAction,DeffunctionData(theEnv)->DeffunctionModuleIndex,FALSE,NULL);
for (theModule = EnvGetNextDefmodule(theEnv,NULL);
theModule != NULL;
theModule = EnvGetNextDefmodule(theEnv,theModule))
{
theModuleItem = (struct deffunctionModule *)
GetModuleItem(theEnv,(struct defmodule *) theModule,
DeffunctionData(theEnv)->DeffunctionModuleIndex);
rtn_struct(theEnv,deffunctionModule,theModuleItem);
}
#else
#endif
}
示例2: SingleDeffunctionToCode
/***************************************************
NAME : SingleDeffunctionToCode
DESCRIPTION : Writes out a single deffunction's
data to the file
INPUTS : 1) The output file
2) The deffunction
3) The compile image id
4) The maximum number of
elements in an array
5) The module index
RETURNS : Nothing useful
SIDE EFFECTS : Deffunction data written
NOTES : None
***************************************************/
static void SingleDeffunctionToCode(
void *theEnv,
FILE *theFile,
DEFFUNCTION *theDeffunction,
int imageID,
int maxIndices,
int moduleCount)
{
/* ==================
Deffunction Header
================== */
fprintf(theFile,"{");
ConstructHeaderToCode(theEnv,theFile,&theDeffunction->header,imageID,maxIndices,moduleCount,
ModulePrefix(DeffunctionData(theEnv)->DeffunctionCodeItem),
ConstructPrefix(DeffunctionData(theEnv)->DeffunctionCodeItem));
/* =========================
Deffunction specific data
========================= */
fprintf(theFile,",0,0,0,");
ExpressionToCode(theEnv,theFile,theDeffunction->code);
fprintf(theFile,",%d,%d,%d",
theDeffunction->minNumberOfParameters,
theDeffunction->maxNumberOfParameters,
theDeffunction->numberOfLocalVars);
fprintf(theFile,"}");
}
示例3: DeallocateDeffunctionData
static void DeallocateDeffunctionData(
void *theEnv,
EXEC_STATUS)
{
#if ! RUN_TIME
struct deffunctionModule *theModuleItem;
void *theModule;
#if BLOAD || BLOAD_AND_BSAVE
if (Bloaded(theEnv,execStatus)) return;
#endif
DoForAllConstructs(theEnv,execStatus,DestroyDeffunctionAction,DeffunctionData(theEnv,execStatus)->DeffunctionModuleIndex,FALSE,NULL);
for (theModule = EnvGetNextDefmodule(theEnv,execStatus,NULL);
theModule != NULL;
theModule = EnvGetNextDefmodule(theEnv,execStatus,theModule))
{
theModuleItem = (struct deffunctionModule *)
GetModuleItem(theEnv,execStatus,(struct defmodule *) theModule,
DeffunctionData(theEnv,execStatus)->DeffunctionModuleIndex);
rtn_struct(theEnv,execStatus,deffunctionModule,theModuleItem);
}
#else
#if MAC_MCW || WIN_MCW || MAC_XCD
#pragma unused(theEnv,execStatus)
#endif
#endif
}
示例4: GetDeffunctionListFunction
/***************************************************************
NAME : GetDeffunctionListFunction
DESCRIPTION : Groups all deffunction names into
a multifield list
INPUTS : A data object buffer to hold
the multifield result
RETURNS : Nothing useful
SIDE EFFECTS : Multifield allocated and filled
NOTES : H/L Syntax: (get-deffunction-list [<module>])
***************************************************************/
globle void GetDeffunctionListFunction(
void *theEnv,
EXEC_STATUS,
DATA_OBJECT *returnValue)
{
GetConstructListFunction(theEnv,execStatus,"get-deffunction-list",returnValue,DeffunctionData(theEnv,execStatus)->DeffunctionConstruct);
}
示例5: modules
/***************************************************
NAME : LookupDeffunctionInScope
DESCRIPTION : Finds a deffunction in current or
imported modules (module
specifier is not allowed)
INPUTS : The deffunction name
RETURNS : The deffunction (NULL if not found)
SIDE EFFECTS : Error message printed on
ambiguous references
NOTES : None
***************************************************/
globle DEFFUNCTION *LookupDeffunctionInScope(
void *theEnv,
EXEC_STATUS,
char *deffunctionName)
{
return((DEFFUNCTION *) LookupConstruct(theEnv,execStatus,DeffunctionData(theEnv,execStatus)->DeffunctionConstruct,deffunctionName,FALSE));
}
示例6: BsaveDeffunctionExpressions
/***************************************************
NAME : BsaveDeffunctionExpressions
DESCRIPTION : Writes out all expressions needed
by deffunctyions
INPUTS : The file pointer of the binary file
RETURNS : Nothing useful
SIDE EFFECTS : File updated
NOTES : None
***************************************************/
static void BsaveDeffunctionExpressions(
void *theEnv,
FILE *fp)
{
DoForAllConstructs(theEnv,BsaveDeffunctionExpression,DeffunctionData(theEnv)->DeffunctionModuleIndex,
FALSE,(void *) fp);
}
示例7: EnvListDeffunctions
/***************************************************
NAME : EnvListDeffunctions
DESCRIPTION : Displays all deffunction names
INPUTS : 1) The logical name of the output
2) The module
RETURNS : Nothing useful
SIDE EFFECTS : Deffunction name sprinted
NOTES : C Interface
***************************************************/
globle void EnvListDeffunctions(
void *theEnv,
char *logicalName,
struct defmodule *theModule)
{
ListConstruct(theEnv,DeffunctionData(theEnv)->DeffunctionConstruct,logicalName,theModule);
}
示例8: UpdateDeffunction
/***************************************************
NAME : UpdateDeffunction
DESCRIPTION : Updates deffunction with binary
load data - sets pointers from
offset information
INPUTS : 1) A pointer to the bloaded data
2) The index of the binary array
element to update
RETURNS : Nothing useful
SIDE EFFECTS : Deffunction pointers upadted
NOTES : None
***************************************************/
static void UpdateDeffunction(
void *theEnv,
void *buf,
long obji)
{
BSAVE_DEFFUNCTION *bdptr;
DEFFUNCTION *dptr;
bdptr = (BSAVE_DEFFUNCTION *) buf;
dptr = (DEFFUNCTION *) &DeffunctionBinaryData(theEnv)->DeffunctionArray[obji];
UpdateConstructHeader(theEnv,&bdptr->header,&dptr->header,
(int) sizeof(DEFFUNCTION_MODULE),(void *) DeffunctionBinaryData(theEnv)->ModuleArray,
(int) sizeof(DEFFUNCTION),(void *) DeffunctionBinaryData(theEnv)->DeffunctionArray);
dptr->code = ExpressionPointer(bdptr->code);
dptr->busy = 0;
dptr->executing = 0;
#if DEBUGGING_FUNCTIONS
dptr->trace = (unsigned short) DeffunctionData(theEnv)->WatchDeffunctions;
#endif
dptr->minNumberOfParameters = bdptr->minNumberOfParameters;
dptr->maxNumberOfParameters = bdptr->maxNumberOfParameters;
dptr->numberOfLocalVars = bdptr->numberOfLocalVars;
}
示例9: EnvGetDeffunctionList
/***************************************************************
NAME : EnvGetDeffunctionList
DESCRIPTION : Groups all deffunction names into
a multifield list
INPUTS : 1) A data object buffer to hold
the multifield result
2) The module from which to obtain deffunctions
RETURNS : Nothing useful
SIDE EFFECTS : Multifield allocated and filled
NOTES : External C access
***************************************************************/
globle void EnvGetDeffunctionList(
void *theEnv,
DATA_OBJECT *returnValue,
struct defmodule *theModule)
{
GetConstructList(theEnv,returnValue,DeffunctionData(theEnv)->DeffunctionConstruct,theModule);
}
示例10: SaveDeffunctions
/***************************************************
NAME : SaveDeffunctions
DESCRIPTION : Writes out deffunctions
for (save) command
INPUTS : The logical output name
RETURNS : Nothing useful
SIDE EFFECTS : Writes out deffunctions
NOTES : None
***************************************************/
static void SaveDeffunctions(
void *theEnv,
void *theModule,
char *logicalName)
{
SaveConstruct(theEnv,theModule,logicalName,DeffunctionData(theEnv)->DeffunctionConstruct);
}
示例11: UnboundDeffunctionErr
/*******************************************************
NAME : UnboundDeffunctionErr
DESCRIPTION : Print out a synopis of the currently
executing deffunction for unbound
variable errors
INPUTS : None
RETURNS : Nothing useful
SIDE EFFECTS : Error synopsis printed to WERROR
NOTES : None
*******************************************************/
static void UnboundDeffunctionErr(
void *theEnv)
{
EnvPrintRouter(theEnv,WERROR,"deffunction ");
EnvPrintRouter(theEnv,WERROR,EnvGetDeffunctionName(theEnv,(void *) DeffunctionData(theEnv)->ExecutingDeffunction));
EnvPrintRouter(theEnv,WERROR,".\n");
}
示例12: return
/***************************************************
NAME : EnvFindDeffunction
DESCRIPTION : Searches for a deffunction
INPUTS : The name of the deffunction
(possibly including a module name)
RETURNS : Pointer to the deffunction if
found, otherwise NULL
SIDE EFFECTS : None
NOTES : None
***************************************************/
globle void *EnvFindDeffunction(
void *theEnv,
EXEC_STATUS,
char *dfnxModuleAndName)
{
return(FindNamedConstruct(theEnv,execStatus,dfnxModuleAndName,DeffunctionData(theEnv,execStatus)->DeffunctionConstruct));
}
示例13: EnvGetDeffunctionList
/***************************************************************
NAME : EnvGetDeffunctionList
DESCRIPTION : Groups all deffunction names into
a multifield list
INPUTS : 1) A data object buffer to hold
the multifield result
2) The module from which to obtain deffunctions
RETURNS : Nothing useful
SIDE EFFECTS : Multifield allocated and filled
NOTES : External C access
***************************************************************/
globle void EnvGetDeffunctionList(
void *theEnv,
EXEC_STATUS,
DATA_OBJECT *returnValue,
struct defmodule *theModule)
{
GetConstructList(theEnv,execStatus,returnValue,DeffunctionData(theEnv,execStatus)->DeffunctionConstruct,theModule);
}
示例14: WatchDeffunction
/***************************************************
NAME : WatchDeffunction
DESCRIPTION : Displays a message indicating when
a deffunction began and ended
execution
INPUTS : The beginning or end trace string
to print when deffunction starts
or finishes respectively
RETURNS : Nothing useful
SIDE EFFECTS : Watch message printed
NOTES : None
***************************************************/
static void WatchDeffunction(
void *theEnv,
char *tstring)
{
EnvPrintRouter(theEnv,WTRACE,"DFN ");
EnvPrintRouter(theEnv,WTRACE,tstring);
if (DeffunctionData(theEnv)->ExecutingDeffunction->header.whichModule->theModule != ((struct defmodule *) EnvGetCurrentModule(theEnv)))
{
EnvPrintRouter(theEnv,WTRACE,EnvGetDefmoduleName(theEnv,(void *)
DeffunctionData(theEnv)->ExecutingDeffunction->header.whichModule->theModule));
EnvPrintRouter(theEnv,WTRACE,"::");
}
EnvPrintRouter(theEnv,WTRACE,ValueToString(DeffunctionData(theEnv)->ExecutingDeffunction->header.name));
EnvPrintRouter(theEnv,WTRACE," ED:");
PrintLongInteger(theEnv,WTRACE,(long long) EvaluationData(theEnv)->CurrentEvaluationDepth);
PrintProcParamArray(theEnv,WTRACE);
}
示例15: EnvListDeffunctions
/***************************************************
NAME : EnvListDeffunctions
DESCRIPTION : Displays all deffunction names
INPUTS : 1) The logical name of the output
2) The module
RETURNS : Nothing useful
SIDE EFFECTS : Deffunction name sprinted
NOTES : C Interface
***************************************************/
globle void EnvListDeffunctions(
void *theEnv,
EXEC_STATUS,
char *logicalName,
struct defmodule *theModule)
{
ListConstruct(theEnv,execStatus,DeffunctionData(theEnv,execStatus)->DeffunctionConstruct,logicalName,theModule);
}