Loading ...
Sorry, an error occurred while loading the content.
 

ocamlyacc help

Expand Messages
  • Jeff Massung
    So, I have a situation where I have a base type being used by both the whole program and the parser (a lexeme type). So, in my .mly file I have the following:
    Message 1 of 3 , Jul 20, 2011
      So, I have a situation where I have a base type being used by both the whole
      program and the parser (a lexeme type). So, in my .mly file I have the
      following:

      %{
      open Types
      %}

      %type <Types.lexeme> program
      %start program


      The problem is, when I got to compile, I get an error in the MLI file
      generated, saying that Types.lexeme is an unbound type constructor. The
      "open Types" didn't get put into the parser.ml file either (which I expected
      to happen).

      I'm sure this is a simple problem w/o a trivial solution, but I've been
      scowering "the internets" without much success in finding it.

      Any help appreciated.

      Thanks!

      Jeff M.


      [Non-text portions of this message have been removed]
    • Jeff Massung
      Sorry, I should clarify this some. If I clean everything and make from scratch, everything builds fine. If I modify something (like deleting the .ml or .mli
      Message 2 of 3 , Jul 20, 2011
        Sorry, I should clarify this some. If I clean everything and make from
        scratch, everything builds fine. If I modify something (like deleting the
        .ml or .mli file generated by ocamlyacc) and make again, then I get the
        error below.

        Jeff M.

        On Wed, Jul 20, 2011 at 10:57 AM, Jeff Massung <massung@...> wrote:

        > **
        >
        >
        > So, I have a situation where I have a base type being used by both the
        > whole
        > program and the parser (a lexeme type). So, in my .mly file I have the
        > following:
        >
        > %{
        > open Types
        > %}
        >
        > %type <Types.lexeme> program
        > %start program
        >
        > The problem is, when I got to compile, I get an error in the MLI file
        > generated, saying that Types.lexeme is an unbound type constructor. The
        > "open Types" didn't get put into the parser.ml file either (which I
        > expected
        > to happen).
        >
        >
        >


        [Non-text portions of this message have been removed]
      • Chantal KELLER
        Hello, ... Then the problem comes from dependencies in your Makefile... Can you post it ? By the way, I recommand using OMake
        Message 3 of 3 , Jul 21, 2011
          Hello,

          Le 20/07/2011 19:15, Jeff Massung a écrit :
          > Sorry, I should clarify this some. If I clean everything and make from
          > scratch, everything builds fine. If I modify something (like deleting the
          > .ml or .mli file generated by ocamlyacc) and make again, then I get the
          > error below.

          Then the problem comes from dependencies in your Makefile... Can you
          post it ?

          By the way, I recommand using OMake
          <http://omake.metaprl.org/index.html> to compile OCaml projects.
          --
          Chantal KELLER
        Your message has been successfully submitted and would be delivered to recipients shortly.
        »
        «