Loading ...
Sorry, an error occurred while loading the content.

marf-cvs Digest, Vol 15, Issue 2

Expand Messages
  • marf-cvs-bounces@lists.sourceforge.net
    Send marf-cvs mailing list submissions to marf-cvs@lists.sourceforge.net To subscribe or unsubscribe via the World Wide Web, visit
    Message 1 of 1 , Feb 3, 2008
    • 0 Attachment
      Send marf-cvs mailing list submissions to
      marf-cvs@...

      To subscribe or unsubscribe via the World Wide Web, visit
      https://lists.sourceforge.net/lists/listinfo/marf-cvs
      or, via email, send a message with subject or body 'help' to
      marf-cvs-request@...

      You can reach the person managing the list at
      marf-cvs-owner@...

      When replying, please edit your Subject line so it is more specific
      than "Re: Contents of marf-cvs digest..."


      The MARF CVS Commit Log Digest
      Dispatched daily or when the size reaches 150k
      ----------------------------------------------

      Today's Topics:

      1. marf/src/marf/util/comparators FrequencyComparator.java,
      1.14, 1.14.14.1 RankComparator.java, 1.13, 1.13.14.1
      ResultComparator.java, 1.14, 1.14.14.1 (Serguei A. Mokhov)
      2. marf/src/marf/nlp/Parsing Compiler.java, 1.15, 1.15.10.1
      CompilerError.java, 1.17, 1.17.10.1 FuncSymTabEntry.java, 1.10,
      1.10.12.1 GenericLexicalAnalyzer.java, 1.17, 1.17.10.1
      LexicalAnalyzer.java, 1.19, 1.19.10.1 LexicalError.java, 1.18,
      1.18.10.1 Parser.java, 1.23, 1.23.10.1 ProbabilisticParser.java,
      1.30, 1.30.12.1 SemanticError.java, 1.15, 1.15.12.1
      SymDataType.java, 1.10, 1.10.10.1 SymTabEntry.java, 1.12,
      1.12.10.1 SymbolTable.java, 1.16, 1.16.10.1 SyntaxError.java,
      1.19, 1.19.10.1 Token.java, 1.20, 1.20.10.1 TokenSubType.java,
      1.15, 1.15.10.1 TokenType.java, 1.14, 1.14.10.1
      TransitionTable.java, 1.14, 1.14.12.1 VarSymTabEntry.java, 1.8,
      1.8.12.1 (Serguei A. Mokhov)
      3. marf/src/marf/util Arrays.java, 1.39, 1.39.4.1
      BaseThread.java, 1.17, 1.17.2.1 ByteUtils.java, 1.7, 1.7.2.1
      Debug.java, 1.17, 1.17.10.1 ExpandedThreadGroup.java, 1.14,
      1.14.2.1 FreeVector.java, 1.12, 1.12.14.1
      InvalidSampleFormatException.java, 1.11, 1.11.12.1 Logger.java,
      1.9, 1.9.10.1 MARFException.java, 1.19, 1.19.14.1 Makefile, 1.4,
      1.4.10.1 Matrix.java, 1.14, 1.14.14.1
      NotImplementedException.java, 1.14, 1.14.14.1
      OptionFileLoader.java, 1.1, 1.1.10.1 OptionProcessor.java, 1.37,
      1.37.10.1 SortComparator.java, 1.9, 1.9.12.1 (Serguei A. Mokhov)
      4. apps/ProbabilisticParsingApp Makefile, 1.34, 1.34.10.1
      ProbabilisticParsingApp.java, 1.36, 1.36.10.1 testing.sh, 1.38,
      1.38.10.1 (Serguei A. Mokhov)
      5. apps/LangIdentApp LangIdentApp.java, 1.40, 1.40.10.1
      Makefile, 1.29, 1.29.10.1 README, 1.3, 1.3.10.1 testing.sh, 1.35,
      1.35.10.1 training.sh, 1.7, 1.7.10.1 (Serguei A. Mokhov)
      6. apps Makefile,1.19,1.19.10.1 README,1.6,1.6.10.1
      (Serguei A. Mokhov)
      7. apps/Regression Makefile,1.11,1.11.10.1 (Serguei A. Mokhov)
      8. apps/TestFFT Makefile,1.20,1.20.10.1 (Serguei A. Mokhov)
      9. apps/TestLoaders Makefile,1.11,1.11.10.1 (Serguei A. Mokhov)
      10. apps/TestFilters Makefile, 1.17, 1.17.10.1 TestFilters.jpx,
      1.4, 1.4.10.1 (Serguei A. Mokhov)
      11. apps/TestNN Makefile,1.13,1.13.10.1 (Serguei A. Mokhov)
      12. apps/SpeakerIdentApp Makefile, 1.31, 1.31.10.1 README, 1.13,
      1.13.8.1 SpeakerIdentApp.java, 1.64, 1.64.4.1 testing.bat, 1.13,
      1.13.4.1 testing.sh, 1.43, 1.43.4.1 (Serguei A. Mokhov)
      13. apps/TestMath Makefile, 1.14, 1.14.10.1 MathTestApp.java,
      1.21, 1.21.10.1 (Serguei A. Mokhov)
      14. apps/TestSampleRecorder Makefile,1.3,1.3.10.1 (Serguei A. Mokhov)
      15. apps/TestLPC Makefile,1.15,1.15.10.1 (Serguei A. Mokhov)
      16. apps/TestWaveLoader Makefile, 1.15, 1.15.10.1
      TestWaveLoader.java, 1.14, 1.14.10.1 (Serguei A. Mokhov)
      17. apps/ZipfLawApp Makefile, 1.25, 1.25.10.1 ZipfLaw.java, 1.28,
      1.28.10.1 testing.sh, 1.11, 1.11.10.1 (Serguei A. Mokhov)
      18. marf COPYRIGHT, 1.6, 1.6.10.1 Makefile, 1.25, 1.25.10.1
      marf.jpx, 1.9, 1.9.10.1 (Serguei A. Mokhov)
      19. apps/TestPlugin HashAddFeatureExctractor.java, 1.4, 1.4.10.1
      HashClassifier.java, 1.5, 1.5.10.1 Makefile, 1.11, 1.11.10.1
      RandomPreprocessing.java, 1.4, 1.4.10.1 TestPlugin.java, 1.8,
      1.8.10.1 UnrestrictedWAVLoader.java, 1.3, 1.3.10.1 (Serguei A. Mokhov)


      ----------------------------------------------------------------------

      Message: 1
      Date: Mon, 04 Feb 2008 00:04:15 +0000
      From: "Serguei A. Mokhov" <mokhov@...>
      Subject: [marf-cvs] marf/src/marf/util/comparators
      FrequencyComparator.java, 1.14, 1.14.14.1 RankComparator.java, 1.13,
      1.13.14.1 ResultComparator.java, 1.14, 1.14.14.1
      To: marf-cvs@...
      Message-ID: <E1JLooq-0004KZ-3i@...>

      Update of /cvsroot/marf/marf/src/marf/util/comparators
      In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8766/marf/src/marf/util/comparators

      Modified Files:
      Tag: SOEN490_2007_2008
      FrequencyComparator.java RankComparator.java
      ResultComparator.java
      Log Message:
      Sync HEAD into SOEN490_2007_2008 changes. This primarily includes
      some new modules, such as FFT-based, BandStopFilter, generic Filter
      class, some exceptions work, as ExceptionFactory, MARFRuntimeException,
      IMARFException, and ExceptionUtils. There are a lot of fixes in comments
      for errors in spelling, English, factual information, as well as
      coding conventions made more consistent. Bump up the year to 2008 as well.
      Propagate timing measurment to SpeakerIdentApp and the basic
      noise removal implementation. Update some doc data.
      Fix "occurrence" API in nlp. The rest is purely cosmetic or refactoring.


      Index: FrequencyComparator.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/comparators/FrequencyComparator.java,v
      retrieving revision 1.14
      retrieving revision 1.14.14.1
      diff -C2 -d -r1.14 -r1.14.14.1
      *** FrequencyComparator.java 14 Aug 2005 01:15:57 -0000 1.14
      --- FrequencyComparator.java 4 Feb 2008 00:04:13 -0000 1.14.14.1
      ***************
      *** 1,10 ****
      package marf.util.comparators;

      ! import marf.Stats.WordStats;
      import marf.util.SortComparator;


      /**
      ! * <p>Compare WordStats objects by their frequency when sorting.</p>
      *
      * $Id$
      --- 1,10 ----
      package marf.util.comparators;

      ! import marf.Stats.StatisticalObject;
      import marf.util.SortComparator;


      /**
      ! * <p>Compares StatisticalObjects by their frequency when sorting.</p>
      *
      * $Id$
      ***************
      *** 12,18 ****
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0
      *
      ! * @see WordStats
      */
      public class FrequencyComparator
      --- 12,19 ----
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0.2
      *
      ! * @see StatisticalObject
      ! * @see marf.Stats.WordStats
      */
      public class FrequencyComparator
      ***************
      *** 38,66 ****

      /**
      ! * Implementation of the Comparator interface for the WordStats objects.
      ! * To decide on inequality of the <code>WordStats</code> objects we
      * compare their frequencies only.
      *
      ! * @param poWordStats1 first WordStats object to compare
      ! * @param poWordStats2 second WordStats object to compare
      * @return 0 of the frequencies are equal. Depending on the sort mode; a negative
      ! * value may mean poWordStats1 < poWordStats2 if ASCENDING; or otherwise if DESCENDING
      *
      * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
      ! * @see WordStats
      */
      ! public int compare(Object poWordStats1, Object poWordStats2)
      {
      ! WordStats oWordStats1 = (WordStats)poWordStats1;
      ! WordStats oWordStats2 = (WordStats)poWordStats2;

      switch(this.iSortMode)
      {
      case DESCENDING:
      ! return (oWordStats2.getFrequency() - oWordStats1.getFrequency());

      case ASCENDING:
      default:
      ! return (oWordStats1.getFrequency() - oWordStats2.getFrequency());
      }
      }
      --- 39,67 ----

      /**
      ! * Implementation of the Comparator interface for the StatisticalObjects.
      ! * To decide on inequality of the <code>StatisticalObject</code> objects we
      * compare their frequencies only.
      *
      ! * @param poStatsObject1 first stats object to compare
      ! * @param poStatsObject2 second stats object to compare
      * @return 0 of the frequencies are equal. Depending on the sort mode; a negative
      ! * value may mean poStatsObject1 < poStatsObject2 if ASCENDING; or otherwise if DESCENDING
      *
      * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
      ! * @see StatisticalObject
      */
      ! public int compare(Object poStatsObject1, Object poStatsObject2)
      {
      ! StatisticalObject oStats1 = (StatisticalObject)poStatsObject1;
      ! StatisticalObject oStats2 = (StatisticalObject)poStatsObject2;

      switch(this.iSortMode)
      {
      case DESCENDING:
      ! return (oStats2.getFrequency() - oStats1.getFrequency());

      case ASCENDING:
      default:
      ! return (oStats1.getFrequency() - oStats2.getFrequency());
      }
      }

      Index: RankComparator.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/comparators/RankComparator.java,v
      retrieving revision 1.13
      retrieving revision 1.13.14.1
      diff -C2 -d -r1.13 -r1.13.14.1
      *** RankComparator.java 13 Aug 2005 23:09:39 -0000 1.13
      --- RankComparator.java 4 Feb 2008 00:04:13 -0000 1.13.14.1
      ***************
      *** 13,22 ****
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0
      */
      public class RankComparator
      extends SortComparator
      {
      ! /**
      * For serialization versioning.
      * When adding new members or make other structural
      --- 13,22 ----
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0.2
      */
      public class RankComparator
      extends SortComparator
      {
      ! /**
      * For serialization versioning.
      * When adding new members or make other structural

      Index: ResultComparator.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/comparators/ResultComparator.java,v
      retrieving revision 1.14
      retrieving revision 1.14.14.1
      diff -C2 -d -r1.14 -r1.14.14.1
      *** ResultComparator.java 14 Aug 2005 01:15:57 -0000 1.14
      --- ResultComparator.java 4 Feb 2008 00:04:13 -0000 1.14.14.1
      ***************
      *** 13,22 ****
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0
      */
      public class ResultComparator
      extends SortComparator
      {
      ! /**
      * For serialization versioning.
      * When adding new members or make other structural
      --- 13,22 ----
      * @author Serguei Mokhov
      * @version $Revision$
      ! * @since 0.3.0.2
      */
      public class ResultComparator
      extends SortComparator
      {
      ! /**
      * For serialization versioning.
      * When adding new members or make other structural
      ***************
      *** 47,51 ****
      * @return 0 if the objects are equal, 1 if the 2nd is greater then the 1st
      * under ASCENDING, or the 1st is greater then the 2nd under DESCENDING.
      ! * Otherwise, -2 is returned.
      */
      public int compare(Object poResult1, Object poResult2)
      --- 47,51 ----
      * @return 0 if the objects are equal, 1 if the 2nd is greater then the 1st
      * under ASCENDING, or the 1st is greater then the 2nd under DESCENDING.
      ! * Otherwise, -1 is returned.
      */
      public int compare(Object poResult1, Object poResult2)
      ***************
      *** 59,66 ****
      --- 59,70 ----
      {
      if(oResult1.getOutcome() < oResult2.getOutcome())
      + {
      return 1;
      + }

      if(oResult1.getOutcome() > oResult2.getOutcome())
      + {
      return -1;
      + }

      return 0;
      ***************
      *** 71,78 ****
      --- 75,86 ----
      {
      if(oResult1.getOutcome() < oResult2.getOutcome())
      + {
      return -1;
      + }

      if(oResult1.getOutcome() > oResult2.getOutcome())
      + {
      return 1;
      + }

      return 0;




      ------------------------------

      Message: 2
      Date: Mon, 04 Feb 2008 00:04:13 +0000
      From: "Serguei A. Mokhov" <mokhov@...>
      Subject: [marf-cvs] marf/src/marf/nlp/Parsing Compiler.java, 1.15,
      1.15.10.1 CompilerError.java, 1.17, 1.17.10.1 FuncSymTabEntry.java,
      1.10, 1.10.12.1 GenericLexicalAnalyzer.java, 1.17, 1.17.10.1
      LexicalAnalyzer.java, 1.19, 1.19.10.1 LexicalError.java, 1.18,
      1.18.10.1 Parser.java, 1.23, 1.23.10.1 ProbabilisticParser.java, 1.30,
      1.30.12.1 SemanticError.java, 1.15, 1.15.12.1 SymDataType.java, 1.10,
      1.10.10.1 SymTabEntry.java, 1.12, 1.12.10.1 SymbolTable.java, 1.16,
      1.16.10.1 SyntaxError.java, 1.19, 1.19.10.1 Token.java, 1.20,
      1.20.10.1 TokenSubType.java, 1.15, 1.15.10.1 TokenType.java, 1.14,
      1.14.10.1 TransitionTable.java, 1.14, 1.14.12.1 VarSymTabEntry.java,
      1.8, 1.8.12.1
      To: marf-cvs@...
      Message-ID: <E1JLoop-0004KM-OG@...>

      Update of /cvsroot/marf/marf/src/marf/nlp/Parsing
      In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8766/marf/src/marf/nlp/Parsing

      Modified Files:
      Tag: SOEN490_2007_2008
      Compiler.java CompilerError.java FuncSymTabEntry.java
      GenericLexicalAnalyzer.java LexicalAnalyzer.java
      LexicalError.java Parser.java ProbabilisticParser.java
      SemanticError.java SymDataType.java SymTabEntry.java
      SymbolTable.java SyntaxError.java Token.java TokenSubType.java
      TokenType.java TransitionTable.java VarSymTabEntry.java
      Log Message:
      Sync HEAD into SOEN490_2007_2008 changes. This primarily includes
      some new modules, such as FFT-based, BandStopFilter, generic Filter
      class, some exceptions work, as ExceptionFactory, MARFRuntimeException,
      IMARFException, and ExceptionUtils. There are a lot of fixes in comments
      for errors in spelling, English, factual information, as well as
      coding conventions made more consistent. Bump up the year to 2008 as well.
      Propagate timing measurment to SpeakerIdentApp and the basic
      noise removal implementation. Update some doc data.
      Fix "occurrence" API in nlp. The rest is purely cosmetic or refactoring.


      Index: SymDataType.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/SymDataType.java,v
      retrieving revision 1.10
      retrieving revision 1.10.10.1
      diff -C2 -d -r1.10 -r1.10.10.1
      *** SymDataType.java 1 Jan 2007 23:09:17 -0000 1.10
      --- SymDataType.java 4 Feb 2008 00:04:11 -0000 1.10.10.1
      ***************
      *** 1,5 ****
      /*
      * SymDataType Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * SymDataType Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */


      Index: ProbabilisticParser.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/ProbabilisticParser.java,v
      retrieving revision 1.30
      retrieving revision 1.30.12.1
      diff -C2 -d -r1.30 -r1.30.12.1
      *** ProbabilisticParser.java 30 Jan 2006 03:43:17 -0000 1.30
      --- ProbabilisticParser.java 4 Feb 2008 00:04:11 -0000 1.30.12.1
      ***************
      *** 357,361 ****

      /**
      ! * Dumpts parse matrix to the STDOUT.
      */
      public void dumpParseMatrix()
      --- 357,361 ----

      /**
      ! * Dumps parse matrix to the STDOUT.
      */
      public void dumpParseMatrix()
      ***************
      *** 381,385 ****
      /**
      * Performs training of the parser by compiling the source
      ! * probabilistic grammar and then duming it onto disk as
      * a precompiled binary file for future re-load.
      * @return <code>true</code> if the training went successful
      --- 381,385 ----
      /**
      * Performs training of the parser by compiling the source
      ! * probabilistic grammar and then dumping it onto disk as
      * a precompiled binary file for future re-load.
      * @return <code>true</code> if the training went successful
      ***************
      *** 487,491 ****
      * @param i leftmost word index
      * @param j rightmost word index
      ! * @return the setence span string
      */
      protected String getSentencePart(int i, int j)
      --- 487,491 ----
      * @param i leftmost word index
      * @param j rightmost word index
      ! * @return the sentence span string
      */
      protected String getSentencePart(int i, int j)

      Index: SemanticError.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/SemanticError.java,v
      retrieving revision 1.15
      retrieving revision 1.15.12.1
      diff -C2 -d -r1.15 -r1.15.12.1
      *** SemanticError.java 15 Jan 2006 20:37:41 -0000 1.15
      --- SemanticError.java 4 Feb 2008 00:04:11 -0000 1.15.12.1
      ***************
      *** 7,11 ****
      /**
      * <p>Class SemanticError
      ! * Represents an instance of a sematic error
      * in the semantic analysis process.</p>
      *
      --- 7,11 ----
      /**
      * <p>Class SemanticError
      ! * Represents an instance of a semantic error
      * in the semantic analysis process.</p>
      *
      ***************
      *** 101,105 ****

      /**
      ! * Constructor alterantive to Unknown error with the custom error message.
      * @param poFaultingToken the semantic token that caused the error.
      * @param pstrCustomErrorMessage custom error message
      --- 101,105 ----

      /**
      ! * Constructor alternative to Unknown error with the custom error message.
      * @param poFaultingToken the semantic token that caused the error.
      * @param pstrCustomErrorMessage custom error message

      Index: TokenType.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/TokenType.java,v
      retrieving revision 1.14
      retrieving revision 1.14.10.1
      diff -C2 -d -r1.14 -r1.14.10.1
      *** TokenType.java 1 Jan 2007 23:09:17 -0000 1.14
      --- TokenType.java 4 Feb 2008 00:04:11 -0000 1.14.10.1
      ***************
      *** 1,5 ****
      /*
      * TokenType Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * TokenType Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 51,55 ****

      /**
      ! * Identified keyword token type. A more preciuse set of ID.
      */
      public static final int KEYWORD = -6;
      --- 51,55 ----

      /**
      ! * Identified keyword token type. A more precise set of IDs.
      */
      public static final int KEYWORD = -6;
      ***************
      *** 63,67 ****
      * End of File.
      * Not really a token type, but
      ! * and idicator of the fact the the end
      * of the source file has been reached
      */
      --- 63,67 ----
      * End of File.
      * Not really a token type, but
      ! * and indicator of the fact the the end
      * of the source file has been reached
      */

      Index: SymTabEntry.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/SymTabEntry.java,v
      retrieving revision 1.12
      retrieving revision 1.12.10.1
      diff -C2 -d -r1.12 -r1.12.10.1
      *** SymTabEntry.java 1 Jan 2007 23:09:17 -0000 1.12
      --- SymTabEntry.java 4 Feb 2008 00:04:11 -0000 1.12.10.1
      ***************
      *** 1,5 ****
      /*
      * SymTabEntry Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * SymTabEntry Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */


      Index: Token.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/Token.java,v
      retrieving revision 1.20
      retrieving revision 1.20.10.1
      diff -C2 -d -r1.20 -r1.20.10.1
      *** Token.java 1 Jan 2007 23:09:17 -0000 1.20
      --- Token.java 4 Feb 2008 00:04:11 -0000 1.20.10.1
      ***************
      *** 1,5 ****
      /*
      * Token Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * Token Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 30,34 ****

      /**
      ! * Line and column where the token occured.
      */
      protected Point oPosition;
      --- 30,34 ----

      /**
      ! * Line and column where the token occurred.
      */
      protected Point oPosition;
      ***************
      *** 73,77 ****
      *
      * @param pstrLexeme token's lexeme
      ! * @param piLineNumber line number of the oken
      * @param piTokenType type of a token
      * @param pdNumericalValue numerical value of the token
      --- 73,77 ----
      *
      * @param pstrLexeme token's lexeme
      ! * @param piLineNumber line number of the token
      * @param piTokenType type of a token
      * @param pdNumericalValue numerical value of the token

      Index: TokenSubType.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/TokenSubType.java,v
      retrieving revision 1.15
      retrieving revision 1.15.10.1
      diff -C2 -d -r1.15 -r1.15.10.1
      *** TokenSubType.java 1 Jan 2007 23:09:17 -0000 1.15
      --- TokenSubType.java 4 Feb 2008 00:04:11 -0000 1.15.10.1
      ***************
      *** 1,5 ****
      /*
      * TokenSubType Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * TokenSubType Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */


      Index: FuncSymTabEntry.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/FuncSymTabEntry.java,v
      retrieving revision 1.10
      retrieving revision 1.10.12.1
      diff -C2 -d -r1.10 -r1.10.12.1
      *** FuncSymTabEntry.java 30 Dec 2005 18:36:54 -0000 1.10
      --- FuncSymTabEntry.java 4 Feb 2008 00:04:11 -0000 1.10.12.1
      ***************
      *** 57,61 ****
      /**
      * Cannot be anything other than FUNCTION.
      ! * @return SymDataType correspoinding to the FUNCTION identifier.
      * @see #FUNCTION
      */
      --- 57,61 ----
      /**
      * Cannot be anything other than FUNCTION.
      ! * @return SymDataType corresponding to the FUNCTION identifier.
      * @see #FUNCTION
      */
      ***************
      *** 75,79 ****

      /**
      ! * Allows getting the datatype of the function return value.
      * @return SymDataType corresponding to the return value
      * @see SymDataType
      --- 75,79 ----

      /**
      ! * Allows getting the data type of the function's return value.
      * @return SymDataType corresponding to the return value
      * @see SymDataType

      Index: Compiler.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/Compiler.java,v
      retrieving revision 1.15
      retrieving revision 1.15.10.1
      diff -C2 -d -r1.15 -r1.15.10.1
      *** Compiler.java 1 Jan 2007 23:09:17 -0000 1.15
      --- Compiler.java 4 Feb 2008 00:04:11 -0000 1.15.10.1
      ***************
      *** 8,17 ****
      *
      * This class instantiates the parser with the given command-line
      ! * arguments and invokes it then. Aftewards, it collects the results
      * of lexical and syntax analysis and outputs them out.</p>
      *
      * TODO: complete review.
      *
      ! * <p>(C) 2001 - 2007 Serguei Mokhov, mokhov@...</p>
      *
      * $Id$
      --- 8,17 ----
      *
      * This class instantiates the parser with the given command-line
      ! * arguments and invokes it then. Afterwards, it collects the results
      * of lexical and syntax analysis and outputs them out.</p>
      *
      * TODO: complete review.
      *
      ! * <p>(C) 2001 - 2008 Serguei Mokhov, mokhov@...</p>
      *
      * $Id$
      ***************
      *** 62,66 ****
      {
      System.out.println("MARF Language Compiler $Revision$");
      ! System.out.println("Copyright (C) 2001 - 2007 Serguei A. Mokhov");
      System.out.println("Report bugs to: <mailto:marf-bugs@...>");
      }
      --- 62,66 ----
      {
      System.out.println("MARF Language Compiler $Revision$");
      ! System.out.println("Copyright (C) 2001 - 2008 Serguei A. Mokhov");
      System.out.println("Report bugs to: <mailto:marf-bugs@...>");
      }
      ***************
      *** 83,87 ****
      }

      ! // Ouput stats
      LexicalAnalyzer oLexer = this.oParser.getLexer();
      oLexer.serialize(1);
      --- 83,87 ----
      }

      ! // Output stats
      LexicalAnalyzer oLexer = this.oParser.getLexer();
      oLexer.serialize(1);

      Index: CompilerError.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/CompilerError.java,v
      retrieving revision 1.17
      retrieving revision 1.17.10.1
      diff -C2 -d -r1.17 -r1.17.10.1
      *** CompilerError.java 1 Jan 2007 23:09:17 -0000 1.17
      --- CompilerError.java 4 Feb 2008 00:04:11 -0000 1.17.10.1
      ***************
      *** 1,5 ****
      /*
      * CompilerError Class.
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * CompilerError Class.
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 31,35 ****

      /**
      ! * Error code of the last error occured.
      * @since October 2, 2001
      */
      --- 31,35 ----

      /**
      ! * Error code of the last error occurred.
      * @since October 2, 2001
      */

      Index: VarSymTabEntry.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/VarSymTabEntry.java,v
      retrieving revision 1.8
      retrieving revision 1.8.12.1
      diff -C2 -d -r1.8 -r1.8.12.1
      *** VarSymTabEntry.java 19 Jan 2006 04:51:41 -0000 1.8
      --- VarSymTabEntry.java 4 Feb 2008 00:04:11 -0000 1.8.12.1
      ***************
      *** 61,65 ****

      /**
      ! * Default Construtor.
      */
      public VarSymTabEntry()
      --- 61,65 ----

      /**
      ! * Default Constructor.
      */
      public VarSymTabEntry()
      ***************
      *** 87,91 ****

      /**
      ! * Allowes to set data type of the variable.
      * @param piType the new type
      */
      --- 87,91 ----

      /**
      ! * Allows to set data type of the variable.
      * @param piType the new type
      */

      Index: LexicalError.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/LexicalError.java,v
      retrieving revision 1.18
      retrieving revision 1.18.10.1
      diff -C2 -d -r1.18 -r1.18.10.1
      *** LexicalError.java 1 Jan 2007 23:09:17 -0000 1.18
      --- LexicalError.java 4 Feb 2008 00:04:11 -0000 1.18.10.1
      ***************
      *** 1,5 ****
      /*
      * LexicalError Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * LexicalError Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 59,63 ****

      /**
      ! * Unxepected EOF and no ending comment.
      *
      * @since December 20, 2001
      --- 59,63 ----

      /**
      ! * Unexpected EOF and no ending comment.
      *
      * @since December 20, 2001
      ***************
      *** 73,77 ****

      /**
      ! * Custom error message as alterbntive to 'unknown'.
      *
      * @since October 2, 2001
      --- 73,77 ----

      /**
      ! * Custom error message as alternative to 'unknown'.
      *
      * @since October 2, 2001
      ***************
      *** 150,154 ****

      /**
      ! * Contructs a lexical error with wrapped exception.
      * @param poException the wrapped exception
      * @since 0.3.0.5
      --- 150,154 ----

      /**
      ! * Constructs a lexical error with wrapped exception.
      * @param poException the wrapped exception
      * @since 0.3.0.5
      ***************
      *** 170,174 ****

      /**
      ! * Contructs a lexical error with wrapped exception and
      * a custom error message string.
      * @param pstrMessage the custom error message
      --- 170,174 ----

      /**
      ! * Constructs a lexical error with wrapped exception and
      * a custom error message string.
      * @param pstrMessage the custom error message

      Index: SymbolTable.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/SymbolTable.java,v
      retrieving revision 1.16
      retrieving revision 1.16.10.1
      diff -C2 -d -r1.16 -r1.16.10.1
      *** SymbolTable.java 1 Jan 2007 23:09:17 -0000 1.16
      --- SymbolTable.java 4 Feb 2008 00:04:11 -0000 1.16.10.1
      ***************
      *** 1,5 ****
      /*
      * SymbolTable Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * SymbolTable Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 122,126 ****
      * with the token. This as well assumes
      * that the token is defined because
      ! * invokation o fthe method can happen
      * only during the declaration of a symbol
      * in the source code.
      --- 122,126 ----
      * with the token. This as well assumes
      * that the token is defined because
      ! * invocation of the method can happen
      * only during the declaration of a symbol
      * in the source code.
      ***************
      *** 252,256 ****

      /**
      ! * Finds a reserved entry ginen table and ID and
      * marks it unreserved. This completes the insertion
      * (and definition) of the entry in the table.
      --- 252,256 ----

      /**
      ! * Finds a reserved entry given table and ID and
      * marks it unreserved. This completes the insertion
      * (and definition) of the entry in the table.

      Index: TransitionTable.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/TransitionTable.java,v
      retrieving revision 1.14
      retrieving revision 1.14.12.1
      diff -C2 -d -r1.14 -r1.14.12.1
      *** TransitionTable.java 19 Jan 2006 04:51:41 -0000 1.14
      --- TransitionTable.java 4 Feb 2008 00:04:11 -0000 1.14.12.1
      ***************
      *** 78,82 ****

      /**
      ! * Default Cosntructor.
      */
      public TransitionTable()
      --- 78,82 ----

      /**
      ! * Default Constructor.
      */
      public TransitionTable()
      ***************
      *** 97,101 ****

      /**
      ! * This is a standard attempt to initilaize.
      * Must be called only by <code>GrammarCompiler</code> or when
      * dimensions of the table are well known.
      --- 97,101 ----

      /**
      ! * This is a standard attempt to initialize.
      * Must be called only by <code>GrammarCompiler</code> or when
      * dimensions of the table are well known.

      Index: GenericLexicalAnalyzer.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/GenericLexicalAnalyzer.java,v
      retrieving revision 1.17
      retrieving revision 1.17.10.1
      diff -C2 -d -r1.17 -r1.17.10.1
      *** GenericLexicalAnalyzer.java 1 Jan 2007 23:09:17 -0000 1.17
      --- GenericLexicalAnalyzer.java 4 Feb 2008 00:04:11 -0000 1.17.10.1
      ***************
      *** 12,16 ****
      *
      * <p>(C) 2001 Serguei A. Mokhov</p>
      ! * <p>(C) 2002 - 2007 The MARF Research and Development Group</p>
      *
      * $Id$
      --- 12,16 ----
      *
      * <p>(C) 2001 Serguei A. Mokhov</p>
      ! * <p>(C) 2002 - 2008 The MARF Research and Development Group</p>
      *
      * $Id$

      Index: LexicalAnalyzer.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/LexicalAnalyzer.java,v
      retrieving revision 1.19
      retrieving revision 1.19.10.1
      diff -C2 -d -r1.19 -r1.19.10.1
      *** LexicalAnalyzer.java 1 Jan 2007 23:09:17 -0000 1.19
      --- LexicalAnalyzer.java 4 Feb 2008 00:04:11 -0000 1.19.10.1
      ***************
      *** 1,5 ****
      /*
      * LexicalAnalyzer Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * LexicalAnalyzer Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 72,78 ****
      this.oStreamTokenizer.eolIsSignificant(false);

      ! // /**/ Are C-type coments
      // Disable them, do it manually
      ! // for unerminated comment detectiobn
      this.oStreamTokenizer.slashStarComments(false);

      --- 72,78 ----
      this.oStreamTokenizer.eolIsSignificant(false);

      ! // /**/ Are C-type comments
      // Disable them, do it manually
      ! // for unterminated comment detection
      this.oStreamTokenizer.slashStarComments(false);

      ***************
      *** 502,506 ****

      // Operator mode is only needed for
      ! // the abmiguouus operators, no need
      // for the rest

      --- 502,506 ----

      // Operator mode is only needed for
      ! // the ambiguous operators, no need
      // for the rest

      ***************
      *** 695,699 ****
      /**
      * Validates that an incoming string is a valid number or not.
      ! * @param pstrNum a string constating valid numerical chars
      * @return int, LexicalError Error code
      */
      --- 695,699 ----
      /**
      * Validates that an incoming string is a valid number or not.
      ! * @param pstrNum a string containing valid numerical chars
      * @return int, LexicalError Error code
      */

      Index: Parser.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/Parser.java,v
      retrieving revision 1.23
      retrieving revision 1.23.10.1
      diff -C2 -d -r1.23 -r1.23.10.1
      *** Parser.java 1 Jan 2007 23:09:17 -0000 1.23
      --- Parser.java 4 Feb 2008 00:04:11 -0000 1.23.10.1
      ***************
      *** 1,5 ****
      /*
      * Generic Parser
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */
      package marf.nlp.Parsing;
      --- 1,5 ----
      /*
      * Generic Parser
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */
      package marf.nlp.Parsing;
      ***************
      *** 32,36 ****
      {
      /**
      ! * Transitinal Table
      * for Transition State Parsing Algorithm.
      */
      --- 32,36 ----
      {
      /**
      ! * Transitional Table
      * for Transition State Parsing Algorithm.
      */
      ***************
      *** 97,101 ****

      /**
      ! * Consrtuctor with command-line arguments.
      * @param argv the command-line arguments
      * @throws CompilerError if there are problems initializing a lexer or a transition table
      --- 97,101 ----

      /**
      ! * Constructor with command-line arguments.
      * @param argv the command-line arguments
      * @throws CompilerError if there are problems initializing a lexer or a transition table
      ***************
      *** 206,210 ****
      GrammarElement oTopElement = (GrammarElement)this.oStack.peek();

      ! // Sematic Token
      if(!oTopElement.isNonTerminal() && !oTopElement.isTerminal())
      {
      --- 206,210 ----
      GrammarElement oTopElement = (GrammarElement)this.oStack.peek();

      ! // Semantic Token
      if(!oTopElement.isNonTerminal() && !oTopElement.isTerminal())
      {

      Index: SyntaxError.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/nlp/Parsing/SyntaxError.java,v
      retrieving revision 1.19
      retrieving revision 1.19.10.1
      diff -C2 -d -r1.19 -r1.19.10.1
      *** SyntaxError.java 1 Jan 2007 23:09:17 -0000 1.19
      --- SyntaxError.java 4 Feb 2008 00:04:11 -0000 1.19.10.1
      ***************
      *** 1,5 ****
      /*
      * SyntaxError Class
      ! * (C) 2001 - 2007 Serguei Mokhov, <mailto:mokhov@...>
      */

      --- 1,5 ----
      /*
      * SyntaxError Class
      ! * (C) 2001 - 2008 Serguei Mokhov, <mailto:mokhov@...>
      */

      ***************
      *** 123,127 ****

      /**
      ! * Constructor 2 - An Alterantive to Unknown Error.
      * @param poFaultingToken the token that caused the error
      * @param pstrCustomErrorMessage user-defined error message
      --- 123,127 ----

      /**
      ! * Constructor 2 - an alternative to Unknown Error.
      * @param poFaultingToken the token that caused the error
      * @param pstrCustomErrorMessage user-defined error message




      ------------------------------

      Message: 3
      Date: Mon, 04 Feb 2008 00:04:15 +0000
      From: "Serguei A. Mokhov" <mokhov@...>
      Subject: [marf-cvs] marf/src/marf/util Arrays.java, 1.39, 1.39.4.1
      BaseThread.java, 1.17, 1.17.2.1 ByteUtils.java, 1.7, 1.7.2.1
      Debug.java, 1.17, 1.17.10.1 ExpandedThreadGroup.java, 1.14, 1.14.2.1
      FreeVector.java, 1.12, 1.12.14.1 InvalidSampleFormatException.java,
      1.11, 1.11.12.1 Logger.java, 1.9, 1.9.10.1 MARFException.java, 1.19,
      1.19.14.1 Makefile, 1.4, 1.4.10.1 Matrix.java, 1.14, 1.14.14.1
      NotImplementedException.java, 1.14, 1.14.14.1 OptionFileLoader.java,
      1.1, 1.1.10.1 OptionProcessor.java, 1.37, 1.37.10.1
      SortComparator.java, 1.9, 1.9.12.1
      To: marf-cvs@...
      Message-ID: <E1JLooq-0004Kt-JD@...>

      Update of /cvsroot/marf/marf/src/marf/util
      In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv8766/marf/src/marf/util

      Modified Files:
      Tag: SOEN490_2007_2008
      Arrays.java BaseThread.java ByteUtils.java Debug.java
      ExpandedThreadGroup.java FreeVector.java
      InvalidSampleFormatException.java Logger.java
      MARFException.java Makefile Matrix.java
      NotImplementedException.java OptionFileLoader.java
      OptionProcessor.java SortComparator.java
      Log Message:
      Sync HEAD into SOEN490_2007_2008 changes. This primarily includes
      some new modules, such as FFT-based, BandStopFilter, generic Filter
      class, some exceptions work, as ExceptionFactory, MARFRuntimeException,
      IMARFException, and ExceptionUtils. There are a lot of fixes in comments
      for errors in spelling, English, factual information, as well as
      coding conventions made more consistent. Bump up the year to 2008 as well.
      Propagate timing measurment to SpeakerIdentApp and the basic
      noise removal implementation. Update some doc data.
      Fix "occurrence" API in nlp. The rest is purely cosmetic or refactoring.


      Index: OptionProcessor.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/OptionProcessor.java,v
      retrieving revision 1.37
      retrieving revision 1.37.10.1
      diff -C2 -d -r1.37 -r1.37.10.1
      *** OptionProcessor.java 28 May 2006 04:28:18 -0000 1.37
      --- OptionProcessor.java 4 Feb 2008 00:04:12 -0000 1.37.10.1
      ***************
      *** 130,134 ****
      /**
      * Allows adding a value option. The code is computed from
      ! * the option string usign hash code.
      * @param pstrOptionString option's lexical representation, a key
      * @see marf.util.IOptionProvider#addValidOption(java.lang.String)
      --- 130,134 ----
      /**
      * Allows adding a value option. The code is computed from
      ! * the option string using hash code.
      * @param pstrOptionString option's lexical representation, a key
      * @see marf.util.IOptionProvider#addValidOption(java.lang.String)
      ***************
      *** 199,203 ****
      /**
      * Allows adding a value option. The code is computed from
      ! * the option string usign hash code.
      * @param pstrOptionString option's lexical representation, a key
      * @see marf.util.IOptionProvider#addValidOption(java.lang.String)
      --- 199,203 ----
      /**
      * Allows adding a value option. The code is computed from
      ! * the option string using hash code.
      * @param pstrOptionString option's lexical representation, a key
      * @see marf.util.IOptionProvider#addValidOption(java.lang.String)
      ***************
      *** 226,230 ****
      * processor as a sum of active and invalid options. Valid
      * options are omitted from the count because they are more
      ! * of a static state comparted to the currently active
      * subset of them as well as possibly invalid options, which
      * represent more of a dynamic state.
      --- 226,230 ----
      * processor as a sum of active and invalid options. Valid
      * options are omitted from the count because they are more
      ! * of a static state compared to the currently active
      * subset of them as well as possibly invalid options, which
      * represent more of a dynamic state.
      ***************
      *** 298,302 ****
      *
      * <p><b>NOTICE</b>, since 0.3.0.3 '=' has a special meaning
      ! * as a separator bewteen options and values, and, therefore,
      * cannot appear inside option strings or by itself on the
      * command line.</p>
      --- 298,302 ----
      *
      * <p><b>NOTICE</b>, since 0.3.0.3 '=' has a special meaning
      ! * as a separator between options and values, and, therefore,
      * cannot appear inside option strings or by itself on the
      * command line.</p>
      ***************
      *** 317,321 ****
      Option oOption = (Option)oValidOptionsStrings.get(argv[i]);

      ! // Possinbly an invalid option
      if(oOption == null)
      {
      --- 317,321 ----
      Option oOption = (Option)oValidOptionsStrings.get(argv[i]);

      ! // Possibly an invalid option
      if(oOption == null)
      {
      ***************
      *** 864,868 ****

      /**
      ! * Rerieves the option name.
      * @return the name
      */
      --- 864,868 ----

      /**
      ! * Retrieves the option name.
      * @return the name
      */

      Index: MARFException.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/MARFException.java,v
      retrieving revision 1.19
      retrieving revision 1.19.14.1
      diff -C2 -d -r1.19 -r1.19.14.1
      *** MARFException.java 11 Aug 2005 00:44:50 -0000 1.19
      --- MARFException.java 4 Feb 2008 00:04:12 -0000 1.19.14.1
      ***************
      *** 1,7 ****
      package marf.util;

      - import java.io.ByteArrayOutputStream;
      - import java.io.PrintWriter;
      -

      /**
      --- 1,4 ----
      ***************
      *** 9,13 ****
      * <p>This class extends Exception for MARF specifics.</p>
      *
      ! * <p>$Id$</p>
      *
      * @author Serguei Mokhov
      --- 6,10 ----
      * <p>This class extends Exception for MARF specifics.</p>
      *
      ! * $Id$
      *
      * @author Serguei Mokhov
      ***************
      *** 17,20 ****
      --- 14,18 ----
      public class MARFException
      extends Exception
      + implements IMARFException
      {
      /**
      ***************
      *** 56,60 ****
      /**
      * This is used for debug purposes only with some unusual Exception's.
      ! * It allows the originiating Exceptions stack trace to be returned.
      * @param pstrMessage Error message string
      * @param poException Exception object to dump
      --- 54,58 ----
      /**
      * This is used for debug purposes only with some unusual Exception's.
      ! * It allows the originating Exceptions stack trace to be returned.
      * @param pstrMessage Error message string
      * @param poException Exception object to dump
      ***************
      *** 63,94 ****
      {
      super(pstrMessage);
      !
      ! // Based on PostgreSQL JDBC driver's PGSQLException.
      ! try
      ! {
      ! ByteArrayOutputStream oByteArrayOutputStream = new ByteArrayOutputStream();
      ! PrintWriter oPrintWriter = new PrintWriter(oByteArrayOutputStream);
      !
      ! oPrintWriter.println("Exception: " + poException + "\nStack Trace:\n");
      ! poException.printStackTrace(oPrintWriter);
      ! oPrintWriter.println("End of Stack Trace");
      !
      ! this.strMessage += pstrMessage + " " + oByteArrayOutputStream;
      !
      ! oPrintWriter.println(this.strMessage);
      !
      ! oPrintWriter.flush();
      ! oPrintWriter.close();
      !
      ! oByteArrayOutputStream.close();
      ! }
      ! catch(Exception ioe)
      ! {
      ! this.strMessage +=
      ! pstrMessage + " " +
      ! poException +
      ! "\nIO Error on stack trace generation! " +
      ! ioe;
      ! }
      }

      --- 61,65 ----
      {
      super(pstrMessage);
      ! this.strMessage = ExceptionUtils.getStackTraceAsString(pstrMessage, poException);
      }

      ***************
      *** 105,115 ****
      /**
      * Returns string representation of the error message.
      * @return error string
      */
      ! public final String getMessage()
      {
      return this.strMessage;
      }

      /**
      * Override <code>toString()</code> to display our message.
      --- 76,136 ----
      /**
      * Returns string representation of the error message.
      + * Definalize in 0.3.0.6 to allow derivatives.
      * @return error string
      */
      ! public String getMessage()
      {
      return this.strMessage;
      }

      + /* (non-Javadoc)
      + * @see marf.util.IMARFException#create()
      + */
      + public IMARFException create()
      + {
      + return create(null, null);
      + }
      +
      + /* (non-Javadoc)
      + * @see marf.util.IMARFException#create(java.lang.Exception)
      + */
      + public IMARFException create(Exception poException)
      + {
      + return create(null, poException);
      + }
      +
      + /* (non-Javadoc)
      + * @see marf.util.IMARFException#create(java.lang.String)
      + */
      + public IMARFException create(String pstrMessage)
      + {
      + return create(pstrMessage, null);
      + }
      +
      + /**
      + * @see marf.util.IMARFException#create(java.lang.String, java.lang.Exception)
      + */
      + public IMARFException create(String pstrMessage, Exception poException)
      + {
      + if(pstrMessage == null && poException == null)
      + {
      + return new MARFException();
      + }
      + else if(pstrMessage == null && poException != null)
      + {
      + return new MARFException(poException);
      + }
      + else if(pstrMessage != null && poException == null)
      + {
      + return new MARFException(pstrMessage);
      + }
      + else if(pstrMessage != null && poException != null)
      + {
      + return new MARFException(pstrMessage, poException);
      + }
      +
      + return null;
      + }
      +
      /**
      * Override <code>toString()</code> to display our message.

      Index: Matrix.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/Matrix.java,v
      retrieving revision 1.14
      retrieving revision 1.14.14.1
      diff -C2 -d -r1.14 -r1.14.14.1
      *** Matrix.java 11 Aug 2005 00:44:50 -0000 1.14
      --- Matrix.java 4 Feb 2008 00:04:12 -0000 1.14.14.1
      ***************
      *** 99,113 ****
      --- 99,119 ----
      {
      if(paiPoint == null || paiPoint.length == 0)
      + {
      return elementAt(0);
      + }

      Object oObject = elementAt(paiPoint[0]);

      if(paiPoint.length == 1)
      + {
      return oObject;
      + }

      int[] aiReducedPoint = new int[paiPoint.length - 1];

      for(int i = 0; i < aiReducedPoint.length; i++)
      + {
      aiReducedPoint[i] = paiPoint[i];
      + }

      return elementAt(aiReducedPoint);

      Index: FreeVector.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/FreeVector.java,v
      retrieving revision 1.12
      retrieving revision 1.12.14.1
      diff -C2 -d -r1.12 -r1.12.14.1
      *** FreeVector.java 11 Aug 2005 00:44:50 -0000 1.12
      --- FreeVector.java 4 Feb 2008 00:04:12 -0000 1.12.14.1
      ***************
      *** 10,17 ****
      *
      * <p>You may access elements of a Vector beyond it's initial length --- the Vector
      ! * will be automaticall adjusted as appropriate.</p>
      *
      * <p>Useful in the applications where desirable vector's growth by setting an element
      ! * beyond its upper boundary automatticaly lengthens the vector to accomondate the
      * change (similar to Perl arrays).</p>
      *
      --- 10,17 ----
      *
      * <p>You may access elements of a Vector beyond it's initial length --- the Vector
      ! * will be automatically adjusted as appropriate.</p>
      *
      * <p>Useful in the applications where desirable vector's growth by setting an element
      ! * beyond its upper boundary automatically lengthens the vector to accommodate the
      * change (similar to Perl arrays).</p>
      *
      ***************
      *** 62,66 ****
      * Inherited from java.util.Vector.
      * @param piInitialCapacity initial element capacity (number of object placeholders)
      ! * @param piCapacityIncrement when current capacity reached, until how much capacity should be extened
      */
      public FreeVector(int piInitialCapacity, int piCapacityIncrement)
      --- 62,66 ----
      * Inherited from java.util.Vector.
      * @param piInitialCapacity initial element capacity (number of object placeholders)
      ! * @param piCapacityIncrement when current capacity reached, until how much capacity should be extended
      */
      public FreeVector(int piInitialCapacity, int piCapacityIncrement)
      ***************
      *** 83,92 ****
      * Overridden from java.util.Vector.
      * @param piIndex vector element index to retrieve
      ! * @return object cotained at specified index, null if beyond boundary
      */
      public Object elementAt(int piIndex)
      {
      if(piIndex > size() - 1)
      return null;

      return super.elementAt(piIndex);
      --- 83,94 ----
      * Overridden from java.util.Vector.
      * @param piIndex vector element index to retrieve
      ! * @return object contained at specified index, null if beyond boundary
      */
      public Object elementAt(int piIndex)
      {
      if(piIndex > size() - 1)
      + {
      return null;
      + }

      return super.elementAt(piIndex);
      ***************
      *** 95,100 ****
      /**
      * Set an element of the vector given index.
      ! * Capacity is always ensured to be able to accomodate
      ! * any positive inidex (barring out of memory problems).
      * Overridden from java.util.Vector.
      *
      --- 97,102 ----
      /**
      * Set an element of the vector given index.
      ! * Capacity is always ensured to be able to accommodate
      ! * any positive index (barring out of memory problems).
      * Overridden from java.util.Vector.
      *
      ***************
      *** 110,115 ****
      /**
      * Inserts an element of the vector after given index.
      ! * Capacity is always ensured to be able to accomodate
      ! * any positive inidex (barring out of memory problems).
      * Overridden from java.util.Vector.
      *
      --- 112,117 ----
      /**
      * Inserts an element of the vector after given index.
      ! * Capacity is always ensured to be able to accommodate
      ! * any positive index (barring out of memory problems).
      * Overridden from java.util.Vector.
      *
      ***************
      *** 129,133 ****
      * the current vector's size.
      *
      ! * @param piIndex the index to accomodate
      */
      public void ensureIndexCapacity(int piIndex)
      --- 131,135 ----
      * the current vector's size.
      *
      ! * @param piIndex the index to accommodate
      */
      public void ensureIndexCapacity(int piIndex)
      ***************
      *** 145,149 ****
      *
      * @param piIndex vector element index to retrieve
      ! * @return object cotained at specified index, null if beyond boundary
      */
      public synchronized Object get(int piIndex)
      --- 147,151 ----
      *
      * @param piIndex vector element index to retrieve
      ! * @return object contained at specified index, null if beyond boundary
      */
      public synchronized Object get(int piIndex)
      ***************
      *** 154,159 ****
      /**
      * Set an element of the vector given index.
      ! * Capacity is always ensured to be able to accomodate
      ! * any positive inidex (barring out of memory problems).
      * Overridden from java.util.Vector.
      *
      --- 156,161 ----
      /**
      * Set an element of the vector given index.
      ! * Capacity is always ensured to be able to accommodate
      ! * any positive index (barring out of memory problems).
      * Overridden from java.util.Vector.
      *

      Index: Arrays.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/Arrays.java,v
      retrieving revision 1.39
      retrieving revision 1.39.4.1
      diff -C2 -d -r1.39 -r1.39.4.1
      *** Arrays.java 7 Apr 2007 19:53:35 -0000 1.39
      --- Arrays.java 4 Feb 2008 00:04:12 -0000 1.39.4.1
      ***************
      *** 1499,1503 ****
      /**
      * Converts array of Strings to a single string separated by
      ! * the specified delimeter.
      *
      * @param pastrData string data to concatenate
      --- 1499,1503 ----
      /**
      * Converts array of Strings to a single string separated by
      ! * the specified delimiter.
      *
      * @param pastrData string data to concatenate
      ***************
      *** 1526,1530 ****
      /**
      * Converts array of integers to a single string separated by
      ! * the specified delimeter.
      *
      * @param paiData int data to append
      --- 1526,1530 ----
      /**
      * Converts array of integers to a single string separated by
      ! * the specified delimiter.
      *
      * @param paiData int data to append
      ***************
      *** 1553,1557 ****
      /**
      * Converts array of Objects to a single string separated by
      ! * the specified delimeter.
      *
      * @param paoData Object data to append
      --- 1553,1557 ----
      /**
      * Converts array of Objects to a single string separated by
      ! * the specified delimiter.
      *
      * @param paoData Object data to append
      ***************
      *** 1580,1584 ****
      /**
      * Converts array of longs to a single string separated by
      ! * the specified delimeter.
      *
      * @param palData long data to append
      --- 1580,1584 ----
      /**
      * Converts array of longs to a single string separated by
      ! * the specified delimiter.
      *
      * @param palData long data to append
      ***************
      *** 1607,1611 ****
      /**
      * Converts array of floats to a single string separated by
      ! * the specified delimeter.
      *
      * @param pafData float data to append
      --- 1607,1611 ----
      /**
      * Converts array of floats to a single string separated by
      ! * the specified delimiter.
      *
      * @param pafData float data to append
      ***************
      *** 1634,1638 ****
      /**
      * Converts array of doubles to a single string separated by
      ! * the specified delimeter.
      *
      * @param padData double data to append
      --- 1634,1638 ----
      /**
      * Converts array of doubles to a single string separated by
      ! * the specified delimiter.
      *
      * @param padData double data to append
      ***************
      *** 1661,1665 ****
      /**
      * Converts array of bytes to a single string separated by
      ! * the specified delimeter.
      *
      * @param patData byte data to append
      --- 1661,1665 ----
      /**
      * Converts array of bytes to a single string separated by
      ! * the specified delimiter.
      *
      * @param patData byte data to append
      ***************
      *** 1688,1692 ****
      /**
      * Converts array of booleans to a single string separated by
      ! * the specified delimeter.
      *
      * @param pabData boolean data to append
      --- 1688,1692 ----
      /**
      * Converts array of booleans to a single string separated by
      ! * the specified delimiter.
      *
      * @param pabData boolean data to append
      ***************
      *** 1715,1727 ****
      /**
      * Converts array of characters to a single string separated by
      ! * the specified delimeter.
      *
      ! * @param pacData charater data to append
      ! * @param pstrDelimeter data elements separator
      * @return the resulting combined string
      *
      * @since 0.3.0.5
      */
      ! public static String arrayToDelimitedString(final char[] pacData, final String pstrDelimeter)
      {
      StringBuffer oRetVal = new StringBuffer();
      --- 1715,1727 ----
      /**
      * Converts array of characters to a single string separated by
      ! * the specified delimiter.
      *
      ! * @param pacData character data to append
      ! * @param pstrDelimiter data elements separator
      * @return the resulting combined string
      *
      * @since 0.3.0.5
      */
      ! public static String arrayToDelimitedString(final char[] pacData, final String pstrDelimiter)
      {
      StringBuffer oRetVal = new StringBuffer();
      ***************
      *** 1733,1737 ****
      for(int i = 1; i < pacData.length; i++)
      {
      ! oRetVal.append(pstrDelimeter).append(pacData[i]);
      }
      }
      --- 1733,1737 ----
      for(int i = 1; i < pacData.length; i++)
      {
      ! oRetVal.append(pstrDelimiter).append(pacData[i]);
      }
      }
      ***************
      *** 1847,1851 ****
      * Converts array of characters to a single space-separated String.
      *
      ! * @param pacData array of charater data
      * @return equivalent combined string
      *
      --- 1847,1851 ----
      * Converts array of characters to a single space-separated String.
      *
      ! * @param pacData array of character data
      * @return equivalent combined string
      *
      ***************
      *** 1962,1968 ****

      /**
      ! * Converts array of charaters to a single comma-separated String.
      *
      ! * @param pacData array of charater data
      * @return equivalent combined string
      *
      --- 1962,1968 ----

      /**
      ! * Converts array of characters to a single comma-separated String.
      *
      ! * @param pacData array of character data
      * @return equivalent combined string
      *
      ***************
      *** 1993,1997 ****
      * @param padDestination destination array of doubles
      * @param piDestinationFrom index in the destination to start place elements at
      ! * @param paiSource sourc earray of ints
      * @param piSourceFrom index in the source to start take elements from
      * @param piHowMany N; how many elements to copy
      --- 1993,1997 ----
      * @param padDestination destination array of doubles
      * @param piDestinationFrom index in the destination to start place elements at
      ! * @param paiSource source array of ints
      * @param piSourceFrom index in the source to start take elements from
      * @param piHowMany N; how many elements to copy
      ***************
      *** 2009,2013 ****
      *
      * @param padDestination destination array of doubles
      ! * @param paiSource sourc earray of ints
      * @param piHowMany N; how many elements to copy
      * @since 0.3.0.3
      --- 2009,2013 ----
      *
      * @param padDestination destination array of doubles
      ! * @param paiSource source array of ints
      * @param piHowMany N; how many elements to copy
      * @since 0.3.0.3
      ***************
      *** 2199,2203 ****
      *
      * @param patDestination destination array of bytes
      ! * @param paiSource sourc earray of ints
      * @since 0.3.0.3
      */
      --- 2199,2203 ----
      *
      * @param patDestination destination array of bytes
      ! * @param paiSource source array of ints
      * @since 0.3.0.3
      */
      ***************
      *** 2229,2233 ****
      *
      * @param pacDestination destination array of characters
      ! * @param paiSource sourc earray of ints
      * @param piHowMany N; how many elements to copy
      * @since 0.3.0.3
      --- 2229,2233 ----
      *
      * @param pacDestination destination array of characters
      ! * @param paiSource source array of ints
      * @param piHowMany N; how many elements to copy
      * @since 0.3.0.3
      ***************
      *** 2243,2247 ****
      *
      * @param pacDestination destination array of characters
      ! * @param paiSource sourc earray of ints
      * @since 0.3.0.3
      */
      --- 2243,2247 ----
      *
      * @param pacDestination destination array of characters
      ! * @param paiSource source array of ints
      * @since 0.3.0.3
      */

      Index: Makefile
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/Makefile,v
      retrieving revision 1.4
      retrieving revision 1.4.10.1
      diff -C2 -d -r1.4 -r1.4.10.1
      *** Makefile 28 May 2006 04:28:18 -0000 1.4
      --- Makefile 4 Feb 2008 00:04:12 -0000 1.4.10.1
      ***************
      *** 23,26 ****
      --- 23,30 ----
      Logger.class \
      MARFException.class \
      + MARFRuntimeException.class \
      + IMARFException.class \
      + ExceptionFactory.class \
      + ExceptionUtils.class \
      Matrix.class \
      NotImplementedException.class \

      Index: BaseThread.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/BaseThread.java,v
      retrieving revision 1.17
      retrieving revision 1.17.2.1
      diff -C2 -d -r1.17 -r1.17.2.1
      *** BaseThread.java 24 Aug 2007 14:09:02 -0000 1.17
      --- BaseThread.java 4 Feb 2008 00:04:12 -0000 1.17.2.1
      ***************
      *** 179,188 ****
      /*
      * This scenario is very possible when using convenience
      ! * constructos with this() call as this() chooses as the
      * base the constructor we are in, instead of
      * BaseThread(ThreadGroup, Runnable, String).
      */
      if(poThreadGroup != null)
      poThreadGroup.addThread(this);

      this.oTarget = poTarget;
      --- 179,190 ----
      /*
      * This scenario is very possible when using convenience
      ! * constructors with this() call as this() chooses as the
      * base the constructor we are in, instead of
      * BaseThread(ThreadGroup, Runnable, String).
      */
      if(poThreadGroup != null)
      + {
      poThreadGroup.addThread(this);
      + }

      this.oTarget = poTarget;
      ***************
      *** 228,233 ****
      /**
      * Retrieves the thread's target.
      ! * Proved to be usefult in some caes, e.g. in the GIPSY,
      ! * needed to know who was actually the target posmortem.
      * @return Returns the Runnable target set during construction
      */
      --- 230,235 ----
      /**
      * Retrieves the thread's target.
      ! * Proved to be useful in some cases, e.g. in the GIPSY,
      ! * needed to know who was actually the target postmortem.
      * @return Returns the Runnable target set during construction
      */

      Index: ByteUtils.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/ByteUtils.java,v
      retrieving revision 1.7
      retrieving revision 1.7.2.1
      diff -C2 -d -r1.7 -r1.7.2.1
      *** ByteUtils.java 24 Aug 2007 14:09:02 -0000 1.7
      --- ByteUtils.java 4 Feb 2008 00:04:12 -0000 1.7.2.1
      ***************
      *** 49,53 ****

      // TODO: revisit this: should we silently add missing byte and should
      ! // we ingnore excessing bytes?
      if(paRawBytes.length < piOffset + 2)
      return -1;
      --- 49,53 ----

      // TODO: revisit this: should we silently add missing byte and should
      ! // we ignore excess bytes?
      if(paRawBytes.length < piOffset + 2)
      return -1;
      ***************
      *** 190,203 ****
      * @param paRawBytes the byte array, non-UNICODE
      * @param piOffset offset in the original array to start reading bytes from
      ! * @param piLength how many bytes of the array paramter to interpret as String
      *
      * @return UNICODE String representation of the bytes with trailing garbage stripped;
      * "" if array length is less than piOffset + piLength;
      ! * "" if the generatied string begins with garbage
      */
      public static String byteArrayToString(byte[] paRawBytes, int piOffset, int piLength)
      {
      if(paRawBytes.length < piOffset + piLength)
      return "";

      String oBeautifulString = new String(paRawBytes, piOffset, piLength);
      --- 190,205 ----
      * @param paRawBytes the byte array, non-UNICODE
      * @param piOffset offset in the original array to start reading bytes from
      ! * @param piLength how many bytes of the array parameter to interpret as String
      *
      * @return UNICODE String representation of the bytes with trailing garbage stripped;
      * "" if array length is less than piOffset + piLength;
      ! * "" if the generated string begins with garbage
      */
      public static String byteArrayToString(byte[] paRawBytes, int piOffset, int piLength)
      {
      if(paRawBytes.length < piOffset + piLength)
      + {
      return "";
      + }

      String oBeautifulString = new String(paRawBytes, piOffset, piLength);
      ***************
      *** 205,209 ****
      --- 207,213 ----

      if(oBeautifulString.matches("^\\W") == true)
      + {
      oBeautifulString = "";
      + }
      else
      {
      ***************
      *** 211,215 ****
      --- 215,221 ----
      {
      if(paRawBytes[i] < 32 || paRawBytes[i] > 128)
      + {
      break;
      + }
      }

      ***************
      *** 239,243 ****
      *
      * @param pstrStringToConvert the original string
      ! * @param pstrCharSet characted set to assume for the original string
      *
      * @return null-terminated byte[] representation of the String
      --- 245,249 ----
      *
      * @param pstrStringToConvert the original string
      ! * @param pstrCharSet character set to assume for the original string
      *
      * @return null-terminated byte[] representation of the String

      Index: InvalidSampleFormatException.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/InvalidSampleFormatException.java,v
      retrieving revision 1.11
      retrieving revision 1.11.12.1
      diff -C2 -d -r1.11 -r1.11.12.1
      *** InvalidSampleFormatException.java 28 Dec 2005 03:21:12 -0000 1.11
      --- InvalidSampleFormatException.java 4 Feb 2008 00:04:12 -0000 1.11.12.1
      ***************
      *** 7,11 ****
      * and its data.</p>
      *
      ! * <p>$Id$</p>
      *
      * @author Serguei Mokhov
      --- 7,11 ----
      * and its data.</p>
      *
      ! * $Id$
      *
      * @author Serguei Mokhov

      Index: NotImplementedException.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/NotImplementedException.java,v
      retrieving revision 1.14
      retrieving revision 1.14.14.1
      diff -C2 -d -r1.14 -r1.14.14.1
      *** NotImplementedException.java 11 Aug 2005 00:44:50 -0000 1.14
      --- NotImplementedException.java 4 Feb 2008 00:04:12 -0000 1.14.14.1
      ***************
      *** 5,9 ****
      * <p>This class extends RuntimeException for MARF unimplemented parts.</p>
      *
      ! * <p>$Id$</p>
      *
      * @author Serguei A. Mokhov
      --- 5,9 ----
      * <p>This class extends RuntimeException for MARF unimplemented parts.</p>
      *
      ! * $Id$
      *
      * @author Serguei A. Mokhov
      ***************
      *** 12,16 ****
      */
      public class NotImplementedException
      ! extends RuntimeException
      {
      /**
      --- 12,16 ----
      */
      public class NotImplementedException
      ! extends MARFRuntimeException
      {
      /**

      Index: Logger.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/Logger.java,v
      retrieving revision 1.9
      retrieving revision 1.9.10.1
      diff -C2 -d -r1.9 -r1.9.10.1
      *** Logger.java 2 Jul 2006 18:04:50 -0000 1.9
      --- Logger.java 4 Feb 2008 00:04:12 -0000 1.9.10.1
      ***************
      *** 93,97 ****
      /**
      * Creates a logger with output filename and desired direction.
      ! * Timestampes are always added.
      *
      * @param pstrFilename desired log filename
      --- 93,97 ----
      /**
      * Creates a logger with output filename and desired direction.
      ! * Timestamps are always added.
      *
      * @param pstrFilename desired log filename
      ***************
      *** 213,218 ****

      /**
      ! * Sets the output to go to the two destionations of the first
      ! * and second paramters.
      * @param poOutputStream possibly a file or STDOUT/STDERR
      * @param poLogPrintStream possibly a file or STDOUT/STDERR
      --- 213,218 ----

      /**
      ! * Sets the output to go to the two destinations of the first
      ! * and second parameters.
      * @param poOutputStream possibly a file or STDOUT/STDERR
      * @param poLogPrintStream possibly a file or STDOUT/STDERR
      ***************
      *** 270,274 ****
      /**
      * Enables or disables timestamps.
      ! * @param pbEnable <code>true</code> to enable timestamming
      */
      public synchronized void enableTimestamp(boolean pbEnable)
      --- 270,274 ----
      /**
      * Enables or disables timestamps.
      ! * @param pbEnable <code>true</code> to enable timestamping
      */
      public synchronized void enableTimestamp(boolean pbEnable)

      Index: ExpandedThreadGroup.java
      ===================================================================
      RCS file: /cvsroot/marf/marf/src/marf/util/ExpandedThreadGroup.java,v
      retrieving revision 1.14
      retrieving revision 1.14.2.1
      diff -C2 -d -r1.14 -r1.14.2.1
      *** ExpandedThreadGroup.java 24 Aug 2007 14:09:03 -0000 1.14
      --- ExpandedThreadGroup.java 4 Feb 2008 00:04:12 -0000 1.14.2.1
      ***************
      *** 24,28 ****
      {
      /**
      ! * Local refernces to the threads belonging to this group.
      */
      protected Vector oGroup = new Vector();
      --- 24,28 ----
      {
      /**
      ! * Loc<br/><br/>(Message over 64 KB, truncated)
    Your message has been successfully submitted and would be delivered to recipients shortly.