bison-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Java skeleton bug fixes, new features, and documentation


From: Di-an JAN
Subject: Re: Java skeleton bug fixes, new features, and documentation
Date: Tue, 28 Oct 2008 10:23:15 -0700 (PDT)

On Thu, 9 Oct 2008, Paolo Bonzini wrote:

Also, I didn't understand this:

@@ -99,7 +105,7 @@ b4_token_enums(b4_tokens)
       return new ]b4_location_type[ (rhs.locationAt (1).begin, rhs.locationAt 
(n).end);
     else
       return new ]b4_location_type[ (rhs.locationAt (0).end);
-  }]])
+  }]])[

   /**
    * Communication interface between the scanner and the Bison-generated

Where is the corresponding open bracket removed?  Or was there really
none?  This is also a candidate for applying now.

Paolo

That is an unmatched m4 quote.  Without it, there would be an extra ']'
in the Javadoc of the Lexer interface.  Sorry for the late response;
I was away from computers for a while.

I noticed another bug in the Javadoc comments.  The Javadoc for the
generated parser class says it's generated from the java file rather
than the bison file.  It's fixed in the first hunk below, where I also
removed the double quotes around the file name; it's already in <tt>.
I also repeated fixes for the other visible Javadoc bugs I found.

Javadoc tested with the awk grammar from tests/existing.at:

tests/bison -Ljava --debug --locations awk.y -o awk.java
echo "class Position {}" > Position.java
javadoc -d javadoc -private awk.java

Tested with make -k check on Cygwin with one expected failure.  See
http://lists.gnu.org/archive/html/bug-bison/2008-07/msg00008.html

Please look at my other message on proposed Java changes on bison-help:

http://lists.gnu.org/archive/html/help-bison/2008-10/msg00021.html

Also, how should I submit patches?  Should I separate them?
One patch for each new feature and each user-visible change?
Separate patches for each bug fix or is one patch okay?
Separate patch to correct whitespaces in generated parser?
Separate patch for updating comments?
Should I Cc: you when submitting Java patches?

Di-an Jan



2008-10-27  Di-an Jan  <address@hidden>

        Correct visible errors in generated Javadoc.
        * data/lalr1.jave: Update copyright years.
        (YYParser): Correct name of "generated from" file in Javadoc:
        use b4_file_name instead of @address@hidden
        (Location constructor): Correct Javadoc parameter name.
        (yylloc): Add missing opening m4 quote after b4_location_if.
        This removes a stray [ in the Javadoc of Lexer.getStartPos.
        (Lexer.yyerror): Fix incorrect m4 and Javadoc.
        (YYParser constructor): Correct Javadoc parameter name.


diff --git a/data/lalr1.java b/data/lalr1.java
index df87d7b..1466b37 100644
--- a/data/lalr1.java
+++ b/data/lalr1.java
@@ -1,6 +1,6 @@
 # Java skeleton for Bison -*- autoconf -*-

-# Copyright (C) 2007 Free Software Foundation, Inc.
+# Copyright (C) 2007, 2008 Free Software Foundation, Inc.

 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -25,14 +25,14 @@ m4_ifval(m4_defn([b4_symbol_destructors]),
 m4_divert_push(0)dnl
 @output(b4_parser_file_name@)
 b4_copyright([Skeleton implementation for Bison LALR(1) parsers in Java],
-  [2007])
+  [2007, 2008])

 b4_percent_define_ifdef([package], [package b4_percent_define_get([package]);
 ])[/* First part of user declarations.  */
 ]b4_pre_prologue
 b4_percent_code_get([[imports]])
 [/**
- * A Bison parser, automatically generated from <tt>@ofile@</tt>.
+ * A Bison parser, automatically generated from <tt>]m4_bpatsubst(b4_file_name, 
[^"\(.*\)"$], [\1])[</tt>.
  *
  * @@author LALR (1) parser skeleton written by Paolo Bonzini.
  */
@@ -67,7 +67,7 @@ b4_locations_if([[
     /**
      * Create a <code>]b4_location_type[</code> from the endpoints of the 
range.
      * @@param begin The first position included in the range.
-     * @@param begin The first position beyond the range.  */
+     * @@param end   The first position beyond the range.  */
     public ]b4_location_type[ (]b4_position_type[ begin, ]b4_position_type[ 
end) {
       this.begin = begin;
       this.end = end;
@@ -99,7 +99,7 @@ b4_token_enums(b4_tokens)
       return new ]b4_location_type[ (rhs.locationAt (1).begin, rhs.locationAt 
(n).end);
     else
       return new ]b4_location_type[ (rhs.locationAt (0).end);
-  }]])
+  }]])[

   /**
    * Communication interface between the scanner and the Bison-generated
@@ -133,7 +133,7 @@ b4_token_enums(b4_tokens)
      * ]b4_locations_if([ referring to the given location])[in a user-defined
      * way.
      *
-     * ]b4_locations_if([loc], [[The location of the element to which the
+     * ]b4_locations_if([[@@param loc The location of the element to which the
      *                error message is related]])[
      * @@param s The string for the error message.  */
      void yyerror (]b4_locations_if([b4_location_type[ loc, ]])[String s);]
@@ -160,7 +160,7 @@ b4_lexer_if([[

   /**
    * Instantiates the Bison-generated parser.
-   * @@param yylex The scanner that will supply tokens to the parser.
+   * @@param yylexer The scanner that will supply tokens to the parser.
    */
   b4_lexer_if([[protected]], [[public]]) b4_parser_class_name[ 
(]b4_parse_param_decl([[Lexer yylexer]])[) {
     this.yylexer = yylexer;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]