Skip to content
  • François Pottier's avatar
    Install the new system for reporting syntax errors. · f8be3f5f
    François Pottier authored
    This requires the development version of Menhir, to be released soon.
    In summary:
    
    handcrafted.messages is new.
      It contains a mapping of erroneous sentences to error messages,
      together with a lot of comments.
    
    Makefile.extr is new.
      It contains a rule to generate cparser/pre_parser_messages.ml
      based on this mapping.
    
    cparser/ErrorReports.{ml,mli} are new.
      They construct syntax error messages, based on the compiled mapping.
    
    cparser/Lexer.mll is modified.
      The last two tokens that have been read are stored in a buffer.
      ErrorReports is called to construct a syntax error message.
    
    cparser/GNUmakefile is new.
      It offers several commands for working on the pre-parser.
    
    cparser/deLexer.ml is new.
      It is a script (it is not linked into CompCert).
      It translates the symbolic name of a token to an example of this
      token in concrete C syntax.
      It is used by [make -C cparser concrete] to produce the .c files
      in tests/generated/.
    
    cparser/tests/generated/Makefile is new.
      It runs ccomp, clang and gcc on each of the generated C files,
      so as to allow a comparison of the error messages.
    f8be3f5f