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.