// Path: src/net/sourceforge/unitsinjava/Source.java
// public interface Source
// {
//   boolean created();
// 
//   int end();
// 
//   char at(int p);
// 
//   String at(int p, int q);
// 
//   String where(int p);
// }


import net.sourceforge.unitsinjava.Source;
import java.util.Vector;
//=========================================================================
//
//  Part of PEG parser generator Mouse.
//
//  Copyright (C) 2009, 2010 by Roman R. Redziejowski (www.romanredz.se).
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
//-------------------------------------------------------------------------
//
//  Change log
//    090720 Created for Mouse 1.1.
//   Version 1.2
//    100320 Bug fix in accept(): upgrade error info on success.
//    100320 Bug fix in rejectNot(): backtrack before registering failure.
//   Version 1.3
//    100429 Bug fix in errMerge(Phrase): assignment to errText replaced
//           by clear + addAll (assignment produced alias resulting in
//           explosion of errText in memo version).
//
//=========================================================================

package net.sourceforge.unitsinjava;



//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
//
//  ParserBase
//
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH


public class ParserBase implements net.sourceforge.unitsinjava.CurrentRule
{
  //-------------------------------------------------------------------
  //  Input
  //-------------------------------------------------------------------
// Path: src/net/sourceforge/unitsinjava/Source.java
// public interface Source
// {
//   boolean created();
// 
//   int end();
// 
//   char at(int p);
// 
//   String at(int p, int q);
// 
//   String where(int p);
// }


// Path: src/net/sourceforge/unitsinjava/ParserBase.java
import net.sourceforge.unitsinjava.Source;
import java.util.Vector;

//=========================================================================
//
//  Part of PEG parser generator Mouse.
//
//  Copyright (C) 2009, 2010 by Roman R. Redziejowski (www.romanredz.se).
//
//  Licensed under the Apache License, Version 2.0 (the "License");
//  you may not use this file except in compliance with the License.
//  You may obtain a copy of the License at
//
//       http://www.apache.org/licenses/LICENSE-2.0
//
//  Unless required by applicable law or agreed to in writing, software
//  distributed under the License is distributed on an "AS IS" BASIS,
//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
//  See the License for the specific language governing permissions and
//  limitations under the License.
//
//-------------------------------------------------------------------------
//
//  Change log
//    090720 Created for Mouse 1.1.
//   Version 1.2
//    100320 Bug fix in accept(): upgrade error info on success.
//    100320 Bug fix in rejectNot(): backtrack before registering failure.
//   Version 1.3
//    100429 Bug fix in errMerge(Phrase): assignment to errText replaced
//           by clear + addAll (assignment produced alias resulting in
//           explosion of errText in memo version).
//
//=========================================================================

package net.sourceforge.unitsinjava;



//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
//
//  ParserBase
//
//HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH


public class ParserBase implements net.sourceforge.unitsinjava.CurrentRule
{
  //-------------------------------------------------------------------
  //  Input
  //-------------------------------------------------------------------
  Source source;                    // Source of text to parse