TODO   [plain text]


* ANTLR should issue a warning if you have protected rules and
  filter == true or filter=IGNORE in a lexer?
  This can be tackled by tracking rule references in a more general approach.

* Have a look at the doc's.

* Add allocators to the objects

* Look more at exception handling

* TreeParser.cpp around line 76 the MismatchedTokenException here does not
  use ttype to improve it's errormessage. Would require changing a bit in
  MismatchedTokenException.cpp

* On Thu, Sep 21, 2000 at 12:33:48AM -0700, John Lambert <JohnL@jBASE.com> wrote:
  > 1) The literal EOF is not defined and causes the define of EOF_CHAR  in
  > CharScanner.hpp to fail.

  ANTLR with STL Port. Changing the EOF define to char_traits<char>::eof()
  breaks things for gcc-2.95.2. Fix this in next release portably.
  http://www.egroups.com/message/antlr-interest/2520

* Fix heterogeneous AST stuff. It boils down to adding a method to AST
  types that knows how to duplicate the sucker.
  -> done clone() added.
  Knowing one factory is not enough.
  -> done in C++ have a superfactory.
  Also look at having to set the astfactory by hand (this is not 100% necessary).
  Double check generated code.
  http://groups.yahoo.com/group/antlr-interest/message/2496

* Look at messageLog stuff Ross Bencina proposed. Looks good at first glance.
  http://www.egroups.com/message/antlr-interest/2555

* Add RW_STL & CC 4.2 patch from Ulrich Teichert:
  See my mailbox.. and these comments from Ross Bencina:
  http://www.egroups.com/message/antlr-interest/2494

* in action.g (java and C++) ##.initialize / ##->initialize is not
  recognized as an assigment to the root node. In the case ## is followed
  by ./-> initialize transInfo.assignToRoot should be set to true.
  Report by Matthew Ford (12 march 2001)

* Add TokenLabelType option for generated lexers. Hmmm can already set token
  factory. Then again.. you may run into a cast fest..

* Fix some #line counting oddities (Mike Barnett)
  > 	nonterm
  > 	{
  >          ## = #([TOK,"TOK"],
  > 			... Other stuff ...
  > 	         );
  >          f();
  > 	}
  generates wrong #line info need to fix action.g a bit better.

* This one triggers a bug in antlr's codegen.
  #perform_action = #( create_tau_ast(#p1->getLine(),#p1->getColumn()), #p1 );

  #p1 are replaced by p1 in stead of p1_AST. It's really time to rewrite this
  mess.

  Workaround:

  RefModest_AST tau = create_tau_ast(#p1->getLine(),#p1->getColumn());
  #perform_action = #( tau, #p1 );

* Unicode and related.
  - The patch from Jean-Daniel Fekete is an approach. But has some issues.
  + It is probably necessary to discern an 'internal' string/char type and
    'external' ones. The external ones are for the lexer input. The
	 'internal ones' are for standard antlr error messages etc. Translators
	 from external to internal should be provided.
	 Hmm on second thought.. probably not really an issue.
  + What should the lexer read?
    - Unicode units from a 'unicode reader' in a sense this unicode reader
      is a lexer itself. Just reading iconv/iconv_open manpages.. Maybe we
      can hide this with iconv in the InputBuffer mechanisms?
	 - Interpret unicode ourselves. Ugh don't want to think of that right now.
	   we probably redo something that has been done. Only problem is that we
		need something that's portable (C++ case)
  + What changes are necessary in the rest of the code to support a wide
    character set? Think most should be handled in/below the lexer level.