123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- /* javamain.c: Copyright (C) Codemist Ltd., 1996. */
-
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <ctype.h>
- #include <setjmp.h>
- #include "machine.h"
- #include "tags.h"
- #undef IGNORE
- #include "cslerror.h"
- #include "externs.h"
- #include "read.h"
- #include "stream.h"
- #include "arith.h"
- #include "entries.h"
- #include "javahost.h"
- #include "javaglb.h"
- /* #include "javatype.h" */
- #include <winsock.h>
- int debugging;
- void jdebug(char *fmt, ...)
- { va_list ap;
- char buffer[256];
- va_start(ap, fmt);
- vsprintf(buffer, fmt, ap);
- va_end(ap);
- err_printf("CJ-debug: %s\n", buffer);
- }
- jmp_buf java_exit;
- void jsyserr(char *fmt, ...)
- { va_list ap;
- char buffer[256];
- va_start(ap, fmt);
- vsprintf(buffer, fmt, ap);
- va_end(ap);
- err_printf("\nFatal Codemist-Java error: %s\n", buffer);
- longjmp(java_exit, 1);
- }
- void *jmalloc(unsigned32 n)
- { void *p;
- if (n == 0) return 0;
- p = malloc(n);
- if (p == 0) jsyserr("out of memory");
- return p;
- }
- static void dbg_set(char *p)
- { for (;;) switch (*p++)
- {
- case 0: return;
- case 'c': if (isdigit(*p)) debugging |= 1 << (*p-'0');
- break;
- }
- }
- int JAVAmain(int argc, char *argv[])
- { ClassFile *p = 0;
- int seen = 0;
- int i;
- debugging = 0;
- for (i = 1; i<argc; i++)
- { char *a = argv[i];
- if (a[0] == '-') switch (a[1])
- {
- case 'q': dbg_set(&a[2]); break;
- default: err_printf("Unknown option %s\n", a); break;
- }
- else
- { p = rdClassFile(a), seen++;
- }
- }
- if (!setjmp(java_exit))
- { if (!seen) err_printf("usage: %s [-<opt>] file.java\n", argv[0]);
- else if (p) javaint(p);
- }
- return 0;
- }
- void process_java_file(FILE *f)
- {
- ClassFile *p;
- p = rdClassFILE1(f, "<from Lisp>");
- if (p && !setjmp(java_exit)) javaint(p);
- err_printf("exiting from Java sub-system\n");
- }
- Lisp_Object MS_CDECL java0(Lisp_Object env, int nargs, ...)
- {
- Lisp_Object nil = C_nil;
- return onevalue(nil);
- }
- Lisp_Object MS_CDECL java1(Lisp_Object env, Lisp_Object a)
- {
- Lisp_Object nil = C_nil;
- return onevalue(nil);
- }
- Lisp_Object MS_CDECL java2(Lisp_Object env, Lisp_Object a, Lisp_Object b)
- {
- Lisp_Object nil = C_nil;
- return onevalue(nil);
- }
- Lisp_Object MS_CDECL java3(Lisp_Object env, int nargs, ...)
- {
- Lisp_Object nil = C_nil;
- return onevalue(nil);
- }
- Lisp_Object MS_CDECL javan(Lisp_Object env, int nargs, ...)
- {
- Lisp_Object nil = C_nil;
- return onevalue(nil);
- }
- /* end of javamain.c */
|