diff options
Diffstat (limited to 'autodoc/inc/parser')
-rw-r--r-- | autodoc/inc/parser/parser.hxx | 57 | ||||
-rw-r--r-- | autodoc/inc/parser/parserinfo.hxx | 64 | ||||
-rw-r--r-- | autodoc/inc/parser/unoidl.hxx | 79 |
3 files changed, 200 insertions, 0 deletions
diff --git a/autodoc/inc/parser/parser.hxx b/autodoc/inc/parser/parser.hxx new file mode 100644 index 000000000000..ad5f9a7adac4 --- /dev/null +++ b/autodoc/inc/parser/parser.hxx @@ -0,0 +1,57 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ADC_PARSER_HXX +#define ADC_PARSER_HXX + + + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + +namespace autodoc +{ + class FileCollector_Ifc; +} + + +class CodeParser +{ + public: + virtual ~CodeParser() {} + + virtual void Run( + const autodoc::FileCollector_Ifc & + i_rFiles ) = 0; +}; + + + +#endif + diff --git a/autodoc/inc/parser/parserinfo.hxx b/autodoc/inc/parser/parserinfo.hxx new file mode 100644 index 000000000000..3afe646dd4f0 --- /dev/null +++ b/autodoc/inc/parser/parserinfo.hxx @@ -0,0 +1,64 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ADC_PARSERINFO_HXX +#define ADC_PARSERINFO_HXX + +// USED SERVICES + // BASE CLASSES + // COMPONENTS + // PARAMETERS + +/** Interface about current state of parsing. +*/ +class ParserInfo +{ + public: + // OPERATIONS + void Set_CurFile( + const String & i_file, + bool i_bUseLines = false) + { sCurFile = i_file; + nCurLine = i_bUseLines ? 1 : 0; } + void Increment_CurLine() + { ++nCurLine; } + + // INQUIRY + const String & CurFile() const { return sCurFile; } + uintt CurLine() const { return nCurLine; } + + protected: + // LIFECYCLE + ParserInfo() : sCurFile(), nCurLine(0) {} + ~ParserInfo() {} + private: + String sCurFile; + uintt nCurLine; + +}; + +#endif diff --git a/autodoc/inc/parser/unoidl.hxx b/autodoc/inc/parser/unoidl.hxx new file mode 100644 index 000000000000..2ec434304756 --- /dev/null +++ b/autodoc/inc/parser/unoidl.hxx @@ -0,0 +1,79 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +#ifndef ADC_UNOIDL_HXX +#define ADC_UNOIDL_HXX + + + +// USED SERVICES + // BASE CLASSES +#include <parser/parser.hxx> +#include <parser/parserinfo.hxx> + // COMPONENTS + // PARAMETERS + + +namespace ary +{ + class Repository; +} +namespace autodoc +{ + class FileCollector_Ifc; +} + +namespace autodoc +{ + + +class IdlParser : public ::CodeParser, + public ::ParserInfo +{ + public: + IdlParser( + ary::Repository & io_rRepository ); + + virtual void Run( + const autodoc::FileCollector_Ifc & + i_rFiles ); + + private: + // DATA + ary::Repository * pRepository; +}; + + + +// IMPLEMENTATION + + +} // namespace autodoc + + +#endif + |