]> git.saurik.com Git - bison.git/commitdiff
* src/reader.c (parse_braces): Merge into...
authorAkim Demaille <akim@epita.fr>
Thu, 2 May 2002 16:16:11 +0000 (16:16 +0000)
committerAkim Demaille <akim@epita.fr>
Thu, 2 May 2002 16:16:11 +0000 (16:16 +0000)
(parse_action): this.

ChangeLog
src/reader.c

index 0b5da95e7752da5794e9bd71de1c325749aa5633..4f0f2ca0c1fc45c7d9bcf9b2382f6b2cfae132cc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-05-02  Akim Demaille  <akim@epita.fr>
+
+       * src/reader.c (parse_braces): Merge into...
+       (parse_action): this.
+
 2002-05-02  Akim Demaille  <akim@epita.fr>
 
        * configure.in (ALL_LINGUAS): Remove.
index 1ce5f51f6ef95cb40a447dcdf28fec7396256b7e..da97aa415ff179fa6c0e87487a06f4691f72cb9d 100644 (file)
@@ -1264,22 +1264,24 @@ read_declarations (void)
 \f
 /*------------------------------------------------------------------.
 | Assuming that a `{' has just been seen, copy everything up to the |
-| matching `}' into the actions file.  RULE_LENGTH is the number of |
-| values in the current rule so far, which says where to find `$0'  |
-| with respect to the top of the stack.                             |
+| matching `}' into ACTION_OBSTACK.                                 |
+|                                                                   |
+| RULE_LENGTH is the number of values in the current rule so far,   |
+| which says where to find `$0' with respect to the top of the      |
+| stack.  It is not the same as the rule->length in the case of mid |
+| rule actions.                                                     |
 |                                                                   |
 | This routine is used for actions.                                 |
 `------------------------------------------------------------------*/
 
 static void
-parse_braces (symbol_list *rule, int rule_length)
+parse_action (symbol_list *rule, int rule_length)
 {
-  int c;
-  int count;
-
-  count = 1;
+  int count = 1;
+  rule->action_line = lineno;
   while (count > 0)
     {
+      int c;
       while ((c = getc (finput)) != '}')
        switch (c)
          {
@@ -1323,14 +1325,6 @@ parse_braces (symbol_list *rule, int rule_length)
     }
 
   obstack_1grow (&action_obstack, '\0');
-}
-
-
-static void
-parse_action (symbol_list *rule, int rule_length)
-{
-  rule->action_line = lineno;
-  parse_braces (rule, rule_length);
   rule->action = obstack_finish (&action_obstack);
 }