* Strings from Lexer are "raw" ie. back-slashed stuff hasn't been 
  "expanded"/"compacted". Simples is probably to eval them?!

* The terms should be annotated with their position (the position of the first
  token). Not all of them are right now.

* Clean up the Ruby::Term's. They ar enot consistent as is.

* Write ParseActions class for generating Matju's RubySchema's. 

* Find out why we get shift/reduce conflicts from Racc.

* Many more tests of the parser.

* Convert all tokens that are carried through to the ast from RaccTokens to 
  Token<Term. Now its only partial. Probably no need to do it for all
  tokens since keywords are discarded.

* Speed-up by not extracting keywords in the lexer?

* block args not working?!

* Change from simple byte count Position object to (Line, Column) for better
  error messages.

* Add the tricky tests in Matju's [ruby-talk:22144]

* Get feedback on parser API.

Long-term:
* Transform parse.y to a SDF grammar with yacc2sdf from XT.
* Use the SDF grammar to write a Rockit grammar for Ruby.

Apps for a RubyInRuby parser:
-----------------------------
* Ruby pretty-printer, rbpp. Command line tool with args:
	* --indent="  "     - the indent, defaults to two spaces

* UML diagram creator
	* Parse Ruby code to RubyAST
	* Extract info about classes. Instances of Ruby::Info::Class with:
		* Name
		* methods and attributes (public, protected, private) in
		  Ruby::Info::Method
		* connection to other classes (ie. points to other
		  Ruby::Info::Class objects)
	* Output as UML diagram in SVG
		* Maybe make SVG elements for the UML diagram stuff
		  and then convert from the ClassInfo to UML diagram?
	* Alternatively we can parse Ruby and build a full UML representation
	  and then dump that to SVG. A full implementation of UML 1.3 physical
	  metamodel is available in nsuml.sf.net. There is also Box
          which reads XMI, builds UML model and then outputs SVG.
	* CHECK OUT: TogetherSoft's products can output UML diagrams as SVG
	  "Together Control Center 5.5 uses Batik to export UML diagrams in SVG." at http://xml.apache.org/batik/
	* CHECK OUT: XMI to describe UML diagrams in XML.
	   http://www.omg.org/technology/documents/formal/xmi.htm
	* CHECK OUT: IBM alphaworks XMI toolkit
		http://www.alphaworks.ibm.com/tech/xmitoolkit

* Ruby Control Flow Graph's. Build CFG from AST. Use dot?

* Language feature experiments:
	* Multi-methods. Check out the paper with parasitic methods in Java:
		http://citeseer.nj.nec.com/boyland97parasitic.html
	      The paper presents how to preprocess Java code with multi-methods
	      to ordinary Java. We can probably do it the same way in Ruby.
	      Its not fully general multi-methods but excapsulated mm's.

	    As a side note here's a paper discussing how to add it to JVM:
		http://citeseer.nj.nec.com/dutchyn01multidispatch.html

	    And here is a paper on doing it with low alg complexity:
		http://citeseer.nj.nec.com/ferragina99multimethod.html
	* "Static" type inference. Given type hints we can check that
	  a program is partially type correct. Might be fun and important
	  for optimizations in RubyVM/RubyCompiler.

* Ruby Analysis and Visualization System (RAVIS)
	* Along the lines of 
	    http://www.thesmallworlds.com/products/features.html
          which is a C/C++/Java analyzer/visualizer.