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