    001    // This file is part of the Attempto Java Packages.
    002    // Copyright 2008, Attempto Group, University of Zurich (see http://attempto.ifi.uzh.ch).
    003    //
    004    // The Attempto Java Packages is free software: you can redistribute it and/or modify it under the
    005    // terms of the GNU Lesser General Public License as published by the Free Software Foundation,
    006    // either version 3 of the License, or (at your option) any later version.
    007    //
    008    // The Attempto Java Packages is distributed in the hope that it will be useful, but WITHOUT ANY
    009    // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
    010    // PURPOSE. See the GNU Lesser General Public License for more details.
    011    //
    012    // You should have received a copy of the GNU Lesser General Public License along with the Attempto
    013    // Java Packages. If not, see http://www.gnu.org/licenses/.
    014
    015    package ch.uzh.ifi.attempto.ape;
    016
    017    /**
    018     * This enumeration lists all the possible outputs of the ACE parser.
    019     *
    020     * @author Tobias Kuhn
    021     */
    022    public enum OutputType {
    023
    024            /**
    025             * The discourse representation structure (DRS) as a Prolog term.
    026             */
    027            DRS,
    028
    029            /**
    030             * The DRS in XML.
    031             */
    032            DRSXML,
    033
    034            /**
    035             * The DRS in pretty-printed form in plain text.
    036             */
    037            DRSPP,
    038
    039            /**
    040             * The DRS in pretty-printed form in HTML.
    041             */
    042            DRSHTML,
    043
    044            /**
    045             * A paraphrase which is a "best-effort" combination of PARAPHRASE1 and PARAPHRASE2.
    046             */
    047            PARAPHRASE,
    048
    049            /**
    050             * A paraphrase which uses full sentences instead of relative clauses.
    051             */
    052            PARAPHRASE1,
    053
    054            /**
    055             * A paraphrase which uses relative clauses instead of full sentences.
    056             */
    057            PARAPHRASE2,
    058
    059            /**
    060             * Tokens as a Prolog list of lists.
    061             */
    062            TOKENS,
    063
    064            /**
    065             * Sentences as a Prolog list.
    066             */
    067            SENTENCES,
    068
    069            /**
    070             * Simplified syntax trees as a Prolog list.
    071             */
    072            SYNTAX,
    073
    074            /**
    075             * Simplified syntax trees in pretty-printed form.
    076             */
    077            SYNTAXPP,
    078
    079            /**
    080             * Plain syntax trees as a Prolog list (for debugging).
    081             */
    082            SYNTAXD,
    083
    084            /**
    085             * Plain syntax trees in pretty-printed form (for debugging).
    086             */
    087            SYNTAXDPP,
    088
    089            /**
    090             * OWL 2 in the Functional-Style Syntax representation.
    091             */
    092            OWLFSS,
    093
    094            /**
    095             * OWL 2 in the RDF/XML representation.
    096             */
    097            OWLRDF,
    098
    099            /**
    100             * Output OWL 2 in the XML representation.
    101             */
    102            OWLXML,
    103
    104            /**
    105             * Standard first-order logic representation (default form) of the DRS as a Prolog term.
    106             */
    107            FOL,
    108
    109            /**
    110             * Standard first-order logic representation (prenex normal form) of the DRS as a Prolog term.
    111             */
    112            PNF;
    113
    114            /**
    115             *
    116             * @return flag used to pass the parameter to the parser in the solo-mode (e.g. "fol")
    117             */
    118            public String toSoloFlag() {
    119                    return toString().toLowerCase();
    120            }
    121
    122            /**
    123             *
    124             * @return flag used to pass the parameter to the parser in the multi-mode (e.g. "cfol")
    125             */
    126            public String toMultiFlag() {
    127                    return "c" + toSoloFlag();
    128            }
    129    }