[antlr-interest] Stack Overflow in the tree parser

Fan Yang fanyang_32 at yahoo.ca
Thu May 19 11:59:01 PDT 2005


Hi All,
 
When I'm using java parser(generate in C#) to parser the following code, StackOverflow Exception was threw in the tree parser. the problem is deep recursive function call in array initializor. 
 
 Would you please tell me how to deal with this problem(not mean to increase the stack size). Any suggestion will be appriciated.
 
Fan
 
 
 
The trouble maker source code :
 
    public Object[][] getContents() {
        return new Object[][] {
            { "LocaleString", "ja" }, // locale id based on iso codes
            { "CollationElements",
                // Japanese JIS order
                // Ignorables
                "&\u0486;\u30FC"                         // L. MARK
                + ";\u3099"                                // V. MARK
                + ";\u309A"                                // SV. MARK
                + ";\u30FB"                                // Kana MIDDLE DOT
                + ",\u303F"                                // IDEOGRAPHIC HALF FILL SPACE
                // Symbols
                + "&\u2212 <\u309B"                       // Kana-Gana V. SOUND MARK
                + "<\u309C"                                // Kana-Gana SV. SOUND MARK
                + "<\u309D"                                // Gana ITERATION MARK
                + ",\u30FD"                                // Kana ITERATION MARK
                + "<\u309E"                                // Gana V. ITERATION MARK
                + ",\u30FE"                                // Kana V. ITERATION MARK
                // Hiragana/Kanakana Letters
                // Remember that decomposition automatically turns
                // <ga> into <ka><length>, so <ga>,etc. don't need separate rules
                + "& Z <\u3042"                            // Gana A
                + ",\u3041"                                // Gana SMALL A
                + ",\u30A2"                                // Kana A
                + ",\u30A1"                                // Kana SMALL A
                + "<\u3044"                                // Gana I
                + ",\u3043"                                // Gana SMALL I
                + ",\u30A4"                                // Kana I
                + ",\u30A3"                                // Kana SMALL I
                + "<\u3046"                                // Gana U
                + ",\u3045"                                // Gana SMALL U
                + ",\u30A6"                                // Kana U
                + ",\u30A5"                                // Kana SMALL U
                + "<\u3048"                                // Gana E
                + ",\u3047"                                // Gana SMALL E
                + ",\u30A8"                                // Kana E
                + ",\u30A7"                                // Kana SMALL E
                + "<\u304A"                                // Gana O
                + ",\u3049"                                // Gana SMALL O
                + ",\u30AA"                                // Kana O
                + ",\u30A9"                                // Kana SMALL O
                + "<\u304B"                                // Gana KA
                + ",\u30AB"                                // Kana KA
                + ",\u30F5"                                // Kana SMALL KA
                + "<\u304D"                                // Gana KI
                + ",\u30AD"                                // Kana KI
                + "<\u304F"     // Gana KU
                + ",\u30AF"     // Kana KU
                + "<\u3051"     // Gana KE
                + ",\u30B1"     // Kana KE
                + ",\u30F6"     // Kana SMALL KE
                + "<\u3053"     // Gana KO
                + ",\u30B3"     // Kana KO
                + "<\u3055"     // Gana SA
                + ",\u30B5"     // Kana SA
                + "<\u3057"     // Gana SI
                + ",\u30B7"     // Kana SI
                + "<\u3059"     // Gana SU
                + ",\u30B9"     // Kana SU
                + "<\u305B"     // Gana SE
                + ",\u30BB"     // Kana SE
                + "<\u305D"     // Gana SO
                + ",\u30BD"     // Kana SO
...
more are here
...
                " < \u582f < \u69c7 < \u9059 < \u7464 < \u51dc < \u7199"
            }
        };
    }




---------------------------------
Post your free ad now! Yahoo! Canada Personals
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20050519/589f2b49/attachment.html


More information about the antlr-interest mailing list