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    }