<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    On 12-02-24 02:25 PM, Ran Benita wrote:
    <blockquote cite="mid:20120224192541.GA3618@ran" type="cite">
      <pre wrap="">On Fri, Feb 24, 2012 at 10:16:39AM -0500, Gaetan Nadon wrote:
</pre>
      <blockquote type="cite">
        <pre wrap="">On 12-02-23 07:58 PM, Ran Benita wrote:
</pre>
        <blockquote type="cite">
          <pre wrap="">- I couldn't figure out the coding style (there seems to be use of
  *all* of them...), so I just tried to match the surroundings.
- I've been using libxkbcommon for some time and I have some more
  patches laying around. I can send them too if all is well.

</pre>
        </blockquote>
        <pre wrap="">These look perfect to me. I build them on Linux with bison 2.4.1 and
flex 2.5.35.
I don't know if there could be differences on other platforms such as
Solaris, *BSD MAC, it does not look like there would be any bison/flex
specific features being used.

The title of the e-mail makes it sound like you are using features that
are specific to flex &amp; bison as opposed to lex &amp; yacc. You are also
saying you are breaking compatibility with lex &amp; yacc, I am confused. I
suppose you are aware that this library builds on multiple platforms
with a variety of scanner/lexer. We document the tools requirements in
<a class="moz-txt-link-freetext" href="http://www.x.org/wiki/ModularDevelopersGuide#Required_Tools">http://www.x.org/wiki/ModularDevelopersGuide#Required_Tools</a>, but it is
not very clear in this case.
</pre>
      </blockquote>
      <pre wrap="">
Thanks for the link. I wasn't previously aware of byacc; I tried it now.
The first patch works fine, but the second does rely on a bison-only
feature (the YYLTYPE location stuff). But does the link mean that I
should refactor the code to work with byacc as well (probably possible
with some #ifdef's)? I would imagine that if flex is required for a
given platform (as per the link), than bison should be available as
well. I can also add some configure checks if necessary.</pre>
    </blockquote>
    We don't have an exact account of which scanner/lexer tool is used
    on which platform. I guess it has been trial and error, or some
    people know but it's not written down. To help the research, here
    are the X.Org modules that use lex &amp; yacc tools. You can compare
    to see if they use bison specific features.<br>
    <blockquote>xserver<br>
      lib/libXaw3d<br>
      app/xkbcomp<br>
      app/xgc<br>
      app/xkbevd<br>
      app/twm<br>
    </blockquote>
    Note that the AC_PROG_YACC and AC_PROG_LEX macros job is to test for
    the presence of such tools by trying various names. In the Makefile
    you can see the tool name that was found, in my case:<br>
    <blockquote>YACC = bison -y<br>
      LEX = flex<br>
    </blockquote>
    I know that not all platforms use the GNU compiler, so I guess it
    would be the same for lex &amp; yacc. Hopefully others will shed
    some light on this.<br>
    <br>
    <blockquote cite="mid:20120224192541.GA3618@ran" type="cite">
      <pre wrap="">

</pre>
      <blockquote type="cite">
        <pre wrap="">One should run 'make maintainer-clean' to remove the old generated code.
Ping me if you need someone to push the patches after review.

Acked-by: Gaetan Nadon<a class="moz-txt-link-rfc2396E" href="mailto:memsize@videotron.ca">&lt;memsize@videotron.ca&gt;</a>
</pre>
      </blockquote>
      <pre wrap="">
Great!

</pre>
    </blockquote>
    <br>
  </body>
</html>