// Path: Mouse/source/runtime/SourceString.java
// public class SourceString implements Source
// {
//   //=====================================================================
//   //
//   //  Data.
//   //
//   //=====================================================================
//   //-------------------------------------------------------------------
//   //  The String.
//   //  Note: it is the string given to the constructor, not a copy.
//   //-------------------------------------------------------------------
//   final String text;
// 
//   //=====================================================================
//   //
//   //  Constructor. Wraps the string 's'.
//   //
//   //=====================================================================
//   public SourceString(final String s)
//     { text = s; }
// 
// 
//   //=====================================================================
//   //
//   //  Interface methods.
//   //
//   //=====================================================================
//   //-------------------------------------------------------------------
//   //  Is the wrapper correctly initialized?
//   //-------------------------------------------------------------------
//   public boolean created()
//     { return true; }
// 
//   //-------------------------------------------------------------------
//   //  Returns end position.
//   //-------------------------------------------------------------------
//   public int end()
//     { return text.length(); }
// 
//   //-------------------------------------------------------------------
//   //  Returns character at position p.
//   //-------------------------------------------------------------------
//   public char at(int p)
//     { return text.charAt(p); }
// 
//   //-------------------------------------------------------------------
//   //  Returns characters at positions p through q-1.
//   //-------------------------------------------------------------------
//   public String at(int p, int q)
//     { return text.substring(p,q); }
// 
//   //-------------------------------------------------------------------
//   //  Describes position p in terms of preceding text.
//   //-------------------------------------------------------------------
//   public String where(int p)
//     {
//       if (p>15)
//         return "After '... " + text.substring(p-15,p) + "'";
//       else if (p>0)
//         return "After '" + text.substring(0,p) + "'";
//       else
//         return "At start";
//     }
// }


   import mouse.runtime.SourceString;
   import java.io.BufferedReader;
   import java.io.InputStreamReader;




   class Try
   {
     public static void main(String argv[])
       throws Exception
       {
         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
         myParser parser = new myParser();            // Instantiate Parser+Semantics
         while (true)
         {
           System.out.print("> ");                    // Print prompt
           String line = in.readLine();               // Read line
           if (line.length()==0) return;              // Quit on empty line

// Path: Mouse/source/runtime/SourceString.java
// public class SourceString implements Source
// {
//   //=====================================================================
//   //
//   //  Data.
//   //
//   //=====================================================================
//   //-------------------------------------------------------------------
//   //  The String.
//   //  Note: it is the string given to the constructor, not a copy.
//   //-------------------------------------------------------------------
//   final String text;
// 
//   //=====================================================================
//   //
//   //  Constructor. Wraps the string 's'.
//   //
//   //=====================================================================
//   public SourceString(final String s)
//     { text = s; }
// 
// 
//   //=====================================================================
//   //
//   //  Interface methods.
//   //
//   //=====================================================================
//   //-------------------------------------------------------------------
//   //  Is the wrapper correctly initialized?
//   //-------------------------------------------------------------------
//   public boolean created()
//     { return true; }
// 
//   //-------------------------------------------------------------------
//   //  Returns end position.
//   //-------------------------------------------------------------------
//   public int end()
//     { return text.length(); }
// 
//   //-------------------------------------------------------------------
//   //  Returns character at position p.
//   //-------------------------------------------------------------------
//   public char at(int p)
//     { return text.charAt(p); }
// 
//   //-------------------------------------------------------------------
//   //  Returns characters at positions p through q-1.
//   //-------------------------------------------------------------------
//   public String at(int p, int q)
//     { return text.substring(p,q); }
// 
//   //-------------------------------------------------------------------
//   //  Describes position p in terms of preceding text.
//   //-------------------------------------------------------------------
//   public String where(int p)
//     {
//       if (p>15)
//         return "After '... " + text.substring(p-15,p) + "'";
//       else if (p>0)
//         return "After '" + text.substring(0,p) + "'";
//       else
//         return "At start";
//     }
// }


// Path: Mouse/examples/example6/Try.java
   import mouse.runtime.SourceString;
   import java.io.BufferedReader;
   import java.io.InputStreamReader;




   class Try
   {
     public static void main(String argv[])
       throws Exception
       {
         BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
         myParser parser = new myParser();            // Instantiate Parser+Semantics
         while (true)
         {
           System.out.print("> ");                    // Print prompt
           String line = in.readLine();               // Read line
           if (line.length()==0) return;              // Quit on empty line

           SourceString src = new SourceString(line); // Wrap up the line
