1 /*==================================================================== 2 3 OpenCCM: The Open CORBA Component Model Platform 4 Copyright (C) 2000-2004 INRIA & USTL - LIFL - GOAL 5 Contact: openccm@objectweb.org 6 7 This library is free software; you can redistribute it and/or 8 modify it under the terms of the GNU Lesser General Public 9 License as published by the Free Software Foundation; either 10 version 2.1 of the License, or any later version. 11 12 This library is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 Lesser General Public License for more details. 16 17 You should have received a copy of the GNU Lesser General Public 18 License along with this library; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 20 USA 21 22 Initial developer(s): Christophe Demarey, Philippe Merle. 23 Contributor(s): ______________________________________. 24 25 ====================================================================*/ 26 27 package org.objectweb.openccm.command.api; 28 29 /** 30 * Base interface for compiler commands. 31 * 32 * @author <a HREF="mailto:Christophe.Demarey@lifl.fr">Christophe Demarey</a> 33 * <a HREF="mailto:Philippe.Merle@lifl.fr">Philippe Merle</a> 34 * 35 * @version 1.0 36 */ 37 38 public interface Compiler 39 extends CommandOnAST 40 { 41 /** 42 * Compiles the OMG IDL file and feeds the OpenCCM's Interface Repository. 43 * 44 * @param filename The file name to compile. 45 * 46 * @return The associated AST FileScope if ok, or else null. 47 */ 48 public org.objectweb.openccm.ast.api.FileScope 49 compile(String filename); 50 51 /** 52 * Gets the preprocessor of the compiler. 53 * 54 * @return The preprocessor. 55 */ 56 public org.objectweb.util.cpp.api.PreprocessorApplication 57 getPreprocessorApplication(); 58 } 59