/* C file produced by GAC */
#include "compiled.h"
#define FILE_CRC "6760218"
/* global variables used in handlers */
static GVar G_ReturnTrue;
static Obj GC_ReturnTrue;
static GVar G_fail;
static Obj GC_fail;
static GVar G_Print;
static Obj GF_Print;
static GVar G_CALL__WITH__CATCH;
static Obj GF_CALL__WITH__CATCH;
static GVar G_p0;
static Obj GF_p0;
static GVar G_p1;
static Obj GF_p1;
static GVar G_p7;
static Obj GF_p7;
static GVar G_f0;
static Obj GF_f0;
static GVar G_Display;
static Obj GF_Display;
static GVar G_f1;
static Obj GF_f1;
static GVar G_f7;
static Obj GF_f7;
static GVar G_runtest;
static GVar G_NewCategory;
static Obj GF_NewCategory;
static GVar G_IsFunction;
static Obj GC_IsFunction;
static GVar G_InstallMethod;
static Obj GF_InstallMethod;
static GVar G_CallFuncList;
static Obj GC_CallFuncList;
static GVar G_IsList;
static Obj GC_IsList;
static GVar G_Objectify;
static Obj GF_Objectify;
static GVar G_NewType;
static Obj GF_NewType;
static GVar G_NewFamily;
static Obj GF_NewFamily;
static GVar G_IsPositionalObjectRep;
static Obj GC_IsPositionalObjectRep;
static GVar G_BreakOnError;
/* record names used in handlers */
/* information for the functions */
static Obj NameFunc[16 ];
static Obj FileName;
/* handler for function 2 */
static Obj HdlrFunc2 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "p0\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "p0\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* f( ); */
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
CALL_0ARGS( a_f );
}
else {
DoOperation2Args( CallFuncListOper, a_f, NewPlistFromArgs( ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 3 */
static Obj HdlrFunc3 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "p1\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "p1\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* f( 1 ); */
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
CALL_1ARGS( a_f, INTOBJ_INT(1 ) );
}
else {
DoOperation2Args( CallFuncListOper, a_f, NewPlistFromArgs( INTOBJ_INT(1 ) ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 4 */
static Obj HdlrFunc4 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "p7\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "p7\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* f( 1, 2, 3, 4, 5, 6, 7 ); */
t_1 = NEW_PLIST( T_PLIST, 7 );
SET_LEN_PLIST( t_1, 7 );
SET_ELM_PLIST( t_1, 1 , INTOBJ_INT(1 ) );
SET_ELM_PLIST( t_1, 2 , INTOBJ_INT(2 ) );
SET_ELM_PLIST( t_1, 3 , INTOBJ_INT(3 ) );
SET_ELM_PLIST( t_1, 4 , INTOBJ_INT(4 ) );
SET_ELM_PLIST( t_1, 5 , INTOBJ_INT(5 ) );
SET_ELM_PLIST( t_1, 6 , INTOBJ_INT(6 ) );
SET_ELM_PLIST( t_1, 7 , INTOBJ_INT(7 ) );
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
CALL_XARGS( a_f, t_1 );
}
else {
DoOperation2Args( CallFuncListOper, a_f, t_1 );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 5 */
static Obj HdlrFunc5 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "f0\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "f0\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* Display( f( ) ); */
t_1 = GF_Display;
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
t_2 = CALL_0ARGS( a_f );
}
else {
t_2 = DoOperation2Args( CallFuncListOper, a_f, NewPlistFromArgs( ) );
}
CHECK_FUNC_RESULT( t_2 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 6 */
static Obj HdlrFunc6 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "f1\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "f1\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* Display( f( 1 ) ); */
t_1 = GF_Display;
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
t_2 = CALL_1ARGS( a_f, INTOBJ_INT(1 ) );
}
else {
t_2 = DoOperation2Args( CallFuncListOper, a_f, NewPlistFromArgs( INTOBJ_INT(1 ) ) );
}
CHECK_FUNC_RESULT( t_2 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 7 */
static Obj HdlrFunc7 (
Obj self,
Obj a_f )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Obj t_3 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "f7\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "f7\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* Display( f( 1, 2, 3, 4, 5, 6, 7 ) ); */
t_1 = GF_Display;
t_3 = NEW_PLIST( T_PLIST, 7 );
SET_LEN_PLIST( t_3, 7 );
SET_ELM_PLIST( t_3, 1 , INTOBJ_INT(1 ) );
SET_ELM_PLIST( t_3, 2 , INTOBJ_INT(2 ) );
SET_ELM_PLIST( t_3, 3 , INTOBJ_INT(3 ) );
SET_ELM_PLIST( t_3, 4 , INTOBJ_INT(4 ) );
SET_ELM_PLIST( t_3, 5 , INTOBJ_INT(5 ) );
SET_ELM_PLIST( t_3, 6 , INTOBJ_INT(6 ) );
SET_ELM_PLIST( t_3, 7 , INTOBJ_INT(7 ) );
if ( TNUM_OBJ( a_f ) == T_FUNCTION ) {
t_2 = CALL_XARGS( a_f, t_3 );
}
else {
t_2 = DoOperation2Args( CallFuncListOper, a_f, t_3 );
}
CHECK_FUNC_RESULT( t_2 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 9 */
static Obj HdlrFunc9 (
Obj self,
Obj a_func,
Obj a_args )
{
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* return args; */
SWITCH_TO_OLD_FRAME(oldFrame);
return a_args;
}
/* handler for function 10 */
static Obj HdlrFunc10 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* p0( fail ); */
t_1 = GF_p0;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 11 */
static Obj HdlrFunc11 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* p1( fail ); */
t_1 = GF_p1;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 12 */
static Obj HdlrFunc12 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* p7( fail ); */
t_1 = GF_p7;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 13 */
static Obj HdlrFunc13 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* f0( fail ); */
t_1 = GF_f0;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 14 */
static Obj HdlrFunc14 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* f1( fail ); */
t_1 = GF_f1;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 15 */
static Obj HdlrFunc15 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* f7( fail ); */
t_1 = GF_f7;
t_2 = GC_fail;
CHECK_BOUND( t_2, "fail" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 8 */
static Obj HdlrFunc8 (
Obj self )
{
Obj l_IsCustomFunction = 0 ;
Obj l_f = 0 ;
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Obj t_3 = 0 ;
Obj t_4 = 0 ;
Obj t_5 = 0 ;
Obj t_6 = 0 ;
Obj t_7 = 0 ;
Obj t_8 = 0 ;
(void )l_IsCustomFunction;
(void )l_f;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* Print( "test with a regular function\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "test with a regular function\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* f := ReturnTrue; */
t_1 = GC_ReturnTrue;
CHECK_BOUND( t_1, "ReturnTrue" );
l_f = t_1;
/* p0( f ); */
t_1 = GF_p0;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* p1( f ); */
t_1 = GF_p1;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* p7( f ); */
t_1 = GF_p7;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f0( f ); */
t_1 = GF_f0;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f1( f ); */
t_1 = GF_f1;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f7( f ); */
t_1 = GF_f7;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* Print( "test with a custom function\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "test with a custom function\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* IsCustomFunction := NewCategory( "IsCustomFunction", IsFunction ); */
t_2 = GF_NewCategory;
t_3 = MakeString( "IsCustomFunction" );
t_4 = GC_IsFunction;
CHECK_BOUND( t_4, "IsFunction" );
if ( TNUM_OBJ( t_2 ) == T_FUNCTION ) {
t_1 = CALL_2ARGS( t_2, t_3, t_4 );
}
else {
t_1 = DoOperation2Args( CallFuncListOper, t_2, NewPlistFromArgs( t_3, t_4 ) );
}
CHECK_FUNC_RESULT( t_1 );
l_IsCustomFunction = t_1;
/* InstallMethod( CallFuncList, [ IsCustomFunction, IsList ], function ( func, args )
return args ;
end ); */
t_1 = GF_InstallMethod;
t_2 = GC_CallFuncList;
CHECK_BOUND( t_2, "CallFuncList" );
t_3 = NEW_PLIST( T_PLIST, 2 );
SET_LEN_PLIST( t_3, 2 );
SET_ELM_PLIST( t_3, 1 , l_IsCustomFunction );
CHANGED_BAG( t_3 );
t_4 = GC_IsList;
CHECK_BOUND( t_4, "IsList" );
SET_ELM_PLIST( t_3, 2 , t_4 );
CHANGED_BAG( t_3 );
t_4 = NewFunction( NameFunc[9 ], 2 , NewPlistFromArgs(MakeImmString("func" ), MakeImmString("args" )), HdlrFunc9 );
SET_ENVI_FUNC( t_4, STATE(CurrLVars) );
t_5 = NewFunctionBody();
SET_STARTLINE_BODY(t_5, 49 );
SET_ENDLINE_BODY(t_5, 49 );
SET_FILENAME_BODY(t_5, FileName);
SET_BODY_FUNC(t_4, t_5);
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_3ARGS( t_1, t_2, t_3, t_4 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3, t_4 ) );
}
/* f := Objectify( NewType( NewFamily( "CustomFunctionFamily" ), IsCustomFunction and IsPositionalObjectRep ), [ ] ); */
t_2 = GF_Objectify;
t_4 = GF_NewType;
t_6 = GF_NewFamily;
t_7 = MakeString( "CustomFunctionFamily" );
if ( TNUM_OBJ( t_6 ) == T_FUNCTION ) {
t_5 = CALL_1ARGS( t_6, t_7 );
}
else {
t_5 = DoOperation2Args( CallFuncListOper, t_6, NewPlistFromArgs( t_7 ) );
}
CHECK_FUNC_RESULT( t_5 );
if ( l_IsCustomFunction == False ) {
t_6 = l_IsCustomFunction;
}
else if ( l_IsCustomFunction == True ) {
t_7 = GC_IsPositionalObjectRep;
CHECK_BOUND( t_7, "IsPositionalObjectRep" );
CHECK_BOOL( t_7 );
t_6 = t_7;
}
else if (IS_FILTER( l_IsCustomFunction ) ) {
t_8 = GC_IsPositionalObjectRep;
CHECK_BOUND( t_8, "IsPositionalObjectRep" );
t_6 = NewAndFilter( l_IsCustomFunction, t_8 );
}
else {
RequireArgumentEx(0 , l_IsCustomFunction, "<expr>" ,
"must be 'true' or 'false' or a filter" );
}
if ( TNUM_OBJ( t_4 ) == T_FUNCTION ) {
t_3 = CALL_2ARGS( t_4, t_5, t_6 );
}
else {
t_3 = DoOperation2Args( CallFuncListOper, t_4, NewPlistFromArgs( t_5, t_6 ) );
}
CHECK_FUNC_RESULT( t_3 );
t_4 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_4, 0 );
if ( TNUM_OBJ( t_2 ) == T_FUNCTION ) {
t_1 = CALL_2ARGS( t_2, t_3, t_4 );
}
else {
t_1 = DoOperation2Args( CallFuncListOper, t_2, NewPlistFromArgs( t_3, t_4 ) );
}
CHECK_FUNC_RESULT( t_1 );
l_f = t_1;
/* p0( f ); */
t_1 = GF_p0;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* p1( f ); */
t_1 = GF_p1;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* p7( f ); */
t_1 = GF_p7;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f0( f ); */
t_1 = GF_f0;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f1( f ); */
t_1 = GF_f1;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* f7( f ); */
t_1 = GF_f7;
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, l_f );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( l_f ) );
}
/* BreakOnError := false; */
t_1 = False ;
AssGVar( G_BreakOnError, t_1 );
/* Print( "test with a non-function\n" ); */
t_1 = GF_Print;
t_2 = MakeString( "test with a non-function\n" );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_1ARGS( t_1, t_2 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2 ) );
}
/* CALL_WITH_CATCH( function ( )
p0 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[10 ], 0 , 0 , HdlrFunc10 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 64 );
SET_ENDLINE_BODY(t_3, 64 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* CALL_WITH_CATCH( function ( )
p1 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[11 ], 0 , 0 , HdlrFunc11 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 65 );
SET_ENDLINE_BODY(t_3, 65 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* CALL_WITH_CATCH( function ( )
p7 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[12 ], 0 , 0 , HdlrFunc12 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 66 );
SET_ENDLINE_BODY(t_3, 66 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* CALL_WITH_CATCH( function ( )
f0 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[13 ], 0 , 0 , HdlrFunc13 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 68 );
SET_ENDLINE_BODY(t_3, 68 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* CALL_WITH_CATCH( function ( )
f1 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[14 ], 0 , 0 , HdlrFunc14 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 69 );
SET_ENDLINE_BODY(t_3, 69 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* CALL_WITH_CATCH( function ( )
f7 ( fail ) ;
return ;
end, [ ] ); */
t_1 = GF_CALL__WITH__CATCH;
t_2 = NewFunction( NameFunc[15 ], 0 , 0 , HdlrFunc15 );
SET_ENVI_FUNC( t_2, STATE(CurrLVars) );
t_3 = NewFunctionBody();
SET_STARTLINE_BODY(t_3, 70 );
SET_ENDLINE_BODY(t_3, 70 );
SET_FILENAME_BODY(t_3, FileName);
SET_BODY_FUNC(t_2, t_3);
t_3 = NEW_PLIST( T_PLIST, 0 );
SET_LEN_PLIST( t_3, 0 );
if ( TNUM_OBJ( t_1 ) == T_FUNCTION ) {
CALL_2ARGS( t_1, t_2, t_3 );
}
else {
DoOperation2Args( CallFuncListOper, t_1, NewPlistFromArgs( t_2, t_3 ) );
}
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* handler for function 1 */
static Obj HdlrFunc1 (
Obj self )
{
Obj t_1 = 0 ;
Obj t_2 = 0 ;
Bag oldFrame;
/* allocate new stack frame */
SWITCH_TO_NEW_FRAME(self,0 ,0 ,oldFrame);
/* p0 := function ( f )
Print ( " p0 \ n " ) ;
f ( ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[2 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc2 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 2 );
SET_ENDLINE_BODY(t_2, 5 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_p0, t_1 );
/* p1 := function ( f )
Print ( " p1 \ n " ) ;
f ( 1 ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[3 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc3 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 7 );
SET_ENDLINE_BODY(t_2, 10 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_p1, t_1 );
/* p7 := function ( f )
Print ( " p7 \ n " ) ;
f ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[4 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc4 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 12 );
SET_ENDLINE_BODY(t_2, 15 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_p7, t_1 );
/* f0 := function ( f )
Print ( " f0 \ n " ) ;
Display ( f ( ) ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[5 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc5 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 18 );
SET_ENDLINE_BODY(t_2, 21 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_f0, t_1 );
/* f1 := function ( f )
Print ( " f1 \ n " ) ;
Display ( f ( 1 ) ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[6 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc6 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 23 );
SET_ENDLINE_BODY(t_2, 26 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_f1, t_1 );
/* f7 := function ( f )
Print ( " f7 \ n " ) ;
Display ( f ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[7 ], 1 , NewPlistFromArgs(MakeImmString("f" )), HdlrFunc7 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 28 );
SET_ENDLINE_BODY(t_2, 31 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_f7, t_1 );
/* runtest := function ( )
local IsCustomFunction , f ;
Print ( " test with a regular function \ n " ) ;
f : = ReturnTrue ;
p0 ( f ) ;
p1 ( f ) ;
p7 ( f ) ;
f0 ( f ) ;
f1 ( f ) ;
f7 ( f ) ;
Print ( " test with a custom function \ n " ) ;
IsCustomFunction : = NewCategory ( " IsCustomFunction " , IsFunction ) ;
InstallMethod ( CallFuncList , [ IsCustomFunction , IsList ] , function ( func , args )
return args ;
end ) ;
f : = Objectify ( NewType ( NewFamily ( " CustomFunctionFamily " ) , IsCustomFunction and IsPositionalObjectRep ) , [ ] ) ;
p0 ( f ) ;
p1 ( f ) ;
p7 ( f ) ;
f0 ( f ) ;
f1 ( f ) ;
f7 ( f ) ;
BreakOnError : = false ;
Print ( " test with a non - function \ n " ) ;
CALL_WITH_CATCH ( function ( )
p0 ( fail ) ;
return ;
end , [ ] ) ;
CALL_WITH_CATCH ( function ( )
p1 ( fail ) ;
return ;
end , [ ] ) ;
CALL_WITH_CATCH ( function ( )
p7 ( fail ) ;
return ;
end , [ ] ) ;
CALL_WITH_CATCH ( function ( )
f0 ( fail ) ;
return ;
end , [ ] ) ;
CALL_WITH_CATCH ( function ( )
f1 ( fail ) ;
return ;
end , [ ] ) ;
CALL_WITH_CATCH ( function ( )
f7 ( fail ) ;
return ;
end , [ ] ) ;
return ;
end; */
t_1 = NewFunction( NameFunc[8 ], 0 , 0 , HdlrFunc8 );
SET_ENVI_FUNC( t_1, STATE(CurrLVars) );
t_2 = NewFunctionBody();
SET_STARTLINE_BODY(t_2, 33 );
SET_ENDLINE_BODY(t_2, 72 );
SET_FILENAME_BODY(t_2, FileName);
SET_BODY_FUNC(t_1, t_2);
AssGVar( G_runtest, t_1 );
/* return; */
SWITCH_TO_OLD_FRAME(oldFrame);
return 0 ;
}
/* 'PostRestore' restore gvars, rnams, functions */
static Int PostRestore ( StructInitInfo * module )
{
/* global variables used in handlers */
G_ReturnTrue = GVarName( "ReturnTrue" );
G_fail = GVarName( "fail" );
G_Print = GVarName( "Print" );
G_CALL__WITH__CATCH = GVarName( "CALL_WITH_CATCH" );
G_p0 = GVarName( "p0" );
G_p1 = GVarName( "p1" );
G_p7 = GVarName( "p7" );
G_f0 = GVarName( "f0" );
G_Display = GVarName( "Display" );
G_f1 = GVarName( "f1" );
G_f7 = GVarName( "f7" );
G_runtest = GVarName( "runtest" );
G_NewCategory = GVarName( "NewCategory" );
G_IsFunction = GVarName( "IsFunction" );
G_InstallMethod = GVarName( "InstallMethod" );
G_CallFuncList = GVarName( "CallFuncList" );
G_IsList = GVarName( "IsList" );
G_Objectify = GVarName( "Objectify" );
G_NewType = GVarName( "NewType" );
G_NewFamily = GVarName( "NewFamily" );
G_IsPositionalObjectRep = GVarName( "IsPositionalObjectRep" );
G_BreakOnError = GVarName( "BreakOnError" );
/* record names used in handlers */
/* information for the functions */
NameFunc[1 ] = 0 ;
NameFunc[2 ] = 0 ;
NameFunc[3 ] = 0 ;
NameFunc[4 ] = 0 ;
NameFunc[5 ] = 0 ;
NameFunc[6 ] = 0 ;
NameFunc[7 ] = 0 ;
NameFunc[8 ] = 0 ;
NameFunc[9 ] = 0 ;
NameFunc[10 ] = 0 ;
NameFunc[11 ] = 0 ;
NameFunc[12 ] = 0 ;
NameFunc[13 ] = 0 ;
NameFunc[14 ] = 0 ;
NameFunc[15 ] = 0 ;
return 0 ;
}
/* 'InitKernel' sets up data structures, fopies, copies, handlers */
static Int InitKernel ( StructInitInfo * module )
{
/* global variables used in handlers */
InitCopyGVar( "ReturnTrue" , &GC_ReturnTrue );
InitCopyGVar( "fail" , &GC_fail );
InitFopyGVar( "Print" , &GF_Print );
InitFopyGVar( "CALL_WITH_CATCH" , &GF_CALL__WITH__CATCH );
InitFopyGVar( "p0" , &GF_p0 );
InitFopyGVar( "p1" , &GF_p1 );
InitFopyGVar( "p7" , &GF_p7 );
InitFopyGVar( "f0" , &GF_f0 );
InitFopyGVar( "Display" , &GF_Display );
InitFopyGVar( "f1" , &GF_f1 );
InitFopyGVar( "f7" , &GF_f7 );
InitFopyGVar( "NewCategory" , &GF_NewCategory );
InitCopyGVar( "IsFunction" , &GC_IsFunction );
InitFopyGVar( "InstallMethod" , &GF_InstallMethod );
InitCopyGVar( "CallFuncList" , &GC_CallFuncList );
InitCopyGVar( "IsList" , &GC_IsList );
InitFopyGVar( "Objectify" , &GF_Objectify );
InitFopyGVar( "NewType" , &GF_NewType );
InitFopyGVar( "NewFamily" , &GF_NewFamily );
InitCopyGVar( "IsPositionalObjectRep" , &GC_IsPositionalObjectRep );
/* information for the functions */
InitGlobalBag( &FileName, "callfunc.g:FileName(" FILE_CRC")" );
InitHandlerFunc( HdlrFunc1, "callfunc.g:HdlrFunc1(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[1 ]), "callfunc.g:NameFunc[1](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc2, "callfunc.g:HdlrFunc2(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[2 ]), "callfunc.g:NameFunc[2](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc3, "callfunc.g:HdlrFunc3(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[3 ]), "callfunc.g:NameFunc[3](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc4, "callfunc.g:HdlrFunc4(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[4 ]), "callfunc.g:NameFunc[4](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc5, "callfunc.g:HdlrFunc5(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[5 ]), "callfunc.g:NameFunc[5](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc6, "callfunc.g:HdlrFunc6(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[6 ]), "callfunc.g:NameFunc[6](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc7, "callfunc.g:HdlrFunc7(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[7 ]), "callfunc.g:NameFunc[7](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc8, "callfunc.g:HdlrFunc8(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[8 ]), "callfunc.g:NameFunc[8](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc9, "callfunc.g:HdlrFunc9(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[9 ]), "callfunc.g:NameFunc[9](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc10, "callfunc.g:HdlrFunc10(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[10 ]), "callfunc.g:NameFunc[10](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc11, "callfunc.g:HdlrFunc11(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[11 ]), "callfunc.g:NameFunc[11](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc12, "callfunc.g:HdlrFunc12(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[12 ]), "callfunc.g:NameFunc[12](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc13, "callfunc.g:HdlrFunc13(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[13 ]), "callfunc.g:NameFunc[13](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc14, "callfunc.g:HdlrFunc14(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[14 ]), "callfunc.g:NameFunc[14](" FILE_CRC")" );
InitHandlerFunc( HdlrFunc15, "callfunc.g:HdlrFunc15(" FILE_CRC")" );
InitGlobalBag( &(NameFunc[15 ]), "callfunc.g:NameFunc[15](" FILE_CRC")" );
return 0 ;
}
/* 'InitLibrary' sets up gvars, rnams, functions */
static Int InitLibrary ( StructInitInfo * module )
{
Obj func1;
Obj body1;
/* Complete Copy/Fopy registration */
UpdateCopyFopyInfo();
FileName = MakeImmString( "callfunc.g" );
PostRestore(module);
/* create all the functions defined in this module */
func1 = NewFunction(NameFunc[1 ],0 ,0 ,HdlrFunc1);
SET_ENVI_FUNC( func1, STATE(CurrLVars) );
body1 = NewFunctionBody();
SET_BODY_FUNC( func1, body1 );
CHANGED_BAG( func1 );
CALL_0ARGS( func1 );
return 0 ;
}
/* <name> returns the description of this module */
static StructInitInfo module = {
.type = MODULE_DYNAMIC,
.name = "callfunc.g" ,
.crc = 6760218 ,
.initKernel = InitKernel,
.initLibrary = InitLibrary,
.postRestore = PostRestore,
};
StructInitInfo * Init__Dynamic ( void )
{
return &module;
}
/* compiled code ends here */
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.29 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland