From 87328b9331d17413f2815770b7184e76c8cd84d6 Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Mon, 23 May 2011 00:26:23 +0300 Subject: Rename mkunroll source file and folder to meaningful names --- tools/Executable_mkunroll.mk | 2 +- tools/bootstrp/addexes2/mkfilt.cxx | 245 ----------------------------------- tools/bootstrp/mkunroll/mkunroll.cxx | 245 +++++++++++++++++++++++++++++++++++ 3 files changed, 246 insertions(+), 246 deletions(-) delete mode 100644 tools/bootstrp/addexes2/mkfilt.cxx create mode 100644 tools/bootstrp/mkunroll/mkunroll.cxx diff --git a/tools/Executable_mkunroll.mk b/tools/Executable_mkunroll.mk index fb3662c1740a..3aa74bc160ea 100644 --- a/tools/Executable_mkunroll.mk +++ b/tools/Executable_mkunroll.mk @@ -47,7 +47,7 @@ $(eval $(call gb_Executable_add_linked_libs,mkunroll,\ )) $(eval $(call gb_Executable_add_exception_objects,mkunroll,\ - tools/bootstrp/addexes2/mkfilt \ + tools/bootstrp/mkunroll/mkunroll \ )) $(eval $(call gb_Executable_add_linked_static_libs,rscdep,\ diff --git a/tools/bootstrp/addexes2/mkfilt.cxx b/tools/bootstrp/addexes2/mkfilt.cxx deleted file mode 100644 index ff958ba8e717..000000000000 --- a/tools/bootstrp/addexes2/mkfilt.cxx +++ /dev/null @@ -1,245 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * 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 - * - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_tools.hxx" - -#include - -#include <../../inc/tools/string.hxx> -#include - -class TextFilter -{ -protected: - FILE *pIn, *pOut; - virtual void Filter(); -public: - TextFilter( ByteString aInFile = "stdin", - ByteString aOutFile = "stdout" ); - virtual ~TextFilter(); - - virtual void Execute(); -}; - -TextFilter::TextFilter( ByteString aInFile, ByteString aOutFile ) -{ - if ( aInFile == "stdin" ) - pIn = stdin; - else - if (( pIn = fopen( aInFile.GetBuffer(), "r" )) == NULL ) - printf( "Can't read %s\n", aInFile.GetBuffer() ); - - if ( aOutFile == "stdout" ) - pOut = stdout; - else - if (( pOut = fopen( aOutFile.GetBuffer(), "w" )) == NULL ) - printf( "Can't write %s\n", aOutFile.GetBuffer() ); -} - -TextFilter::~TextFilter() -{ - fclose( pOut ); - fclose( pIn ); -} - -void TextFilter::Execute() -{ - Filter(); -} - -void TextFilter::Filter() -{ - int c; - while ( (c = fgetc( pIn )) != EOF ) - fputc( c, pOut ); -} - -#define LINE_LEN 2048 - -class MkLine; -typedef ::std::vector< MkLine* > ByteStringList; - -class MkLine -{ -public: - ByteString aLine; - ByteStringList* pPrivateTnrLst; - sal_Bool bOut; - sal_Bool bHier; - - MkLine(); -}; - -MkLine::MkLine() -{ - bOut = sal_False; - bHier = sal_False; - pPrivateTnrLst = NULL; -} - - -class MkFilter : public TextFilter -{ - static ByteString aTnr; - ByteStringList *pLst; - ByteStringList *pTnrLst; -protected: - virtual void Filter(); -public: - MkFilter( ByteString aInFile = "stdin", ByteString aOutFile = "stdout"); - ~MkFilter(); -}; - -MkFilter::MkFilter( ByteString aInFile, ByteString aOutFile ) : - TextFilter( aInFile, aOutFile ) -{ - pLst = new ByteStringList; - pTnrLst = new ByteStringList; -} - -MkFilter::~MkFilter() -{ - for ( size_t i = 0, n = pTnrLst->size(); i < n; ++i ) { - delete (*pTnrLst)[ i ]; - } - delete pTnrLst; - for ( size_t i = 0, n = pLst->size(); i < n; ++i ) { - delete (*pLst)[ i ]; - } - delete pLst; -} - -ByteString MkFilter::aTnr="$(TNR)"; - -void MkFilter::Filter() -{ - char aLineBuf[LINE_LEN]; - int nState = 0; - - while(( fgets(aLineBuf, LINE_LEN, pIn)) != NULL ) - { - ByteString aLine( aLineBuf ); - if ( aLine.Search("mkfilter1" ) != STRING_NOTFOUND ) - { - // Zeilen unterdruecken - fprintf( stderr, "mkfilter1\n" ); - nState = 0; - } - else if ( aLine.Search("unroll begin" ) != STRING_NOTFOUND ) - { - // Zeilen raus schreiben mit ersetzen von $(TNR) nach int n - fprintf( stderr, "\nunroll begin\n" ); - nState = 1; - } - - if ( nState == 0 ) - { - fprintf( stderr, "." ); - MkLine *pMkLine = new MkLine(); - pMkLine->aLine = aLineBuf; - pMkLine->bOut = sal_False; - - pLst->push_back( pMkLine ); - } - else if ( nState == 1 ) - { - sal_Bool bInTnrList = sal_True; - fprintf( stderr, ":" ); - MkLine *pMkLine = new MkLine(); - if ( aLine.Search("unroll end") != STRING_NOTFOUND ) - { - fprintf( stderr, ";\nunroll end\n" ); - MkLine *p_MkLine = new MkLine(); - p_MkLine->bHier = sal_True; - p_MkLine->aLine = ByteString("# do not delete this line === mkfilter3i\n"); - p_MkLine->bOut = sal_False; - p_MkLine->pPrivateTnrLst = pTnrLst; - pTnrLst = new ByteStringList(); - pLst->push_back( p_MkLine ); - nState = 0; - bInTnrList = sal_False; - } - pMkLine->aLine = ByteString( aLineBuf ); - pMkLine->bOut = sal_False; - - if ( bInTnrList ) - pTnrLst->push_back( pMkLine ); - } - else { - /* Zeilen ignorieren */; - } - } // End Of File - fprintf( stderr, "\n" ); - - // das File wieder ausgegeben - size_t nLines = pLst->size(); - for ( size_t j=0; jbHier ) - { - // die List n - Mal abarbeiten - for ( sal_uInt16 n=1; n<11; n++) - { - size_t nCount = pLine->pPrivateTnrLst->size(); - for ( size_t i=0; ipPrivateTnrLst)[ i ]; - ByteString aLine = pMkLine->aLine; - while( aLine.SearchAndReplace( aTnr, ByteString::CreateFromInt32( n )) != (sal_uInt16)-1 ) ; - fputs( aLine.GetBuffer(), pOut ); - fprintf( stderr, "o" ); - } - } - if ( pLine->pPrivateTnrLst != NULL ) { - for ( size_t i = 0, n = pLine->pPrivateTnrLst->size(); i < n; ++i ) { - delete (*pLine->pPrivateTnrLst)[ i ]; - } - delete pLine->pPrivateTnrLst; - } - pLine->pPrivateTnrLst = NULL; - } - if ( pLine->bOut ) - fputs(pLine->aLine.GetBuffer(), pOut ); - } - fprintf( stderr, "\n" ); -} - -int main() -{ - int nRet = 0; - - TextFilter *pFlt = new MkFilter(); - pFlt->Execute(); - delete pFlt; - - return nRet; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/tools/bootstrp/mkunroll/mkunroll.cxx b/tools/bootstrp/mkunroll/mkunroll.cxx new file mode 100644 index 000000000000..ff958ba8e717 --- /dev/null +++ b/tools/bootstrp/mkunroll/mkunroll.cxx @@ -0,0 +1,245 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* + * + * 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 + * + * for a copy of the LGPLv3 License. + * + ************************************************************************/ + +// MARKER(update_precomp.py): autogen include statement, do not remove +#include "precompiled_tools.hxx" + +#include + +#include <../../inc/tools/string.hxx> +#include + +class TextFilter +{ +protected: + FILE *pIn, *pOut; + virtual void Filter(); +public: + TextFilter( ByteString aInFile = "stdin", + ByteString aOutFile = "stdout" ); + virtual ~TextFilter(); + + virtual void Execute(); +}; + +TextFilter::TextFilter( ByteString aInFile, ByteString aOutFile ) +{ + if ( aInFile == "stdin" ) + pIn = stdin; + else + if (( pIn = fopen( aInFile.GetBuffer(), "r" )) == NULL ) + printf( "Can't read %s\n", aInFile.GetBuffer() ); + + if ( aOutFile == "stdout" ) + pOut = stdout; + else + if (( pOut = fopen( aOutFile.GetBuffer(), "w" )) == NULL ) + printf( "Can't write %s\n", aOutFile.GetBuffer() ); +} + +TextFilter::~TextFilter() +{ + fclose( pOut ); + fclose( pIn ); +} + +void TextFilter::Execute() +{ + Filter(); +} + +void TextFilter::Filter() +{ + int c; + while ( (c = fgetc( pIn )) != EOF ) + fputc( c, pOut ); +} + +#define LINE_LEN 2048 + +class MkLine; +typedef ::std::vector< MkLine* > ByteStringList; + +class MkLine +{ +public: + ByteString aLine; + ByteStringList* pPrivateTnrLst; + sal_Bool bOut; + sal_Bool bHier; + + MkLine(); +}; + +MkLine::MkLine() +{ + bOut = sal_False; + bHier = sal_False; + pPrivateTnrLst = NULL; +} + + +class MkFilter : public TextFilter +{ + static ByteString aTnr; + ByteStringList *pLst; + ByteStringList *pTnrLst; +protected: + virtual void Filter(); +public: + MkFilter( ByteString aInFile = "stdin", ByteString aOutFile = "stdout"); + ~MkFilter(); +}; + +MkFilter::MkFilter( ByteString aInFile, ByteString aOutFile ) : + TextFilter( aInFile, aOutFile ) +{ + pLst = new ByteStringList; + pTnrLst = new ByteStringList; +} + +MkFilter::~MkFilter() +{ + for ( size_t i = 0, n = pTnrLst->size(); i < n; ++i ) { + delete (*pTnrLst)[ i ]; + } + delete pTnrLst; + for ( size_t i = 0, n = pLst->size(); i < n; ++i ) { + delete (*pLst)[ i ]; + } + delete pLst; +} + +ByteString MkFilter::aTnr="$(TNR)"; + +void MkFilter::Filter() +{ + char aLineBuf[LINE_LEN]; + int nState = 0; + + while(( fgets(aLineBuf, LINE_LEN, pIn)) != NULL ) + { + ByteString aLine( aLineBuf ); + if ( aLine.Search("mkfilter1" ) != STRING_NOTFOUND ) + { + // Zeilen unterdruecken + fprintf( stderr, "mkfilter1\n" ); + nState = 0; + } + else if ( aLine.Search("unroll begin" ) != STRING_NOTFOUND ) + { + // Zeilen raus schreiben mit ersetzen von $(TNR) nach int n + fprintf( stderr, "\nunroll begin\n" ); + nState = 1; + } + + if ( nState == 0 ) + { + fprintf( stderr, "." ); + MkLine *pMkLine = new MkLine(); + pMkLine->aLine = aLineBuf; + pMkLine->bOut = sal_False; + + pLst->push_back( pMkLine ); + } + else if ( nState == 1 ) + { + sal_Bool bInTnrList = sal_True; + fprintf( stderr, ":" ); + MkLine *pMkLine = new MkLine(); + if ( aLine.Search("unroll end") != STRING_NOTFOUND ) + { + fprintf( stderr, ";\nunroll end\n" ); + MkLine *p_MkLine = new MkLine(); + p_MkLine->bHier = sal_True; + p_MkLine->aLine = ByteString("# do not delete this line === mkfilter3i\n"); + p_MkLine->bOut = sal_False; + p_MkLine->pPrivateTnrLst = pTnrLst; + pTnrLst = new ByteStringList(); + pLst->push_back( p_MkLine ); + nState = 0; + bInTnrList = sal_False; + } + pMkLine->aLine = ByteString( aLineBuf ); + pMkLine->bOut = sal_False; + + if ( bInTnrList ) + pTnrLst->push_back( pMkLine ); + } + else { + /* Zeilen ignorieren */; + } + } // End Of File + fprintf( stderr, "\n" ); + + // das File wieder ausgegeben + size_t nLines = pLst->size(); + for ( size_t j=0; jbHier ) + { + // die List n - Mal abarbeiten + for ( sal_uInt16 n=1; n<11; n++) + { + size_t nCount = pLine->pPrivateTnrLst->size(); + for ( size_t i=0; ipPrivateTnrLst)[ i ]; + ByteString aLine = pMkLine->aLine; + while( aLine.SearchAndReplace( aTnr, ByteString::CreateFromInt32( n )) != (sal_uInt16)-1 ) ; + fputs( aLine.GetBuffer(), pOut ); + fprintf( stderr, "o" ); + } + } + if ( pLine->pPrivateTnrLst != NULL ) { + for ( size_t i = 0, n = pLine->pPrivateTnrLst->size(); i < n; ++i ) { + delete (*pLine->pPrivateTnrLst)[ i ]; + } + delete pLine->pPrivateTnrLst; + } + pLine->pPrivateTnrLst = NULL; + } + if ( pLine->bOut ) + fputs(pLine->aLine.GetBuffer(), pOut ); + } + fprintf( stderr, "\n" ); +} + +int main() +{ + int nRet = 0; + + TextFilter *pFlt = new MkFilter(); + pFlt->Execute(); + delete pFlt; + + return nRet; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit