src/HOL/TPTP/TPTP_Parser/README
author wenzelm
Sun, 27 Jul 2014 15:40:19 +0200
changeset 57821 f11f3d7589b1
parent 46846 9e99afaade17
child 57797 7d319d6ccde0
permissions -rw-r--r--
Added tag Isabelle2014-RC1 for changeset c0fd03d13d28
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     1
The TPTP parser is generated using ML-Yacc and relies on the ML-Yacc
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     2
library to function. The ML-Yacc library is an external piece of
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     3
software that needs a small modification for use in Isabelle. The
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     4
relationship between Isabelle and ML-Yacc is similar to that with
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     5
Metis (see src/Tools/Metis).
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     6
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     7
The file "make_tptp_parser" generates the TPTP parser and patches it
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     8
to conform to Isabelle's naming conventions.
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     9
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    10
In order to generate the parser from its lex/yacc definition you need
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    11
to have the ML-Yacc binaries. The sources can be downloaded via SVN as
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    12
follows:
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    13
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    14
 svn co --username anonsvn \
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    15
 https://smlnj-gforge.cs.uchicago.edu/svn/smlnj/ml-yacc/trunk ml-yacc
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    16
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    17
ML-Yacc is usually distributed with Standard ML of New Jersey, and its
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    18
binaries can also be obtained as packages for some distributions of
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    19
Linux. The script "make_tptp_parser" will produce a file called
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    20
tptp_lexyacc.ML -- this is a compilation of the SML files (generated
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    21
by ML-Yacc) making up the TPTP parser.
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    22
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    23
The generated parser needs ML-Yacc's library. This is distributed with
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    24
ML-Yacc's source code, in the lib/ directory. The ML-Yacc library
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    25
cannot be used directly and must be patched. The script
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    26
"make_mlyacclib" takes the ML-Yacc library (for instance, as
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    27
downloaded from the ML-Yacc repo) and produces the file ml_yacc_lib.ML
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    28
-- this is a compilation of slightly modified files making up
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    29
ML-Yacc's library.
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    30
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    31
Nik Sultana
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    32
9th March 2012