1 /****************************************************************************** 2 Copyright (c) 1992, 1995, 1996 Xerox Corporation. All rights reserved. 3 Portions of this code were written by Stephen White, aka ghond. 4 Use and copying of this software and preparation of derivative works based 5 upon this software are permitted. Any distribution of this software or 6 derivative works must comply with all applicable United States export 7 control laws. This software is made available AS IS, and Xerox Corporation 8 makes no warranty about the software, its performance or its conformity to 9 any specification. Any person obtaining a copy of this software is requested 10 to send their name and post office or electronic mail address to: 11 Pavel Curtis 12 Xerox PARC 13 3333 Coyote Hill Rd. 14 Palo Alto, CA 94304 15 Pavel@Xerox.Com 16 *****************************************************************************/ 17 18 #ifndef Parser_h 19 #define Parser_h 1 20 21 #include "config.h" 22 #include "program.h" 23 #include "version.h" 24 25 typedef struct { 26 void (*error) (void *, const char *); 27 void (*warning) (void *, const char *); 28 int (*getch) (void *); 29 } Parser_Client; 30 31 extern Program *parse_program(DB_Version, Parser_Client, void *); 32 extern Program *parse_list_as_program(Var code, Var * errors); 33 34 #endif 35 36 /* 37 * $Log: parser.h,v $ 38 * Revision 1.3 1998/12/14 13:18:44 nop 39 * Merge UNSAFE_OPTS (ref fixups); fix Log tag placement to fit CVS whims 40 * 41 * Revision 1.2 1997/03/03 04:19:16 nop 42 * GNU Indent normalization 43 * 44 * Revision 1.1.1.1 1997/03/03 03:45:04 nop 45 * LambdaMOO 1.8.0p5 46 * 47 * Revision 2.2 1996/02/08 06:15:30 pavel 48 * Removed ungetch() method on Parser_Client, added version number to 49 * parse_program. Updated copyright notice for 1996. Release 1.8.0beta1. 50 * 51 * Revision 2.1 1995/12/28 00:47:29 pavel 52 * Added support for MOO-compilation warnings. Release 1.8.0alpha3. 53 * 54 * Revision 2.0 1995/11/30 04:54:19 pavel 55 * New baseline version, corresponding to release 1.8.0alpha1. 56 * 57 * Revision 1.5 1992/10/23 23:03:47 pavel 58 * Added copyright notice. 59 * 60 * Revision 1.4 1992/10/21 03:02:35 pavel 61 * Converted to use new automatic configuration system. 62 * 63 * Revision 1.3 1992/10/06 18:26:41 pavel 64 * Changed name of global Parser_Client to avoid a name clash. 65 * 66 * Revision 1.2 1992/09/14 17:42:46 pjames 67 * Moved db_modification code to db modules. 68 * 69 * Revision 1.1 1992/07/20 23:23:12 pavel 70 * Initial RCS-controlled version. 71 */ 72