Index: assoc.h =================================================================== RCS file: /sources/bison/bison/src/assoc.h,v retrieving revision 1.5 diff -u -r1.5 assoc.h --- assoc.h 9 Mar 2006 23:23:10 -0000 1.5 +++ assoc.h 28 Aug 2006 23:28:47 -0000 @@ -17,11 +17,15 @@ along with Bison; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file assoc.h + * \brief Defining :: associativity. + */ #ifndef ASSOC_H_ # define ASSOC_H_ -/* Associativity values for tokens and rules. */ +/** Associativity values for tokens and rules.*/ typedef enum { undef_assoc, Index: closure.h =================================================================== RCS file: /sources/bison/bison/src/closure.h,v retrieving revision 1.14 diff -u -r1.14 closure.h --- closure.h 14 May 2005 06:49:47 -0000 1.14 +++ closure.h 28 Aug 2006 23:28:47 -0000 @@ -1,6 +1,6 @@ /* Subroutines for bison - Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software + Copyright (C) 1984, 1989, 2000, 2001, 2002,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -20,36 +20,45 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file closure.h + * \brief Routines to compute closures + */ + #ifndef CLOSURE_H_ # define CLOSURE_H_ # include "gram.h" -/* Allocates the itemset and ruleset vectors, and precomputes useful - data so that closure can be called. n is the number of elements to - allocate for itemset. */ +/** + * Allocates the itemset and ruleset vectors, and precomputes useful + * data so that closure can be called. n is the number of elements to + * allocate for itemset. + */ void new_closure (unsigned int n); -/* Given the kernel (aka core) of a state (a vector of item numbers - ITEMS, of length N), set up RULESET and ITEMSET to indicate what - rules could be run and which items could be accepted when those - items are the active ones. - - RULESET contains a bit for each rule. CLOSURE sets the bits for - all rules which could potentially describe the next input to be - read. - - ITEMSET is a vector of item numbers; NITEMSET is its size - (actually, points to just beyond the end of the part of it that is - significant). CLOSURE places there the indices of all items which - represent units of input that could arrive next. */ +/** + * Given the kernel (aka core) of a state (a vector of item numbers + * ITEMS, of length N), set up RULESET and ITEMSET to indicate what + * rules could be run and which items could be accepted when those + * items are the active ones. + * + * RULESET contains a bit for each rule. CLOSURE sets the bits for + * all rules which could potentially describe the next input to be + * read. + * + * ITEMSET is a vector of item numbers; NITEMSET is its size + * (actually, points to just beyond the end of the part of it that is + * significant). CLOSURE places there the indices of all items which + * represent units of input that could arrive next. + */ void closure (item_number *items, size_t n); -/* Frees ITEMSET, RULESET and internal data. */ +/** Frees ITEMSET, RULESET and internal data. */ void free_closure (void); Index: complain.h =================================================================== RCS file: /sources/bison/bison/src/complain.h,v retrieving revision 1.17 diff -u -r1.17 complain.h --- complain.h 10 Jul 2006 19:36:31 -0000 1.17 +++ complain.h 28 Aug 2006 23:28:47 -0000 @@ -16,6 +16,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file complain.h + * \brief Error reporting functions for Bison. + */ + #ifndef COMPLAIN_H_ # define COMPLAIN_H_ 1 Index: conflicts.h =================================================================== RCS file: /sources/bison/bison/src/conflicts.h,v retrieving revision 1.16 diff -u -r1.16 conflicts.h --- conflicts.h 10 Jun 2006 03:02:23 -0000 1.16 +++ conflicts.h 28 Aug 2006 23:28:47 -0000 @@ -1,5 +1,5 @@ /* Find and resolve or report lookahead conflicts for bison, - Copyright (C) 2000, 2001, 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002, 2004,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,17 +18,42 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file conflicts.h + * \brief Find and resolve or report lookahead conflicts in thr input grammar. + */ + #ifndef CONFLICTS_H_ # define CONFLICTS_H_ # include "state.h" +/** + * Try to resolve all Shift/Reduce conflicts + * based on precdence/associativity and flag the + * states that still have conflicts as 'inconsistent' + */ void conflicts_solve (void); + +/** + * Report the total number of conflicts. + */ void conflicts_print (void); + +/** + * count conflicts by state. + */ int conflicts_total_count (void); + +/** + * output the detailed description of states + * with conflicts + */ void conflicts_output (FILE *out); + +/** Free conflict lists */ void conflicts_free (void); -/* Were there conflicts? */ +/** Were there conflicts? */ extern int expected_sr_conflicts; extern int expected_rr_conflicts; #endif /* !CONFLICTS_H_ */ Index: derives.h =================================================================== RCS file: /sources/bison/bison/src/derives.h,v retrieving revision 1.9 diff -u -r1.9 derives.h --- derives.h 14 May 2005 06:49:47 -0000 1.9 +++ derives.h 28 Aug 2006 23:28:47 -0000 @@ -1,6 +1,6 @@ /* Match rules with nonterminals for bison, - Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software + Copyright (C) 1984, 1989, 2000, 2001, 2002, 2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -19,17 +19,21 @@ along with Bison; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - +/** + * \file derives.h + * \brief Match rules with non-terminals. + */ #ifndef DERIVES_H_ # define DERIVES_H_ # include "gram.h" -/* DERIVES[SYMBOL - NTOKENS] points to a vector of the rules that - SYMBOL derives, terminated with NULL. */ +/** DERIVES[SYMBOL - NTOKENS] points to a vector of the rules that + * SYMBOL derives, terminated with NULL. + */ extern rule ***derives; -/* Compute DERIVES. */ +/** Compute DERIVES. */ void derives_compute (void); void derives_free (void); Index: files.h =================================================================== RCS file: /sources/bison/bison/src/files.h,v retrieving revision 1.40 diff -u -r1.40 files.h --- files.h 2 Oct 2005 17:44:49 -0000 1.40 +++ files.h 28 Aug 2006 23:28:47 -0000 @@ -1,5 +1,5 @@ /* File names and variables for bison, - Copyright (C) 1984, 1989, 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 1984, 1989, 2000, 2001, 2002,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,48 +18,59 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file files.h + * \brief File names and variables used for Bison output. + */ + #ifndef FILES_H_ # define FILES_H_ # include "uniqstr.h" -/* File name specified with -o for the output file, or 0 if no -o. */ +/** File name specified with -o for the output file, or 0 if no -o. */ extern char const *spec_outfile; -/* File name for the parser (i.e., the one above, or its default.) */ +/** File name for the parser (i.e., the one above, or its default.) */ extern char const *parser_file_name; -/* Symbol prefix specified with -p, or 0 if no -p. */ +/** Symbol prefix specified with -p, or 0 if no -p. */ extern const char *spec_name_prefix; -/* File name prefix specified with -b, or 0 if no -b. */ +/** File name prefix specified with -b, or 0 if no -b. */ extern char const *spec_file_prefix; -/* --verbose. */ +/** --verbose. */ extern char const *spec_verbose_file; -/* File name specified for the output VCG graph. */ +/** File name specified for the output VCG graph. */ extern char const *spec_graph_file; -/* File name specified with --defines. */ +/** File name specified with --defines. */ extern char const *spec_defines_file; -/* Directory prefix of output file names. */ +/** Directory prefix of output file names. */ extern char const *dir_prefix; -/* If semantic parser, output a .h file that defines YYSTYPE... */ +/** If semantic parser, output a .h file that defines YYSTYPE... */ extern struct obstack pre_prologue_obstack; extern struct obstack post_prologue_obstack; -/* The file name as given on the command line. - Not named "input_file" because Flex uses this name for an argument, - and therefore GCC warns about a name clash. */ +/** + * The file name as given on the command line. + * Not named "input_file" because Flex uses this name for an argument, + * and therefore GCC warns about a name clash. + */ extern uniqstr grammar_file; -/* The current file name. Might change with %include, or with #line. */ +/** The current file name. Might change with %include, or with #line. */ extern uniqstr current_file; +/** + * Compute output file names and warn if there are + * conflicting outputs to the same file + */ void compute_output_file_names (void); FILE *xfopen (const char *name, const char *mode); Index: getargs.h =================================================================== RCS file: /sources/bison/bison/src/getargs.h,v retrieving revision 1.33 diff -u -r1.33 getargs.h --- getargs.h 9 Jul 2006 17:01:22 -0000 1.33 +++ getargs.h 28 Aug 2006 23:28:48 -0000 @@ -19,51 +19,69 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file getargs.h + * \brief Functions to parse command line arguments. + */ + #ifndef GETARGS_H_ # define GETARGS_H_ -/* flags set by % directives */ +/** flags set by % directives */ -/* for -S */ +/** for -S */ extern char const *skeleton; -/* for -I */ +/** for -I */ extern char const *include; -extern bool debug_flag; /* for -t */ -extern bool defines_flag; /* for -d */ -extern bool graph_flag; /* for -g */ +/** for -t */ +extern bool debug_flag; + +/** for -d */ +extern bool defines_flag; + +/** for -g */ +extern bool graph_flag; extern bool locations_flag; -extern bool no_lines_flag; /* for -l */ -extern bool no_parser_flag; /* for -n */ -extern bool token_table_flag; /* for -k */ -extern bool yacc_flag; /* for -y */ -extern bool error_verbose; +/** for -l */ +extern bool no_lines_flag; +/** for -n */ +extern bool no_parser_flag; -/* GLR_PARSER is true if the input file says to use the GLR - (Generalized LR) parser, and to output some additional information - used by the GLR algorithm. */ +/** for -k */ +extern bool token_table_flag; -extern bool glr_parser; +/** for -y */ +extern bool yacc_flag; -/* PURE_PARSER is true if should generate a parser that is all pure - and reentrant. */ +extern bool error_verbose; -extern bool pure_parser; -/* NONDETERMINISTIC_PARSER is true iff conflicts are accepted. This - is used by the GLR parser, and might be used in BackTracking - parsers too. */ +/** + * GLR_PARSER is true if the input file says to use the GLR + * (Generalized LR) parser, and to output some additional information + * used by the GLR algorithm. + */ +extern bool glr_parser; -extern bool nondeterministic_parser; +/** + * PURE_PARSER is true if should generate a parser that is all pure + * and reentrant. + */ +extern bool pure_parser; +/** + * NONDETERMINISTIC_PARSER is true iff conflicts are accepted. This + * is used by the GLR parser, and might be used in BackTracking + * parsers too. + */ -/*-----------. -| --report. | -`-----------*/ +extern bool nondeterministic_parser; +/** option --report. */ enum report { report_none = 0, @@ -73,12 +91,14 @@ report_solved_conflicts = 1 << 3, report_all = ~0 }; + /** What appears in the *.output file. */ extern int report_flag; /*----------. | --trace. | `----------*/ +/** option --trace */ enum trace { trace_none = 0, /**< No traces. */ @@ -95,13 +115,14 @@ trace_m4 = 1 << 10, /**< M4 traces. */ trace_all = ~0 /**< All of the above. */ }; + /** What debug items bison displays during its run. */ extern int trace_flag; /*-------------. | --warnings. | `-------------*/ - +/** option --warnings */ enum warnings { warnings_none = 0, /**< Issue no warnings. */ @@ -109,6 +130,7 @@ warnings_yacc = 1 << 1, /**< POSIXME. */ warnings_all = ~0 /**< All of the above. */ }; + /** What warnings are issued. */ extern int warnings_flag; Index: gram.h =================================================================== RCS file: /sources/bison/bison/src/gram.h,v retrieving revision 1.59 diff -u -r1.59 gram.h --- gram.h 6 Jun 2006 16:40:06 -0000 1.59 +++ gram.h 28 Aug 2006 23:28:48 -0000 @@ -20,90 +20,96 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file gram.h + * \brief Definitions for internal representation of Bison's input grammar. + */ + +/** + * Representation of the grammar rules: + * + * NTOKENS is the number of tokens, and NVARS is the number of + * variables (nonterminals). NSYMS is the total number, ntokens + + * nvars. + * + * Each symbol (either token or variable) receives a symbol number. + * Numbers 0 to NTOKENS - 1 are for tokens, and NTOKENS to NSYMS - 1 + * are for variables. Symbol number zero is the end-of-input token. + * This token is counted in ntokens. The true number of token values + * assigned is NTOKENS reduced by one for each alias declaration. + * + * The rules receive rule numbers 1 to NRULES in the order they are + * written. More precisely Bison augments the grammar with the + * initial rule, `$accept: START-SYMBOL $end', which is numbered 1, + * all the user rules are 2, 3 etc. Each time a rule number is + * presented to the user, we subtract 1, so *displayed* rule numbers + * are 0, 1, 2... + * + * Internally, we cannot use the number 0 for a rule because for + * instance RITEM stores both symbol (the RHS) and rule numbers: the + * symbols are shorts >= 0, and rule number are stored negative. + * Therefore 0 cannot be used, since it would be both the rule number + * 0, and the token $end). + * + * Actions are accessed via the rule number. + * + * The rules themselves are described by several arrays: amongst which + * RITEM, and RULES. + * + * RULES is an array of rules, whose members are: + * + * RULES[R].lhs -- the symbol of the left hand side of rule R. + * + * RULES[R].rhs -- the index in RITEM of the beginning of the portion + * for rule R. + * + * RULES[R].prec -- the symbol providing the precedence level of R. + * + * RULES[R].precsym -- the symbol attached (via %prec) to give its + * precedence to R. Of course, if set, it is equal to `prec', but we + * need to distinguish one from the other when reducing: a symbol used + * in a %prec is not useless. + * + * RULES[R].assoc -- the associativity of R. + * + * RULES[R].dprec -- the dynamic precedence level of R (for GLR + * parsing). + * + * RULES[R].merger -- index of merging function for R (for GLR + * parsing). + * + * RULES[R].line -- the line where R was defined. + * + * RULES[R].useful -- true iff the rule is used (i.e., false if thrown + * away by reduce). + * + * The right hand side is stored as symbol numbers in a portion of + * RITEM. + * + * The length of the portion is one greater than the number of symbols + * in the rule's right hand side. The last element in the portion + * contains minus R, which identifies it as the end of a portion and + * says which rule it is for. + * + * The portions of RITEM come in order of increasing rule number. + * NRITEMS is the total length of RITEM. Each element of RITEM is + * called an "item" and its index in RITEM is an item number. + * + * Item numbers are used in the finite state machine to represent + * places that parsing can get to. + * + * SYMBOLS[I]->prec records the precedence level of each symbol. + * + * Precedence levels are assigned in increasing order starting with 1 + * so that numerically higher precedence values mean tighter binding + * as they ought to. Zero as a symbol or rule's precedence means none + * is assigned. + * + * Associativities are recorded similarly in SYMBOLS[I]->assoc. + */ #ifndef GRAM_H_ # define GRAM_H_ -/* Representation of the grammar rules: - - NTOKENS is the number of tokens, and NVARS is the number of - variables (nonterminals). NSYMS is the total number, ntokens + - nvars. - - Each symbol (either token or variable) receives a symbol number. - Numbers 0 to NTOKENS - 1 are for tokens, and NTOKENS to NSYMS - 1 - are for variables. Symbol number zero is the end-of-input token. - This token is counted in ntokens. The true number of token values - assigned is NTOKENS reduced by one for each alias declaration. - - The rules receive rule numbers 1 to NRULES in the order they are - written. More precisely Bison augments the grammar with the - initial rule, `$accept: START-SYMBOL $end', which is numbered 1, - all the user rules are 2, 3 etc. Each time a rule number is - presented to the user, we subtract 1, so *displayed* rule numbers - are 0, 1, 2... - - Internally, we cannot use the number 0 for a rule because for - instance RITEM stores both symbol (the RHS) and rule numbers: the - symbols are shorts >= 0, and rule number are stored negative. - Therefore 0 cannot be used, since it would be both the rule number - 0, and the token $end). - - Actions are accessed via the rule number. - - The rules themselves are described by several arrays: amongst which - RITEM, and RULES. - - RULES is an array of rules, whose members are: - - RULES[R].lhs -- the symbol of the left hand side of rule R. - - RULES[R].rhs -- the index in RITEM of the beginning of the portion - for rule R. - - RULES[R].prec -- the symbol providing the precedence level of R. - - RULES[R].precsym -- the symbol attached (via %prec) to give its - precedence to R. Of course, if set, it is equal to `prec', but we - need to distinguish one from the other when reducing: a symbol used - in a %prec is not useless. - - RULES[R].assoc -- the associativity of R. - - RULES[R].dprec -- the dynamic precedence level of R (for GLR - parsing). - - RULES[R].merger -- index of merging function for R (for GLR - parsing). - - RULES[R].line -- the line where R was defined. - - RULES[R].useful -- true iff the rule is used (i.e., false if thrown - away by reduce). - - The right hand side is stored as symbol numbers in a portion of - RITEM. - - The length of the portion is one greater than the number of symbols - in the rule's right hand side. The last element in the portion - contains minus R, which identifies it as the end of a portion and - says which rule it is for. - - The portions of RITEM come in order of increasing rule number. - NRITEMS is the total length of RITEM. Each element of RITEM is - called an "item" and its index in RITEM is an item number. - - Item numbers are used in the finite state machine to represent - places that parsing can get to. - - SYMBOLS[I]->prec records the precedence level of each symbol. - - Precedence levels are assigned in increasing order starting with 1 - so that numerically higher precedence values mean tighter binding - as they ought to. Zero as a symbol or rule's precedence means none - is assigned. - - Associativities are recorded similarly in SYMBOLS[I]->assoc. */ - # include "location.h" # include "symtab.h" @@ -145,7 +151,7 @@ return i >= 0; } -/* Rule numbers. */ +/** Rule numbers. */ typedef int rule_number; #define RULE_NUMBER_MAX INT_MAX extern rule_number nrules; @@ -174,24 +180,26 @@ typedef struct { - /* The number of the rule in the source. It is usually the index in - RULES too, except if there are useless rules. */ + /** The number of the rule in the source. It is usually the index in + * RULES too, except if there are useless rules. + */ rule_number user_number; - /* The index in RULES. Usually the rule number in the source, - except if some rules are useless. */ + /** The index in RULES. Usually the rule number in the source, + * except if some rules are useless. + */ rule_number number; symbol *lhs; item_number *rhs; - /* This symbol provides both the associativity, and the precedence. */ + /** This symbol provides both the associativity, and the precedence. */ symbol *prec; int dprec; int merger; - /* This symbol was attached to the rule via %prec. */ + /** This symbol was attached to the rule via %prec. */ symbol *precsym; location location; @@ -203,42 +211,45 @@ extern rule *rules; -/* A function that selects a rule. */ +/** A function that selects a rule. */ typedef bool (*rule_filter) (rule *); -/* Return true IFF the rule has a `number' smaller than NRULES. */ +/** Return true IFF the rule has a `number' smaller than NRULES. */ bool rule_useful_p (rule *r); -/* Return true IFF the rule has a `number' higher than NRULES. */ +/** Return true IFF the rule has a `number' higher than NRULES. */ bool rule_useless_p (rule *r); -/* Return true IFF the rule is not flagged as useful *and* is useful. - In other words, it was discarded because of conflicts. */ +/** Return true IFF the rule is not flagged as useful *and* is useful. + * In other words, it was discarded because of conflicts. + */ bool rule_never_reduced_p (rule *r); -/* Print this rule's number and lhs on OUT. If a PREVIOUS_LHS was - already displayed (by a previous call for another rule), avoid - useless repetitions. */ +/** Print this rule's number and lhs on OUT. If a PREVIOUS_LHS was + * already displayed (by a previous call for another rule), avoid + * useless repetitions. + */ void rule_lhs_print (rule *r, symbol *previous_lhs, FILE *out); -/* Return the length of the RHS. */ +/** Return the length of the RHS. */ int rule_rhs_length (rule *r); -/* Print this rule's RHS on OUT. */ +/** Print this rule's RHS on OUT. */ void rule_rhs_print (rule *r, FILE *out); -/* Print this rule on OUT. */ +/** Print this rule on OUT. */ void rule_print (rule *r, FILE *out); -/* Table of the symbols, indexed by the symbol number. */ +/** Table of the symbols, indexed by the symbol number. */ extern symbol **symbols; -/* TOKEN_TRANSLATION -- a table indexed by a token number as returned - by the user's yylex routine, it yields the internal token number - used by the parser and throughout bison. */ +/** TOKEN_TRANSLATION -- a table indexed by a token number as returned + * by the user's yylex routine, it yields the internal token number + * used by the parser and throughout bison. + */ extern symbol_number *token_translations; extern int max_user_token_number; @@ -247,27 +258,29 @@ /* Dump RITEM for traces. */ void ritem_print (FILE *out); -/* Return the size of the longest rule RHS. */ +/** Return the size of the longest rule RHS. */ size_t ritem_longest_rhs (void); -/* Print the grammar's rules numbers from BEGIN (inclusive) to END - (exclusive) on OUT under TITLE. */ +/** Print the grammar's rules numbers from BEGIN (inclusive) to END + * (exclusive) on OUT under TITLE. + */ void grammar_rules_partial_print (FILE *out, const char *title, rule_filter filter); -/* Print the grammar's rules on OUT. */ +/** Print the grammar's rules on OUT. */ void grammar_rules_print (FILE *out); /* Dump the grammar. */ void grammar_dump (FILE *out, const char *title); -/* Report on STDERR the rules that are not flagged USEFUL, using the - MESSAGE (which can be `useless rule' when invoked after grammar - reduction, or `never reduced' after conflicts were taken into - account). */ +/** Report on STDERR the rules that are not flagged USEFUL, using the + * MESSAGE (which can be `useless rule' when invoked after grammar + * reduction, or `never reduced' after conflicts were taken into + * account). + */ void grammar_rules_never_reduced_report (const char *message); -/* Free the packed grammar. */ +/** Free the packed grammar. */ void grammar_free (void); #endif /* !GRAM_H_ */ Index: lalr.h =================================================================== RCS file: /sources/bison/bison/src/lalr.h,v retrieving revision 1.34 diff -u -r1.34 lalr.h --- lalr.h 27 Jun 2006 14:09:53 -0000 1.34 +++ lalr.h 28 Aug 2006 23:28:48 -0000 @@ -19,6 +19,10 @@ along with Bison; see the file COPYING. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file lalr.h + * \brief Build the LALR automaton for the input grammar. + */ #ifndef LALR_H_ # define LALR_H_ Index: location.h =================================================================== RCS file: /sources/bison/bison/src/location.h,v retrieving revision 1.17 diff -u -r1.17 location.h --- location.h 7 Jun 2006 21:17:35 -0000 1.17 +++ location.h 28 Aug 2006 23:28:48 -0000 @@ -18,29 +18,38 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file location.h + * \brief Defines Location handling for Bison. + */ + #ifndef LOCATION_H_ # define LOCATION_H_ # include "uniqstr.h" -/* A boundary between two characters. */ +/** + * A boundary between two characters. + */ typedef struct { - /* The name of the file that contains the boundary. */ + /** The name of the file that contains the boundary. */ uniqstr file; - /* The (origin-1) line that contains the boundary. - If this is INT_MAX, the line number has overflowed. */ + /** The (origin-1) line that contains the boundary. + * If this is INT_MAX, the line number has overflowed. + */ int line; - /* The (origin-1) column just after the boundary. This is neither a - byte count, nor a character count; it is a column count. - If this is INT_MAX, the column number has overflowed. */ + /** The (origin-1) column just after the boundary. This is neither a + * byte count, nor a character count; it is a column count. + * If this is INT_MAX, the column number has overflowed. + */ int column; } boundary; -/* Set the position of \a a. */ +/** Set the position of \a a. */ static inline void boundary_set (boundary *b, const char *f, int l, int c) { @@ -49,7 +58,7 @@ b->column = c; } -/* Return nonzero if A and B are equal boundaries. */ +/** Return nonzero if A and B are equal boundaries. */ static inline bool equal_boundaries (boundary a, boundary b) { @@ -58,13 +67,13 @@ && UNIQSTR_EQ (a.file, b.file)); } -/* A location, that is, a region of source code. */ +/** A location, that is, a region of source code. */ typedef struct { - /* Boundary just before the location starts. */ + /** Boundary just before the location starts. */ boundary start; - /* Boundary just after the location ends. */ + /** Boundary just after the location ends. */ boundary end; } location; @@ -73,11 +82,12 @@ extern location const empty_location; -/* Set *LOC and adjust scanner cursor to account for token TOKEN of - size SIZE. */ +/** Set *LOC and adjust scanner cursor to account for token TOKEN of + * size SIZE. + */ void location_compute (location *loc, boundary *cur, char const *token, size_t size); void location_print (FILE *out, location loc); -#endif /* ! defined LOCATION_H_ */ +#endif /* defined LOCATION_H_ */ Index: LR0.h =================================================================== RCS file: /sources/bison/bison/src/LR0.h,v retrieving revision 1.11 diff -u -r1.11 LR0.h --- LR0.h 14 May 2005 06:49:47 -0000 1.11 +++ LR0.h 28 Aug 2006 23:28:48 -0000 @@ -22,7 +22,9 @@ # define LR0_H_ # include "state.h" - +/** + * Generate the LR0 sets of items + */ void generate_states (void); #endif /* !LR0_H_ */ Index: muscle_tab.h =================================================================== RCS file: /sources/bison/bison/src/muscle_tab.h,v retrieving revision 1.16 diff -u -r1.16 muscle_tab.h --- muscle_tab.h 13 Jul 2006 20:05:34 -0000 1.16 +++ muscle_tab.h 28 Aug 2006 23:28:48 -0000 @@ -1,5 +1,5 @@ /* Muscle table manager for Bison, - Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,6 +18,11 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file muscle_tab.h + * \brief Muscle table manager for Bison. + */ + #ifndef MUSCLE_TAB_H_ # define MUSCLE_TAB_H_ @@ -29,7 +34,7 @@ void muscle_free (void); -/* An obstack dedicated to receive muscle keys and values. */ +/** An obstack dedicated to receive muscle keys and values. */ extern struct obstack muscle_obstack; #define MUSCLE_INSERT_BOOL(Key, Value) \ @@ -82,23 +87,29 @@ muscle_insert (Key, obstack_finish (&muscle_obstack)); \ } -/* Append VALUE to the current value of KEY. If KEY did not already - exist, create it. Use MUSCLE_OBSTACK. De-allocate the previously - associated value. Copy VALUE and SEPARATOR. */ +/** + * Append VALUE to the current value of KEY. If KEY did not already + * exist, create it. Use MUSCLE_OBSTACK. De-allocate the previously + * associated value. Copy VALUE and SEPARATOR. + */ void muscle_grow (const char *key, const char *value, const char *separator); -/* Append VALUE to the current value of KEY, using muscle_grow. But - in addition, issue a synchronization line for the location LOC. */ +/** + * Append VALUE to the current value of KEY, using muscle_grow. But + * in addition, issue a synchronization line for the location LOC. + */ void muscle_code_grow (const char *key, const char *value, location loc); -/* MUSCLE is an M4 list of pairs. Create or extend it with the pair - (A1, A2). Note that because the muscle values are output *double* - quoted, one needs to strip the first level of quotes to reach the - list itself. */ +/** + * MUSCLE is an M4 list of pairs. Create or extend it with the pair + * (A1, A2). Note that because the muscle values are output *double* + * quoted, one needs to strip the first level of quotes to reach the + * list itself. + */ void muscle_pair_list_grow (const char *muscle, const char *a1, const char *a2); Index: nullable.h =================================================================== RCS file: /sources/bison/bison/src/nullable.h,v retrieving revision 1.5 diff -u -r1.5 nullable.h --- nullable.h 14 May 2005 06:49:47 -0000 1.5 +++ nullable.h 28 Aug 2006 23:28:48 -0000 @@ -1,5 +1,5 @@ /* Part of the bison parser generator, - Copyright (C) 2000, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2002,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,16 +18,23 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file nullable.h + * \brief Create a list of Non-terminals that can expand to Null. + */ + #ifndef NULLABLE_H_ # define NULLABLE_H_ -/* A vector saying which nonterminals can expand into the null string. - NULLABLE[I - NTOKENS] is nonzero if symbol I can do so. */ +/** + * A vector saying which nonterminals can expand into the null string. + * NULLABLE[I - NTOKENS] is nonzero if symbol I can do so. + */ extern bool *nullable; -/* Set up NULLABLE. */ +/** Set up NULLABLE. */ extern void nullable_compute (void); -/* Free NULLABLE. */ +/** Free NULLABLE. */ extern void nullable_free (void); #endif /* !NULLABLE_H_ */ Index: output.h =================================================================== RCS file: /sources/bison/bison/src/output.h,v retrieving revision 1.15 diff -u -r1.15 output.h --- output.h 14 May 2006 19:14:10 -0000 1.15 +++ output.h 28 Aug 2006 23:28:48 -0000 @@ -18,10 +18,15 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file output.h + * \brief Output the generated parsing program. + */ + #ifndef OUTPUT_H_ # define OUTPUT_H_ -/* Output the parsing tables and the parser code to FTABLE. */ +/** Output the parsing tables and the parser code to FTABLE. */ void output (void); #endif /* !OUTPUT_H_ */ Index: print_graph.h =================================================================== RCS file: /sources/bison/bison/src/print_graph.h,v retrieving revision 1.4 diff -u -r1.4 print_graph.h --- print_graph.h 14 May 2005 06:49:48 -0000 1.4 +++ print_graph.h 28 Aug 2006 23:28:48 -0000 @@ -1,5 +1,5 @@ /* Output a VCG description on generated parser, for bison, - Copyright 2000 Free Software Foundation, Inc. + Copyright 2000,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,9 +18,15 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file print_graph.h + * \brief Ouput a VCG graph description of the generated parsing automaton. + */ + #ifndef PRINT_GRAPH_H_ # define PRINT_GRAPH_H_ +/** Ouput a VCG graph description of the generated parsing automaton. */ void print_graph (void); #endif /* !PRINT_GRAPH_H_ */ Index: print.h =================================================================== RCS file: /sources/bison/bison/src/print.h,v retrieving revision 1.4 diff -u -r1.4 print.h --- print.h 14 May 2005 06:49:48 -0000 1.4 +++ print.h 28 Aug 2006 23:28:48 -0000 @@ -1,5 +1,5 @@ /* Print information on generated parser, for bison, - Copyright 2000 Free Software Foundation, Inc. + Copyright 2000,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,9 +18,15 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file print.h + * \brief Ouput information about the generated parser. + */ + #ifndef PRINT_H_ # define PRINT_H_ +/** Print information about the generated parsing automaton */ void print_results (void); #endif /* !PRINT_H_ */ Index: reader.h =================================================================== RCS file: /sources/bison/bison/src/reader.h,v retrieving revision 1.55 diff -u -r1.55 reader.h --- reader.h 9 Jul 2006 20:36:33 -0000 1.55 +++ reader.h 28 Aug 2006 23:28:48 -0000 @@ -20,6 +20,11 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file reader.h + * \brief Input processing routines. + */ + #ifndef READER_H_ # define READER_H_ @@ -36,19 +41,33 @@ location type_declaration_location; } merger_list; -/* From the parser. */ +/** From the parser. */ extern int gram_debug; int gram_parse (void); char const *token_name (int type); /* From reader.c. */ + +/** Set the start symbol of the grammar */ void grammar_start_symbol_set (symbol *sym, location loc); + +/** Augment the prologue */ void prologue_augment (const char *prologue, location loc, bool post); + +/** Begin a rule */ void grammar_current_rule_begin (symbol *lhs, location loc); + +/** End the current rule */ void grammar_current_rule_end (location loc); + +/** Make a dummy rule for a midrule action */ void grammar_midrule_action (void); + +/** Set the precedence symbol of the current rule */ void grammar_current_rule_prec_set (symbol *precsym, location loc); + +/** Attach dynamic precedence to current rule (for GLR parsers only) */ void grammar_current_rule_dprec_set (int dprec, location loc); void grammar_current_rule_merge_set (uniqstr name, location loc); void grammar_current_rule_symbol_append (symbol *sym, location loc); @@ -58,13 +77,13 @@ extern merger_list *merge_functions; -/* Was %union seen? */ +/** Was %union seen? */ extern bool union_seen; -/* Was a tag seen? */ +/** Was a tag seen? */ extern bool tag_seen; -/* Should rules have a default precedence? */ +/** Should rules have a default precedence? */ extern bool default_prec; #endif /* !READER_H_ */ Index: reduce.h =================================================================== RCS file: /sources/bison/bison/src/reduce.h,v retrieving revision 1.9 diff -u -r1.9 reduce.h --- reduce.h 14 May 2005 06:49:48 -0000 1.9 +++ reduce.h 28 Aug 2006 23:28:48 -0000 @@ -1,6 +1,6 @@ /* Grammar reduction for Bison. - Copyright (C) 2000, 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2000, 2001, 2002,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -19,13 +19,24 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file reduce.h + * \brief Functions to reduce the input grammar to 'useful' symbols and productions. + */ + + #ifndef REDUCE_H_ # define REDUCE_H_ +/** Reduce the given input grammar to include only useful symbols and productions */ void reduce_grammar (void); +/** Ouput information about useless symbols and productions in the grammar */ void reduce_output (FILE *out); +/** Free memory used by reduce functions */ void reduce_free (void); +/** Number of useless non terminals */ extern symbol_number nuseless_nonterminals; +/** Number of useless productions */ extern rule_number nuseless_productions; #endif /* !REDUCE_H_ */ Index: relation.h =================================================================== RCS file: /sources/bison/bison/src/relation.h,v retrieving revision 1.8 diff -u -r1.8 relation.h --- relation.h 14 May 2005 06:49:48 -0000 1.8 +++ relation.h 28 Aug 2006 23:28:48 -0000 @@ -1,5 +1,5 @@ /* Binary relations. - Copyright (C) 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2004,2006 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -18,14 +18,21 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file relation.h + * \brief RTC calculations for constructing the LALR automaton. + */ + #ifndef RELATION_H_ # define RELATION_H_ -/* Performing operations on graphs coded as list of adjacency. - - If GRAPH is a relation, then GRAPH[Node] is a list of adjacent - nodes, ended with END_NODE. */ +/** + * Performing operations on graphs coded as list of adjacency. + * + * If GRAPH is a relation, then GRAPH[Node] is a list of adjacent + * nodes, ended with END_NODE. + */ #define END_NODE ((relation_node) -1) @@ -34,17 +41,19 @@ typedef relation_nodes *relation; -/* Report a relation R that has SIZE vertices. */ +/** Report a relation R that has SIZE vertices. */ void relation_print (relation r, relation_node size, FILE *out); -/* Compute the transitive closure of the FUNCTION on the relation R - with SIZE vertices. - - If R (NODE-1, NODE-2) then on exit FUNCTION[NODE - 1] was extended - (unioned) with FUNCTION[NODE - 2]. */ +/** + * Compute the transitive closure of the FUNCTION on the relation R + * with SIZE vertices. + * + * If R (NODE-1, NODE-2) then on exit FUNCTION[NODE - 1] was extended + * (unioned) with FUNCTION[NODE - 2]. + */ void relation_digraph (relation r, relation_node size, bitsetv *function); -/* Destructively transpose *R_ARG, of size N. */ +/** Destructively transpose *R_ARG, of size N. */ void relation_transpose (relation *R_arg, relation_node n); #endif /* ! RELATION_H_ */ Index: revision.h =================================================================== RCS file: /sources/bison/bison/src/revision.h,v retrieving revision 1.1 diff -u -r1.1 revision.h --- revision.h 6 Jun 2006 05:23:44 -0000 1.1 +++ revision.h 28 Aug 2006 23:28:48 -0000 @@ -19,6 +19,11 @@ Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file revision.h + * \brief Define a precise revision string. + */ + #ifndef REVISION_H_ # define REVISION_H_ Index: scan-code.h =================================================================== RCS file: /sources/bison/bison/src/scan-code.h,v retrieving revision 1.3 diff -u -r1.3 scan-code.h --- scan-code.h 13 Jul 2006 08:12:00 -0000 1.3 +++ scan-code.h 28 Aug 2006 23:28:48 -0000 @@ -26,22 +26,28 @@ # include "location.h" # include "symlist.h" -/* Keeps track of the maximum number of semantic values to the left of - a handle (those referenced by $0, $-1, etc.) are required by the - semantic actions of this grammar. */ +/** + * Keeps track of the maximum number of semantic values to the left of + * a handle (those referenced by $0, $-1, etc.) are required by the + * semantic actions of this grammar. + */ extern int max_left_semantic_context; void code_scanner_free (void); -/* The action of the rule R contains $$, $1 etc. referring to the values - of the rule R. */ +/** + * The action of the rule R contains $$, $1 etc. referring to the values + * of the rule R. + */ char *translate_rule_action (symbol_list *r); -/* The action A refers to $$ and @$ only, referring to a symbol. */ +/** The action A refers to $$ and @$ only, referring to a symbol. */ char *translate_symbol_action (const char *a, location l); -/* The action contains no special escapes, just protect M4 special - symbols. */ +/** + * The action contains no special escapes, just protect M4 special + * symbols. + */ char *translate_code (const char *a, location l); #endif /* !SCAN_CODE_H_ */ Index: state.h =================================================================== RCS file: /sources/bison/bison/src/state.h,v retrieving revision 1.50 diff -u -r1.50 state.h --- state.h 10 Jun 2006 03:02:23 -0000 1.50 +++ state.h 28 Aug 2006 23:28:48 -0000 @@ -21,65 +21,67 @@ Boston, MA 02110-1301, USA. */ -/* These type definitions are used to represent a nondeterministic - finite state machine that parses the specified grammar. This - information is generated by the function generate_states in the - file LR0. - - Each state of the machine is described by a set of items -- - particular positions in particular rules -- that are the possible - places where parsing could continue when the machine is in this - state. These symbols at these items are the allowable inputs that - can follow now. - - A core represents one state. States are numbered in the NUMBER - field. When generate_states is finished, the starting state is - state 0 and NSTATES is the number of states. (FIXME: This sentence - is no longer true: A transition to a state whose state number is - NSTATES indicates termination.) All the cores are chained together - and FIRST_STATE points to the first one (state 0). - - For each state there is a particular symbol which must have been - the last thing accepted to reach that state. It is the - ACCESSING_SYMBOL of the core. - - Each core contains a vector of NITEMS items which are the indices - in the RITEMS vector of the items that are selected in this state. - - The two types of actions are shifts/gotos (push the lookahead token - and read another/goto to the state designated by a nterm) and - reductions (combine the last n things on the stack via a rule, - replace them with the symbol that the rule derives, and leave the - lookahead token alone). When the states are generated, these - actions are represented in two other lists. - - Each transition structure describes the possible transitions out - of one state, the state whose number is in the number field. Each - contains a vector of numbers of the states that transitions can go - to. The accessing_symbol fields of those states' cores say what - kind of input leads to them. - - A transition to state zero should be ignored: conflict resolution - deletes transitions by having them point to zero. - - Each reductions structure describes the possible reductions at the - state whose number is in the number field. The data is a list of - nreds rules, represented by their rule numbers. first_reduction - points to the list of these structures. - - Conflict resolution can decide that certain tokens in certain - states should explicitly be errors (for implementing %nonassoc). - For each state, the tokens that are errors for this reason are - recorded in an errs structure, which holds the token numbers. - - There is at least one goto transition present in state zero. It - leads to a next-to-final state whose accessing_symbol is the - grammar's start symbol. The next-to-final state has one shift to - the final state, whose accessing_symbol is zero (end of input). - The final state has one shift, which goes to the termination state. - The reason for the extra state at the end is to placate the - parser's strategy of making all decisions one token ahead of its - actions. */ +/** + * These type definitions are used to represent a nondeterministic + * finite state machine that parses the specified grammar. This + * information is generated by the function generate_states in the + * file LR0. + * + * Each state of the machine is described by a set of items -- + * particular positions in particular rules -- that are the possible + * places where parsing could continue when the machine is in this + * state. These symbols at these items are the allowable inputs that + * can follow now. + * + * A core represents one state. States are numbered in the NUMBER + * field. When generate_states is finished, the starting state is + * state 0 and NSTATES is the number of states. (FIXME: This sentence + * is no longer true: A transition to a state whose state number is + * NSTATES indicates termination.) All the cores are chained together + * and FIRST_STATE points to the first one (state 0). + * + * For each state there is a particular symbol which must have been + * the last thing accepted to reach that state. It is the + * ACCESSING_SYMBOL of the core. + * + * Each core contains a vector of NITEMS items which are the indices + * in the RITEMS vector of the items that are selected in this state. + * + * The two types of actions are shifts/gotos (push the lookahead token + * and read another/goto to the state designated by a nterm) and + * reductions (combine the last n things on the stack via a rule, + * replace them with the symbol that the rule derives, and leave the + * lookahead token alone). When the states are generated, these + * actions are represented in two other lists. + * + * Each transition structure describes the possible transitions out + * of one state, the state whose number is in the number field. Each + * contains a vector of numbers of the states that transitions can go + * to. The accessing_symbol fields of those states' cores say what + * kind of input leads to them. + * + * A transition to state zero should be ignored: conflict resolution + * deletes transitions by having them point to zero. + * + * Each reductions structure describes the possible reductions at the + * state whose number is in the number field. The data is a list of + * nreds rules, represented by their rule numbers. first_reduction + * points to the list of these structures. + * + * Conflict resolution can decide that certain tokens in certain + * states should explicitly be errors (for implementing %nonassoc). + * For each state, the tokens that are errors for this reason are + * recorded in an errs structure, which holds the token numbers. + * + * There is at least one goto transition present in state zero. It + * leads to a next-to-final state whose accessing_symbol is the + * grammar's start symbol. The next-to-final state has one shift to + * the final state, whose accessing_symbol is zero (end of input). + * The final state has one shift, which goes to the termination state. + * The reason for the extra state at the end is to placate the + * parser's strategy of making all decisions one token ahead of its + * actions. + */ #ifndef STATE_H_ # define STATE_H_ Index: symlist.h =================================================================== RCS file: /sources/bison/bison/src/symlist.h,v retrieving revision 1.17 diff -u -r1.17 symlist.h --- symlist.h 9 Jul 2006 19:55:15 -0000 1.17 +++ symlist.h 28 Aug 2006 23:28:48 -0000 @@ -19,73 +19,83 @@ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ +/** + * \file symlist.h + * \brief Manipulating ::list of symbols. + */ + #ifndef SYMLIST_H_ # define SYMLIST_H_ # include "location.h" # include "symtab.h" -/* A list of symbols, used during the parsing to store the rules. */ + +/** A list of symbols, used during the parsing to store the rules. + */ typedef struct symbol_list { - /* The symbol. */ + /** The symbol. */ symbol *sym; location location; - /* If this symbol is the generated lhs for a midrule but this is the rule in - whose rhs it appears, MIDRULE = a pointer to that midrule. */ + /** If this symbol is the generated lhs for a midrule but this is the rule in + * whose rhs it appears, MIDRULE = a pointer to that midrule. + */ struct symbol_list *midrule; - /* If this symbol is the generated lhs for a midrule and this is that - midrule, MIDRULE_PARENT_RULE = a pointer to the rule in whose rhs it - appears, and MIDRULE_PARENT_RHS_INDEX = its rhs index (1-origin) in the - parent rule. */ + /** If this symbol is the generated lhs for a midrule and this is that + * midrule, MIDRULE_PARENT_RULE = a pointer to the rule in whose rhs it + * appears, and MIDRULE_PARENT_RHS_INDEX = its rhs index (1-origin) in the + * parent rule. + */ struct symbol_list *midrule_parent_rule; int midrule_parent_rhs_index; - /* The action is attached to the LHS of a rule. */ + /** The action is attached to the LHS of a rule. */ const char *action; location action_location; - /* Whether this symbol's value is used in the current action. */ + /** Whether this symbol's value is used in the current action. */ bool used; - /* Precedence/associativity. */ + /** Precedence/associativity. */ symbol *ruleprec; int dprec; int merger; location merger_declaration_location; - /* The list. */ + /** The list. */ struct symbol_list *next; } symbol_list; -/* Create a list containing SYM at LOC. */ +/** Create a list containing SYM at LOC. */ symbol_list *symbol_list_new (symbol *sym, location loc); -/* Print it. */ +/** Print it. */ void symbol_list_print (const symbol_list *l, FILE *f); -/* Prepend SYM at LOC to the LIST. */ +/** Prepend SYM at LOC to the LIST. */ symbol_list *symbol_list_prepend (symbol_list *l, symbol *sym, location loc); -/* Free the LIST, but not the symbols it contains. */ +/** Free the LIST, but not the symbols it contains. */ void symbol_list_free (symbol_list *l); -/* Return its length. */ +/** Return its length. */ int symbol_list_length (symbol_list const *l); -/* Get symbol N in symbol list L. */ +/** Get symbol N in symbol list L. */ symbol_list *symbol_list_n_get (symbol_list *l, int n); -/* Get the data type (alternative in the union) of the value for - symbol N in rule RULE. */ +/** Get the data type (alternative in the union) of the value for + * symbol N in rule RULE. + */ uniqstr symbol_list_n_type_name_get (symbol_list *l, location loc, int n); -/* The symbol N in symbol list L is USED. */ +/** The symbol N in symbol list L is USED. */ void symbol_list_n_used_set (symbol_list *l, int n, bool used); #endif /* !SYMLIST_H_ */ Index: system.h =================================================================== RCS file: /sources/bison/bison/src/system.h,v retrieving revision 1.78 diff -u -r1.78 system.h --- system.h 9 Jul 2006 03:44:51 -0000 1.78 +++ system.h 28 Aug 2006 23:28:48 -0000 @@ -20,10 +20,12 @@ #ifndef BISON_SYSTEM_H #define BISON_SYSTEM_H -/* flex 2.5.31 gratutiously defines macros like INT8_MIN. But this - runs afoul of pre-C99 compilers that have or - , which are included below if available. It also runs - afoul of pre-C99 compilers that define these macros in . */ +/** + * flex 2.5.31 gratutiously defines macros like INT8_MIN. But this + * runs afoul of pre-C99 compilers that have or + * , which are included below if available. It also runs + * afoul of pre-C99 compilers that define these macros in . + */ #if ! defined __STDC_VERSION__ || __STDC_VERSION__ < 199901 # undef INT8_MIN # undef INT16_MIN @@ -56,8 +58,10 @@ #include #ifndef UINTPTR_MAX -/* This isn't perfect, but it's good enough for Bison, which needs - only to hash pointers. */ +/** + * This isn't perfect, but it's good enough for Bison, which needs + * only to hash pointers. + */ typedef size_t uintptr_t; #endif