globle void ProceduralFunctionDefinitions( void *theEnv) { AllocateEnvironmentData(theEnv,PRCDRFUN_DATA,sizeof(struct procedureFunctionData),DeallocateProceduralFunctionData); #if ! RUN_TIME EnvDefineFunction2(theEnv,"if", 'u', PTIEF IfFunction, "IfFunction", NULL); EnvDefineFunction2(theEnv,"while", 'u', PTIEF WhileFunction, "WhileFunction", NULL); EnvDefineFunction2(theEnv,"loop-for-count",'u', PTIEF LoopForCountFunction, "LoopForCountFunction", NULL); EnvDefineFunction2(theEnv,"(get-loop-count)",'g', PTIEF GetLoopCount, "GetLoopCount", NULL); EnvDefineFunction2(theEnv,"bind", 'u', PTIEF BindFunction, "BindFunction", NULL); EnvDefineFunction2(theEnv,"progn", 'u', PTIEF PrognFunction, "PrognFunction", NULL); EnvDefineFunction2(theEnv,"return", 'u', PTIEF ReturnFunction, "ReturnFunction",NULL); EnvDefineFunction2(theEnv,"break", 'v', PTIEF BreakFunction, "BreakFunction",NULL); EnvDefineFunction2(theEnv,"switch", 'u', PTIEF SwitchFunction, "SwitchFunction",NULL); ProceduralFunctionParsers(theEnv); FuncSeqOvlFlags(theEnv,"progn",FALSE,FALSE); FuncSeqOvlFlags(theEnv,"if",FALSE,FALSE); FuncSeqOvlFlags(theEnv,"while",FALSE,FALSE); FuncSeqOvlFlags(theEnv,"loop-for-count",FALSE,FALSE); FuncSeqOvlFlags(theEnv,"return",FALSE,FALSE); FuncSeqOvlFlags(theEnv,"switch",FALSE,FALSE); #endif EnvAddResetFunction(theEnv,"bind",FlushBindList,0); EnvAddClearFunction(theEnv,"bind",FlushBindList,0); }
globle void ProceduralFunctionDefinitions() { DefineFunction2("if", 'u', PTIF IfFunction, "IfFunction", NULL); DefineFunction2("while", 'u', PTIF WhileFunction, "WhileFunction", NULL); DefineFunction2("loop-for-count",'u', PTIF LoopForCountFunction, "LoopForCountFunction", NULL); DefineFunction2("(get-loop-count)",'l', PTIF GetLoopCount, "GetLoopCount", NULL); DefineFunction2("bind", 'u', PTIF BindFunction, "BindFunction", NULL); DefineFunction2("progn", 'u', PTIF PrognFunction, "PrognFunction", NULL); DefineFunction2("return", 'u', PTIF ReturnFunction, "ReturnFunction",NULL); DefineFunction2("break", 'v', PTIF BreakFunction, "BreakFunction",NULL); DefineFunction2("switch", 'u', PTIF SwitchFunction, "SwitchFunction",NULL); ProceduralFunctionParsers(); FuncSeqOvlFlags("progn",FALSE,FALSE); FuncSeqOvlFlags("if",FALSE,FALSE); FuncSeqOvlFlags("while",FALSE,FALSE); FuncSeqOvlFlags("loop-for-count",FALSE,FALSE); FuncSeqOvlFlags("return",FALSE,FALSE); FuncSeqOvlFlags("switch",FALSE,FALSE); }