src/HOL/TPTP/TPTP_Parser/make_tptp_parser
author sultana
Tue, 03 Apr 2012 17:33:22 +0100
changeset 47316 15428dd82b54
parent 46846 9e99afaade17
child 53498 05313b45a5ae
permissions -rwxr-xr-x
removed use of CharVector in generated parser, to make SMLNJ happy
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     1
#!/bin/bash
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     2
#
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     3
# make_tptp_parser - Runs ML-Yacc to generate TPTP parser and makes it
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
     4
#                    Isabelle-friendly.
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     5
#
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     6
# This code is based on that used in src/Tools/Metis to adapt Metis for
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     7
# use in Isabelle.
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     8
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
     9
INTERMEDIATE_FILES="tptp.yacc.sig tptp.lex.sml tptp.yacc.sml"
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    10
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    11
echo "Cleaning"
46846
9e99afaade17 split make_tptp_parser into two scripts, for parser and lib respectively;
sultana
parents: 46844
diff changeset
    12
rm -f tptp_lexyacc.ML
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    13
echo "Generating lexer and parser"
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    14
ml-lex tptp.lex && ml-yacc tptp.yacc
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    15
echo "Generating tptp_lexyacc.ML"
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    16
(
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    17
  cat <<EOF
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    18
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    19
(******************************************************************)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    20
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    21
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    22
(* GENERATED FILE -- DO NOT EDIT -- GENERATED FILE -- DO NOT EDIT *)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    23
(******************************************************************)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    24
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    25
(*
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    26
  This file is produced from the parser generated by ML-Yacc from the
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    27
  source files tptp.lex and tptp.yacc.
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    28
*)
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    29
EOF
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    30
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    31
for FILE in $INTERMEDIATE_FILES
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    32
do
47316
15428dd82b54 removed use of CharVector in generated parser, to make SMLNJ happy
sultana
parents: 46846
diff changeset
    33
  perl -p -e 's/\bref\b/Unsynchronized.ref/g;' \
15428dd82b54 removed use of CharVector in generated parser, to make SMLNJ happy
sultana
parents: 46846
diff changeset
    34
          -e 's/Unsafe\.(.*)/\1/g;' \
15428dd82b54 removed use of CharVector in generated parser, to make SMLNJ happy
sultana
parents: 46846
diff changeset
    35
          -e 's/\b(Char\.ord\()CharVector\.sub\b/\1String\.sub/g;' $FILE
46844
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    36
done
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    37
) > tptp_lexyacc.ML
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    38
5d9aab0c609c added tptp parser;
sultana
parents:
diff changeset
    39
rm -f $INTERMEDIATE_FILES tptp.yacc.desc