This is co_parse.h in view mode; [Download] [Up]
#ifndef _PCN_INCLUDE_CO_PARSE_H #define _PCN_INCLUDE_CO_PARSE_H #ifdef PCN #define PARSE_TREE int #include "pcn_parse.h" #include "parser_tags.h" #else /* PCN */ #include "pcn_parse.h" #include "parser_tags.h" #include "symbol_redef.h" #define YYSTYPE datum_ptr /* * Some lex's (NeXT's in particular) define the maximum token length * to be ridiculously small (200 characters...). This can cause bizarre * crashes when compiling code with long string constants. We redefine * the maximum token length here to be something "large enough". * * We also check the length of yytext in some of the rules in lex.l in an * attempt to discover the error and die (somewhat) gracefully. */ #define LEX_INPUT_BUFFER_SIZE 8192 /* * The bison-generated gram.c doesn't compile well if these are included. */ #ifndef YYBISON #include "gram.h" extern YYSTYPE yylval; #endif /* YYBISON */ #include <stdio.h> #ifdef DEFINE_GLOBALS #define GLOBAL #else #define GLOBAL extern #endif /* * Variables to keep track of the maximum index for the _l and _g * temporary variables. */ GLOBAL int _p_co_l_temp_max; GLOBAL int _p_co_g_temp_max; GLOBAL int _p_co_error_count; GLOBAL int _p_co_lineno; GLOBAL int _p_co_allow_assignment_in_guard; #ifdef DEFINE_GLOBALS char _p_co_filename[1024]; #else extern char _p_co_filename[]; #endif GLOBAL int _p_co_parse_done_flag; GLOBAL int _p_co_parse_completely_done_flag; GLOBAL int _p_co_push_token; #ifdef DEFINE_GLOBALS int _p_co_backward_compatibility_flag = 1; #else extern int _p_co_backward_compatibility_flag; #endif GLOBAL datum *_p_co_parse_tree; extern FILE *_p_co_yyin; #ifndef NULL #define NULL (void *) 0 #endif extern void _p_co_check_var_for_temp_max(); extern void _p_co_init_parsing(); extern void _p_co_parse_one_form(); extern void _p_co_get_parse_error_count(); extern void _p_co_free_parse_tree(); extern void _p_co_syntax_error(); extern void _p_co_warning(); extern void _p_co_get_global_temp_max(); extern void _p_co_print_parse_tree(); extern void _p_co_get_datum_type(); extern void _p_co_get_double_datum(); extern void _p_co_get_int_datum(); extern void _p_co_get_list_head_datum(); extern void _p_co_get_string(); extern void _p_co_get_string_len(); extern void _p_co_get_tag_datum(); extern void _p_co_get_tuple_len(); extern void _p_co_get_tuple_arg(); extern void _p_co_set_backward_compatibility(); #endif /* PCN */ #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif #endif /* _PCN_INCLUDE_CO_PARSE_H */
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.