This is cdecl.c in view mode; [Download] [Up]
/* SCHEME->C */
#include <objects.h>
DEFSTRING( t1194, "EMIT-EXTERNS", 12 );
DEFSTATICTSCP( emit_2dexterns_v );
DEFSTRING( t1195, "EMIT-CONSTS", 11 );
DEFSTATICTSCP( emit_2dconsts_v );
DEFSTRING( t1196, "EMIT-STUBS", 10 );
DEFSTATICTSCP( emit_2dstubs_v );
DEFSTRING( t1197, "EMIT-TYPEDEFS", 13 );
DEFSTATICTSCP( emit_2dtypedefs_v );
DEFSTRING( t1198, "INPUT-EXTERN", 12 );
DEFSTATICTSCP( input_2dextern_v );
DEFSTRING( t1199, "INPUT-TYPEDEF", 13 );
DEFSTATICTSCP( input_2dtypedef_v );
DEFSTRING( t1200, "INPUT-CONST", 11 );
DEFSTATICTSCP( input_2dconst_v );
DEFSTRING( t1201, "Unrecognized expression ~s", 26 );
DEFSTATICTSCP2( c1157, t1201 );
DEFSTRING( t1202, "INPUT-EXPRESSIONS", 17 );
DEFSTATICTSCP( c1156 );
DEFSTRING( t1203, "DEFINE-ONLY", 11 );
DEFSTATICTSCP( c1155 );
DEFSTRING( t1204, "READ-ONLY", 9 );
DEFSTATICTSCP( c1151 );
DEFSTRING( t1205, "EXTERN", 6 );
DEFSTATICTSCP( c1147 );
DEFSTRING( t1206, "TYPEDEF", 7 );
DEFSTATICTSCP( c1143 );
DEFSTRING( t1207, "CONST", 5 );
DEFSTATICTSCP( c1139 );
DEFSTRING( t1208,
"cdecl class {-const|-extern|-typedef} cdecl-files...", 52 );
DEFSTATICTSCP2( c1075, t1208 );
DEFSTRING( t1209, "CONSTANTS", 9 );
DEFSTATICTSCP2( c1067, t1209 );
DEFSTRING( t1210, "STUBS", 5 );
DEFSTATICTSCP2( c1066, t1210 );
DEFSTRING( t1211, "TYPES", 5 );
DEFSTATICTSCP2( c1065, t1211 );
DEFSTRING( t1212, "Unrecognized command: ~s", 24 );
DEFSTATICTSCP2( c1054, t1212 );
DEFSTRING( t1213, "MAIN", 4 );
DEFSTATICTSCP( c1053 );
DEFSTATICTSCP( c1052 );
DEFSTRING( t1215, "-typedef", 8 );
DEFSTATICTSCP2( t1214, t1215 );
DEFSTRING( t1217, "-stubs", 6 );
DEFSTATICTSCP2( t1216, t1217 );
DEFSTRING( t1219, "-extern", 7 );
DEFSTATICTSCP2( t1218, t1219 );
DEFSTRING( t1221, "-const", 6 );
DEFSTATICTSCP2( t1220, t1221 );
DEFSTRING( t1222, "-typedef", 8 );
DEFSTATICTSCP2( c1050, t1222 );
DEFSTRING( t1223, "-const", 6 );
DEFSTATICTSCP2( c1047, t1223 );
DEFSTRING( t1224, "-stubs", 6 );
DEFSTATICTSCP2( c1041, t1224 );
DEFSTRING( t1225, "-extern", 7 );
DEFSTATICTSCP2( c1033, t1225 );
static void init_constants()
{
emit_2dexterns_v = STRINGTOSYMBOL( U_TX( ADR( t1194 ) ) );
CONSTANTEXP( ADR( emit_2dexterns_v ) );
emit_2dconsts_v = STRINGTOSYMBOL( U_TX( ADR( t1195 ) ) );
CONSTANTEXP( ADR( emit_2dconsts_v ) );
emit_2dstubs_v = STRINGTOSYMBOL( U_TX( ADR( t1196 ) ) );
CONSTANTEXP( ADR( emit_2dstubs_v ) );
emit_2dtypedefs_v = STRINGTOSYMBOL( U_TX( ADR( t1197 ) ) );
CONSTANTEXP( ADR( emit_2dtypedefs_v ) );
input_2dextern_v = STRINGTOSYMBOL( U_TX( ADR( t1198 ) ) );
CONSTANTEXP( ADR( input_2dextern_v ) );
input_2dtypedef_v = STRINGTOSYMBOL( U_TX( ADR( t1199 ) ) );
CONSTANTEXP( ADR( input_2dtypedef_v ) );
input_2dconst_v = STRINGTOSYMBOL( U_TX( ADR( t1200 ) ) );
CONSTANTEXP( ADR( input_2dconst_v ) );
c1156 = STRINGTOSYMBOL( U_TX( ADR( t1202 ) ) );
CONSTANTEXP( ADR( c1156 ) );
c1155 = STRINGTOSYMBOL( U_TX( ADR( t1203 ) ) );
CONSTANTEXP( ADR( c1155 ) );
c1151 = STRINGTOSYMBOL( U_TX( ADR( t1204 ) ) );
CONSTANTEXP( ADR( c1151 ) );
c1147 = STRINGTOSYMBOL( U_TX( ADR( t1205 ) ) );
CONSTANTEXP( ADR( c1147 ) );
c1143 = STRINGTOSYMBOL( U_TX( ADR( t1206 ) ) );
CONSTANTEXP( ADR( c1143 ) );
c1139 = STRINGTOSYMBOL( U_TX( ADR( t1207 ) ) );
CONSTANTEXP( ADR( c1139 ) );
c1053 = STRINGTOSYMBOL( U_TX( ADR( t1213 ) ) );
CONSTANTEXP( ADR( c1053 ) );
c1052 = EMPTYLIST;
c1052 = CONS( t1214, c1052 );
c1052 = CONS( t1216, c1052 );
c1052 = CONS( t1218, c1052 );
c1052 = CONS( t1220, c1052 );
CONSTANTEXP( ADR( c1052 ) );
}
DEFTSCP( cdecl_cdecl_2dconstants_v );
DEFSTRING( t1226, "CDECL-CONSTANTS", 15 );
DEFTSCP( cdecl_cdecl_2dtypes_v );
DEFSTRING( t1227, "CDECL-TYPES", 11 );
DEFTSCP( cdecl_cdecl_2dread_2donly_v );
DEFSTRING( t1228, "CDECL-READ-ONLY", 15 );
DEFTSCP( cdecl_cdecl_2ddefine_2donly_v );
DEFSTRING( t1229, "CDECL-DEFINE-ONLY", 17 );
DEFTSCP( cdecl_cdecl_2dexterns_v );
DEFSTRING( t1230, "CDECL-EXTERNS", 13 );
DEFTSCP( cdecl_main_v );
DEFSTRING( t1231, "MAIN", 4 );
EXTERNTSCPP( scrt1_length );
EXTERNTSCP( scrt1_length_v );
EXTERNTSCPP( scrt2__3e_3d_2dtwo );
EXTERNTSCP( scrt2__3e_3d_2dtwo_v );
EXTERNTSCPP( scrt1__24__cdr_2derror );
EXTERNTSCP( scrt1__24__cdr_2derror_v );
EXTERNTSCPP( scrt1__24__car_2derror );
EXTERNTSCP( scrt1__24__car_2derror_v );
EXTERNTSCPP( scrt6_error );
EXTERNTSCP( scrt6_error_v );
EXTERNTSCPP( scrt3_string_2dappend );
EXTERNTSCP( scrt3_string_2dappend_v );
EXTERNTSCPP( scrt1_member );
EXTERNTSCP( scrt1_member_v );
EXTERNTSCPP( scrt1_caddr );
EXTERNTSCP( scrt1_caddr_v );
EXTERNTSCPP( scrt1_cdddr );
EXTERNTSCP( scrt1_cdddr_v );
EXTERNTSCPP( cdecl_load_2dcdecl );
EXTERNTSCP( cdecl_load_2dcdecl_v );
EXTERNTSCPP( scrt1_equal_3f );
EXTERNTSCP( scrt1_equal_3f_v );
EXTERNTSCPP( scrt1_reverse );
EXTERNTSCP( scrt1_reverse_v );
EXTERNTSCPP( cdecl_file_2droot );
EXTERNTSCP( cdecl_file_2droot_v );
EXTERNTSCPP( scrt1_append_2dtwo );
EXTERNTSCP( scrt1_append_2dtwo_v );
TSCP cdecl_main( c1007 )
TSCP c1007;
{
TSCP X11,
X10,
X9,
X8, X7, X6, X5, X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1231 ) ) );
X2 = scrt1_length( c1007 );
if ( BITAND( BITOR( INT( X2 ), INT( _TSCP( 16 ) ) ),
3 ) ) goto L1235;
if ( GTE( INT( X2 ), INT( _TSCP( 16 ) ) ) ) goto L1239;
goto L1240;
L1235:
if ( FALSE( scrt2__3e_3d_2dtwo( X2, _TSCP( 16 ) ) ) ) goto L1240;
L1239:
if ( EQ( TSCPTAG( c1007 ), PAIRTAG ) ) goto L1245;
scrt1__24__cdr_2derror( c1007 );
L1245:
X3 = PAIR_CDR( c1007 );
if ( EQ( TSCPTAG( X3 ), PAIRTAG ) ) goto L1248;
scrt1__24__car_2derror( X3 );
L1248:
X1 = PAIR_CAR( X3 );
goto L1243;
L1240:
X1 = scrt6_error( c1053, c1075, EMPTYLIST );
L1243:
X3 = CONS( c1067, EMPTYLIST );
X2 = scrt3_string_2dappend( CONS( X1, X3 ) );
X4 = CONS( c1066, EMPTYLIST );
X3 = scrt3_string_2dappend( CONS( X1, X4 ) );
X5 = CONS( c1065, EMPTYLIST );
X4 = scrt3_string_2dappend( CONS( X1, X5 ) );
X5 = EMPTYLIST;
X5 = CONS( X5, EMPTYLIST );
X7 = scrt1_caddr( c1007 );
if ( FALSE( scrt1_member( X7, c1052 ) ) ) goto L1255;
X6 = scrt1_caddr( c1007 );
goto L1256;
L1255:
if ( EQ( TSCPTAG( c1007 ), PAIRTAG ) ) goto L1258;
scrt1__24__cdr_2derror( c1007 );
L1258:
X8 = PAIR_CDR( c1007 );
if ( EQ( TSCPTAG( X8 ), PAIRTAG ) ) goto L1261;
scrt1__24__cdr_2derror( X8 );
L1261:
X6 = scrt6_error( c1053,
c1054,
CONS( PAIR_CDR( X8 ), EMPTYLIST ) );
L1256:
X7 = scrt1_cdddr( c1007 );
L1265:
if ( FALSE( X7 ) ) goto L1266;
if ( EQ( TSCPTAG( X7 ), PAIRTAG ) ) goto L1270;
scrt1__24__car_2derror( X7 );
L1270:
X8 = PAIR_CAR( X7 );
cdecl_load_2dcdecl( X8 );
if ( FALSE( scrt1_equal_3f( X6, c1033 ) ) ) goto L1274;
if ( FALSE( cdecl_cdecl_2dexterns_v ) ) goto L1274;
X9 = scrt1_reverse( cdecl_cdecl_2dexterns_v );
X11 = PAIR_CAR( X7 );
X10 = cdecl_file_2droot( X11 );
X8 = SYMBOL_VALUE( emit_2dexterns_v );
X8 = UNKNOWNCALL( X8, 3 );
VIA( PROCEDURE_CODE( X8 ) )( X9,
X10,
X4, PROCEDURE_CLOSURE( X8 ) );
L1274:
if ( FALSE( scrt1_equal_3f( X6, c1041 ) ) ) goto L1277;
X8 = scrt1_append_2dtwo( cdecl_cdecl_2dexterns_v,
PAIR_CAR( X5 ) );
SETGEN( PAIR_CAR( X5 ), X8 );
L1277:
X7 = PAIR_CDR( X7 );
goto L1265;
L1266:
if ( FALSE( scrt1_equal_3f( X6, c1047 ) ) ) goto L1280;
X8 = scrt1_reverse( cdecl_cdecl_2dconstants_v );
X7 = SYMBOL_VALUE( emit_2dconsts_v );
X7 = UNKNOWNCALL( X7, 3 );
VIA( PROCEDURE_CODE( X7 ) )( X8,
cdecl_cdecl_2ddefine_2donly_v,
X2, PROCEDURE_CLOSURE( X7 ) );
L1280:
if ( FALSE( scrt1_equal_3f( X6, c1041 ) ) ) goto L1282;
X8 = scrt1_reverse( PAIR_CAR( X5 ) );
X7 = SYMBOL_VALUE( emit_2dstubs_v );
X7 = UNKNOWNCALL( X7, 2 );
VIA( PROCEDURE_CODE( X7 ) )( X8,
X3, PROCEDURE_CLOSURE( X7 ) );
L1282:
if ( FALSE( scrt1_equal_3f( X6, c1050 ) ) ) goto L1284;
X8 = scrt1_reverse( cdecl_cdecl_2dtypes_v );
X7 = SYMBOL_VALUE( emit_2dtypedefs_v );
X7 = UNKNOWNCALL( X7, 4 );
POPSTACKTRACE( VIA( PROCEDURE_CODE( X7 ) )( X8,
cdecl_cdecl_2ddefine_2donly_v,
cdecl_cdecl_2dread_2donly_v,
X4,
PROCEDURE_CLOSURE( X7 ) ) );
L1284:
POPSTACKTRACE( FALSEVALUE );
}
DEFTSCP( cdecl_file_2droot_v );
DEFSTRING( t1286, "FILE-ROOT", 9 );
EXTERNTSCPP( scrt3_string_2d_3elist );
EXTERNTSCP( scrt3_string_2d_3elist_v );
EXTERNTSCPP( scrt3_list_2d_3estring );
EXTERNTSCP( scrt3_list_2d_3estring_v );
DEFSTRING( t1297, "LOOP [inside FILE-ROOT]", 23 );
EXTERNTSCPP( sc_cons );
EXTERNTSCP( sc_cons_v );
EXTERNTSCPP( cdecl_l1095 );
TSCP cdecl_l1095( x1097 )
TSCP x1097;
{
TSCP X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1297 ) ) );
if ( EQ( UNSIGNED( x1097 ), UNSIGNED( EMPTYLIST ) ) ) goto L1299;
if ( EQ( TSCPTAG( x1097 ), PAIRTAG ) ) goto L1304;
scrt1__24__car_2derror( x1097 );
L1304:
X1 = PAIR_CAR( x1097 );
if ( TRUE( scrt1_equal_3f( X1, _TSCP( 11794 ) ) ) ) goto L1301;
X1 = PAIR_CAR( x1097 );
X3 = PAIR_CDR( x1097 );
X2 = cdecl_l1095( X3 );
POPSTACKTRACE( sc_cons( X1, X2 ) );
L1301:
POPSTACKTRACE( EMPTYLIST );
L1299:
POPSTACKTRACE( EMPTYLIST );
}
TSCP cdecl_file_2droot( f1087 )
TSCP f1087;
{
TSCP X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1286 ) ) );
X1 = scrt3_string_2d_3elist( f1087 );
L1289:
X2 = scrt1_member( _TSCP( 12050 ), X1 );
if ( FALSE( X2 ) ) goto L1291;
if ( EQ( TSCPTAG( X2 ), PAIRTAG ) ) goto L1294;
scrt1__24__cdr_2derror( X2 );
L1294:
X1 = PAIR_CDR( X2 );
goto L1289;
L1291:
X3 = cdecl_l1095( X1 );
POPSTACKTRACE( scrt3_list_2d_3estring( X3 ) );
}
DEFTSCP( cdecl_load_2dcdecl_v );
DEFSTRING( t1308, "LOAD-CDECL", 10 );
EXTERNTSCPP( scrt5_rom_2dfile_73f9e308 );
EXTERNTSCP( scrt5_rom_2dfile_73f9e308_v );
DEFSTRING( t1311, "cdecl_l1128 [inside LOAD-CDECL]", 31 );
EXTERNTSCPP( scrt6_read );
EXTERNTSCP( scrt6_read_v );
EXTERNTSCPP( scrt6_eof_2dobject_3f );
EXTERNTSCP( scrt6_eof_2dobject_3f_v );
TSCP cdecl_l1128( c1310 )
TSCP c1310;
{
TSCP X4, X3, X2, X1;
PUSHSTACKTRACE( U_TX( ADR( t1311 ) ) );
X1 = scrt6_read( EMPTYLIST );
L1314:
if ( TRUE( scrt6_eof_2dobject_3f( X1 ) ) ) goto L1315;
if ( NEQ( TSCPTAG( X1 ), PAIRTAG ) ) goto L1318;
X2 = PAIR_CAR( X1 );
goto L1319;
L1318:
X2 = FALSEVALUE;
L1319:
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1139 ) ) ) goto L1322;
X4 = SYMBOL_VALUE( input_2dconst_v );
X4 = UNKNOWNCALL( X4, 1 );
X3 = VIA( PROCEDURE_CODE( X4 ) )( X1,
PROCEDURE_CLOSURE( X4 ) );
cdecl_cdecl_2dconstants_v = sc_cons( X3,
cdecl_cdecl_2dconstants_v );
goto L1334;
L1322:
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1143 ) ) ) goto L1324;
X4 = SYMBOL_VALUE( input_2dtypedef_v );
X4 = UNKNOWNCALL( X4, 1 );
X3 = VIA( PROCEDURE_CODE( X4 ) )( X1,
PROCEDURE_CLOSURE( X4 ) );
cdecl_cdecl_2dtypes_v = sc_cons( X3, cdecl_cdecl_2dtypes_v );
goto L1334;
L1324:
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1147 ) ) ) goto L1326;
X4 = SYMBOL_VALUE( input_2dextern_v );
X4 = UNKNOWNCALL( X4, 1 );
X3 = VIA( PROCEDURE_CODE( X4 ) )( X1,
PROCEDURE_CLOSURE( X4 ) );
cdecl_cdecl_2dexterns_v = sc_cons( X3, cdecl_cdecl_2dexterns_v );
goto L1334;
L1326:
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1151 ) ) ) goto L1328;
if ( EQ( TSCPTAG( X1 ), PAIRTAG ) ) goto L1331;
scrt1__24__cdr_2derror( X1 );
L1331:
X3 = PAIR_CDR( X1 );
cdecl_cdecl_2dread_2donly_v = scrt1_append_2dtwo( X3,
cdecl_cdecl_2dread_2donly_v );
goto L1334;
L1328:
if ( NEQ( UNSIGNED( X2 ), UNSIGNED( c1155 ) ) ) goto L1333;
if ( EQ( TSCPTAG( X1 ), PAIRTAG ) ) goto L1336;
scrt1__24__cdr_2derror( X1 );
L1336:
X3 = PAIR_CDR( X1 );
cdecl_cdecl_2ddefine_2donly_v = scrt1_append_2dtwo( X3,
cdecl_cdecl_2ddefine_2donly_v );
goto L1334;
L1333:
scrt6_error( c1156, c1157, CONS( X1, EMPTYLIST ) );
L1334:
X1 = scrt6_read( EMPTYLIST );
goto L1314;
L1315:
POPSTACKTRACE( FALSEVALUE );
}
TSCP cdecl_load_2dcdecl( f1127 )
TSCP f1127;
{
TSCP X1;
PUSHSTACKTRACE( U_TX( ADR( t1308 ) ) );
cdecl_cdecl_2dexterns_v = EMPTYLIST;
X1 = MAKEPROCEDURE( 0, 0, cdecl_l1128, EMPTYLIST );
POPSTACKTRACE( scrt5_rom_2dfile_73f9e308( f1127, X1 ) );
}
void cdecl__init(){}
static void init_modules( compiler_version )
char *compiler_version;
{
scrt5__init();
scrt3__init();
scrt6__init();
scrt2__init();
scrt1__init();
const__init();
extern__init();
typedef__init();
screp__init();
MAXDISPLAY( 0 );
}
main( argc, argv )
int argc; char *argv[];
{
static int init = 0;
if (init) return;
init = 1;
INITHEAP( 0, argc, argv, cdecl_main );
init_constants();
init_modules( "(cdecl SCHEME->C COMPILER 28sep90jfb)" );
INITIALIZEVAR( U_TX( ADR( t1226 ) ),
ADR( cdecl_cdecl_2dconstants_v ),
EMPTYLIST );
INITIALIZEVAR( U_TX( ADR( t1227 ) ),
ADR( cdecl_cdecl_2dtypes_v ), EMPTYLIST );
INITIALIZEVAR( U_TX( ADR( t1228 ) ),
ADR( cdecl_cdecl_2dread_2donly_v ),
EMPTYLIST );
INITIALIZEVAR( U_TX( ADR( t1229 ) ),
ADR( cdecl_cdecl_2ddefine_2donly_v ),
EMPTYLIST );
INITIALIZEVAR( U_TX( ADR( t1230 ) ),
ADR( cdecl_cdecl_2dexterns_v ), EMPTYLIST );
INITIALIZEVAR( U_TX( ADR( t1231 ) ),
ADR( cdecl_main_v ),
MAKEPROCEDURE( 1,
0, cdecl_main, EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1286 ) ),
ADR( cdecl_file_2droot_v ),
MAKEPROCEDURE( 1,
0,
cdecl_file_2droot, EMPTYLIST ) );
INITIALIZEVAR( U_TX( ADR( t1308 ) ),
ADR( cdecl_load_2dcdecl_v ),
MAKEPROCEDURE( 1,
0,
cdecl_load_2dcdecl, EMPTYLIST ) );
cdecl_main( CLARGUMENTS( argc, argv ) );
SCHEMEEXIT();
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.