source: trunk/yao/share/antlr-2.7.7/lib/cpp/TODO @ 1

Last change on this file since 1 was 1, checked in by lnalod, 15 years ago

Initial import of YAO sources

File size: 3.4 KB
Line 
1* ANTLR should issue a warning if you have protected rules and
2  filter == true or filter=IGNORE in a lexer?
3  This can be tackled by tracking rule references in a more general approach.
4
5* Have a look at the doc's.
6
7* Add allocators to the objects
8
9* Look more at exception handling
10
11* TreeParser.cpp around line 76 the MismatchedTokenException here does not
12  use ttype to improve it's errormessage. Would require changing a bit in
13  MismatchedTokenException.cpp
14
15* On Thu, Sep 21, 2000 at 12:33:48AM -0700, John Lambert <JohnL@jBASE.com> wrote:
16  > 1) The literal EOF is not defined and causes the define of EOF_CHAR  in
17  > CharScanner.hpp to fail.
18
19  ANTLR with STL Port. Changing the EOF define to char_traits<char>::eof()
20  breaks things for gcc-2.95.2. Fix this in next release portably.
21  http://www.egroups.com/message/antlr-interest/2520
22
23* Fix heterogeneous AST stuff. It boils down to adding a method to AST
24  types that knows how to duplicate the sucker.
25  -> done clone() added.
26  Knowing one factory is not enough.
27  -> done in C++ have a superfactory.
28  Also look at having to set the astfactory by hand (this is not 100% necessary).
29  Double check generated code.
30  http://groups.yahoo.com/group/antlr-interest/message/2496
31
32* Look at messageLog stuff Ross Bencina proposed. Looks good at first glance.
33  http://www.egroups.com/message/antlr-interest/2555
34
35* Add RW_STL & CC 4.2 patch from Ulrich Teichert:
36  See my mailbox.. and these comments from Ross Bencina:
37  http://www.egroups.com/message/antlr-interest/2494
38
39* in action.g (java and C++) ##.initialize / ##->initialize is not
40  recognized as an assigment to the root node. In the case ## is followed
41  by ./-> initialize transInfo.assignToRoot should be set to true.
42  Report by Matthew Ford (12 march 2001)
43
44* Add TokenLabelType option for generated lexers. Hmmm can already set token
45  factory. Then again.. you may run into a cast fest..
46
47* Fix some #line counting oddities (Mike Barnett)
48  >     nonterm
49  >     {
50  >          ## = #([TOK,"TOK"],
51  >                     ... Other stuff ...
52  >              );
53  >          f();
54  >     }
55  generates wrong #line info need to fix action.g a bit better.
56
57* This one triggers a bug in antlr's codegen.
58  #perform_action = #( create_tau_ast(#p1->getLine(),#p1->getColumn()), #p1 );
59
60  #p1 are replaced by p1 in stead of p1_AST. It's really time to rewrite this
61  mess.
62
63  Workaround:
64
65  RefModest_AST tau = create_tau_ast(#p1->getLine(),#p1->getColumn());
66  #perform_action = #( tau, #p1 );
67
68* Unicode and related.
69  - The patch from Jean-Daniel Fekete is an approach. But has some issues.
70  + It is probably necessary to discern an 'internal' string/char type and
71    'external' ones. The external ones are for the lexer input. The
72         'internal ones' are for standard antlr error messages etc. Translators
73         from external to internal should be provided.
74         Hmm on second thought.. probably not really an issue.
75  + What should the lexer read?
76    - Unicode units from a 'unicode reader' in a sense this unicode reader
77      is a lexer itself. Just reading iconv/iconv_open manpages.. Maybe we
78      can hide this with iconv in the InputBuffer mechanisms?
79         - Interpret unicode ourselves. Ugh don't want to think of that right now.
80           we probably redo something that has been done. Only problem is that we
81                need something that's portable (C++ case)
82  + What changes are necessary in the rest of the code to support a wide
83    character set? Think most should be handled in/below the lexer level.
Note: See TracBrowser for help on using the repository browser.