known_problems

来自「本工具提供一个词法分析器和语法分析器的集成开发环境」· 代码 · 共 111 行

TXT
111
字号
    =======================================================    Known Problems In PCCTS - Last revised 27 February 1998    =======================================================#11. User hook for deallocation of variables on guess fail     The mechanism outlined in Item #108 works only for     heap allocated variables.#10. Label re-initialization in ( X {y:Y} )*     If a label assignment is optional and appears in a     (...)* or (...)+ block it will not be reset to NULL     when it is skipped by a subsequent iteration.     Consider the example:            ( X { y:Y })* Z     with input:            X Y X Z     The first time through the block Y will be matched and     y will be set to point to the token.  On the second     iteration of the (...)* block there is no match for Y.     But y will not be reset to NULL, as the user might     expect, it will contain a reference to the Y that was     matched in the first iteration.     The work-around is to manually reset y:            ( X << y = NULL; >> { y:Y } )* Z        or            ( X ( y:Y | << y = NULL; >> /* epsilon */ ) )* Z     Reported by Jeff Vincent (JVincent@novell.com).#9. PCCTAST.h PCCTSAST::setType() is a noop#8. #tokdefs with ~Token and .    When antlr uses #tokdefs to define tokens the fields of    #errclass and #tokclass do not get properly defined.    When it subsequently attempts to take the complement of    the set of tokens (using ~Token or .) it can refer to    tokens which don't have names, generating a fatal error.        THM: I have been unable to reproduce this problem.#7. DLG crashes on some invalid inputs    The following token defintion will cause DLG to crash.        #token "()"    Reported by  Mengue Olivier (dolmen@bigfoot.com).#6. On MS systems \n\r is treated as two new lines    Fixed.#5. Token expressions in #tokclass    #errclass does not support TOK1..TOK2 or ~TOK syntax.    #tokclass does not support ~TOKEN syntax    A workaround for #errclass TOK1..TOK2 is to use a    #tokclass.    Reported by Dave Watola (dwatola@amtsun.jpl.nasa.gov)#4. A #tokdef must appear "early" in the grammar file.    The "early" section of the grammar file is the only    place where the following directives may appear:        #header        #first        #tokdefs        #parser    Any other kind of statement signifiies the end of the    "early" section.#3. Use of PURIFY macro for C++ mode    Item #93 of the CHANGES_FROM_1.33 describes the use of    the PURIFY macro to zero arguments to be passed by    upward inheritance.        #define PURIFY(r, s) memset((char *) &(r), '\0', (s));    This may not be the right thing to do for C++ objects that    have constructors.  Reported by Bonny Rais (bonny@werple.net.au).    For those cases one should #define PURIFY to be an empty macro    in the #header or #first actions.#2. Fixed in 1.33MR10 - See CHANGES_FROM_1.33 Item #80.#1. The quality of support for systems with 8.3 file names leaves    much to be desired.  Since the kit is distributed using the    long file names and the make file uses long file names it requires    some effort to generate.  This will probably not be changed due    to the large number of systems already written using the long    file names.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?