src/HOL/TPTP/TPTP_Parser/README
changeset 46844 5d9aab0c609c
child 46846 9e99afaade17
equal deleted inserted replaced
46843:8d5d255bf89c 46844:5d9aab0c609c
       
     1 The TPTP parser is generated using ML-Yacc and relies on the ML-Yacc
       
     2 library to function. The ML-Yacc library is an external piece of
       
     3 software that needs a small modification for use in Isabelle.  The
       
     4 file "make_tptp_parser" patches the ML-Yacc library, generates the
       
     5 TPTP parser, and patches that to conform to Isabelle's naming
       
     6 conventions.
       
     7 
       
     8 In order to generate the parser from its lex/yacc definition you need
       
     9 to have the ML-Yacc binaries. The sources can be downloaded via SVN as
       
    10 follows:
       
    11 
       
    12  svn co --username anonsvn \
       
    13  https://smlnj-gforge.cs.uchicago.edu/svn/smlnj/ml-yacc/trunk ml-yacc
       
    14 
       
    15 ML-Yacc is usually distributed with Standard ML of New Jersey, and its
       
    16 binaries can also be obtained as packages for some distributions of
       
    17 Linux.
       
    18 
       
    19 The generated parser needs ML-Yacc's library. This is distributed with
       
    20 ML-Yacc's source code, in the lib/ directory.
       
    21 
       
    22 Assuming that you've got the ml-lex and ml-yacc binaries, and have a
       
    23 copy of the ML-Yacc sources in this directory, then running
       
    24 "make_tptp_parser" will generate two files:
       
    25 
       
    26  ml_yacc_lib.ML -- this is a compilation of slightly modified files
       
    27                    making up ML-Yacc's library.
       
    28 
       
    29  tptp_lexyacc.ML -- this is a compilation of the SML files making up
       
    30                     the TPTP parser.
       
    31 
       
    32 Nik Sultana
       
    33 8th March 2012