Loading ...
Sorry, an error occurred while loading the content.

Stack Overflow Problem.

Expand Messages
  • Trey Spiva
    I have used the java grammar to produce a java parser in C++. When trying to parse the java.lang.Character.java source file the stack overflows when cleaning
    Message 1 of 1 , Aug 2, 2002
    • 0 Attachment

      I have used the java grammar to produce a java parser in C++.  When trying to parse the java.lang.Character.java source file the stack overflows when cleaning up the AST tree.

       

      The problem is because the data member Y_DATA has a huge initializer.  Therefore, the AST tree is extremely deep instead of wide.  Does any one have any ideas?

       

      private static final String Y_DATA =

          "\000\000\000\000\002\004\004\000\000\000\000\000\000\000\004\004\006\010\012"+

          "\014\016\020\022\024\026\026\026\026\026\030\032\034\036\040\040\040\040\040"+

          "\040\040\040\040\040\040\040\042\044\046\050\052\052\052\052\052\052\052\052"+

          "\052\052\052\052\054\056\060\000\000\000\000\000\000\000\000\000\000\000\000"+

          "\000\000\000\000\062\064\064\066\070\072\074\076\100\102\104\106\110\112\114"+

          "\116\120\120\120\120\120\120\120\120\120\120\120\122\120\120\120\124\126\126"+

          "\126\126\126\126\126\126\126\126\126\130\126\126\126\132\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\136\134\134\134\140\142\142\142\142\142\142\142\144\134\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\146\142"+

          "\142\150\152\134\134\154\156\160\144\162\164\156\166\170\134\172\174\176\134"+

          "\134\134\200\202\204\134\206\210\212\142\214\134\216\134\220\220\220\222\224"+

          "\226\222\230\142\142\142\142\142\142\142\232\134\134\134\134\134\134\134\134"+

          "\134\234\226\134\236\236\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\236\172\240\242\244\246\250\172\172"+

          "\252\254\172\172\256\172\172\260\172\262\264\172\172\172\172\172\172\266\172"+

          "\172\270\272\172\172\172\274\172\172\172\172\172\172\172\172\172\172\276\236"+

          "\236\236\300\300\300\300\302\304\300\300\300\306\306\306\306\306\306\306\300"+

          "\306\306\306\306\306\306\310\300\300\302\306\306\236\236\236\236\236\236\236"+

          "\236\236\236\236\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312"+

          "\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312\312"+

          "\312\236\236\236\236\236\236\236\236\236\236\236\236\236\312\236\236\236\236"+

          "\236\236\236\236\236\314\236\236\316\236\320\236\236\306\322\324\326\330\332"+

          "\334\120\120\120\120\120\120\120\120\336\120\120\120\120\340\342\344\126\126"+

          "\126\126\126\126\126\126\346\126\126\126\126\350\352\354\356\360\362\236\364"+

          "\364\364\364\134\134\134\134\134\134\134\366\216\236\236\236\236\236\236\370"+

          "\372\372\372\372\372\374\372\120\120\120\120\120\120\120\120\120\120\120\120"+

          "\120\120\120\120\126\126\126\126\126\126\126\126\126\126\126\126\126\126\126"+

          "\126\376\u0100\u0100\u0100\u0100\u0100\u0102\u0100\134\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\u0104\312\u0106\236\236\236\236"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\134\134\134\u0108\142\u010A\u010C\u010A\u010C\u010A\236\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\236\134\134\134\134\236\134\236"+

          "\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\u010E\u0110\u0110\u0110\u0110\u0110\u0110\u0110"+

          "\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0112\u0114"+

          "\314\314\314\u0116\u0118\u0118\u0118\u0118\u0118\u0118\u0118\u0118\u0118\u0118"+

          "\u0118\u0118\u0118\u0118\u0118\u0118\u0118\u0118\u011A\u011C\236\236\236\u011E"+

          "\u0120\u0120\u0120\u0120\u0120\u0120\u0120\u0120\u011E\u0120\u0120\u0120\u0120"+

          "\u0120\u0120\u0120\u0120\u0120\u0120\u0120\u011E\u0120\u0122\u0122\u0124\u0126"+

          "\236\236\236\236\236\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128"+

          "\u0128\u0128\u0128\u0128\u012A\236\236\u0128\u012C\u012E\236\236\236\236\236"+

          "\236\236\236\236\236\236\u012E\236\236\236\236\236\236\u0130\236\u0130\u0132"+

          "\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u012A"+

          "\236\236\u0134\u0128\u0128\u0128\u0128\u0136\u0120\u0120\u0120\u0126\236\236"+

          "\236\236\236\236\u0138\u0138\u0138\u0138\u0138\u013A\u013C\236\u013E\u0128"+

          "\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128"+

          "\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128"+

          "\u0128\u0128\u0128\u0128\u0128\u0128\u0128\u0128\236\u0128\u0128\u012A\u0128"+

          "\u0128\u0128\u0128\u0128\u0128\u0128\u012A\u0128\u0128\u0140\u0120\u0120\u0120"+

          "\u0142\u0144\u0120\u0120\u0146\u0148\u014A\u0120\u0120\236\026\026\026\026"+

          "\026\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\u014C"+

          "\u014E\u0150\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\236\u0152\u0154\u0156\312\312\312"+

          "\u014E\u0154\u0156\236\u0104\312\u0106\236\220\220\220\220\220\312\314\u0158"+

          "\u0158\u0158\u0158\u0158\320\236\236\236\236\236\236\236\u014C\u0154\u0150"+

          "\220\220\220\u015A\u0150\u015A\u0150\220\220\220\220\220\220\220\220\220\220"+

          "\u015A\220\220\220\u015A\u015A\236\220\220\236\u0106\u0154\u0156\312\u0106"+

          "\u015C\u015E\u015C\u0156\236\236\236\236\u015C\236\236\220\u0150\220\312\236"+

          "\u0158\u0158\u0158\u0158\u0158\220\u0160\u0162\u0162\u0164\u0166\236\236\236"+

          "\u0106\u0150\220\220\u015A\236\u0150\u015A\u0150\220\220\220\220\220\220\220"+

          "\220\220\220\u015A\220\220\220\u015A\220\u0150\u015A\220\236\u0106\u0154\u0156"+

          "\u0106\236\u014C\u0106\u014C\312\236\236\236\236\236\u0150\220\u015A\u015A"+

          "\236\236\236\u0158\u0158\u0158\u0158\u0158\312\220\u015A\236\236\236\236\236"+

          "\u014C\u014E\u0150\220\220\220\u0150\u0150\220\u0150\220\220\220\220\220\220"+

          "\220\220\220\220\u015A\220\220\220\u015A\220\u0150\220\220\236\u0152\u0154"+

          "\u0156\312\312\u014C\u014E\u015C\u0156\236\u0166\236\236\236\236\236\236\236"+

          "\u015A\236\236\u0158\u0158\u0158\u0158\u0158\236\236\236\236\236\236\236\236"+

          "\u014C\u0154\u0150\220\220\220\u015A\u0150\u015A\u0150\220\220\220\220\220"+

          "\220\220\220\220\220\u015A\220\220\220\u015A\220\236\220\220\236\u0152\u0156"+

          "\u0156\312\236\u015C\u015E\u015C\u0156\236\236\236\236\u014E\236\236\220\u0150"+

          "\220\236\236\u0158\u0158\u0158\u0158\u0158\u0166\236\236\236\236\236\236\236"+

          "\236\u014E\u0150\220\220\u015A\236\220\u015A\220\220\236\u0150\u015A\u015A"+

          "\220\236\u0150\u015A\236\220\u015A\236\220\220\220\220\u0150\220\236\236\u0154"+

          "\u014E\u015E\236\u0154\u015E\u0154\u0156\236\236\236\236\u015C\236\236\236"+

          "\236\236\236\236\u0168\u0158\u0158\u0158\u0158\u016A\u016C\236\236\236\236"+

          "\236\236\u015C\u0154\u0150\220\220\220\u015A\220\u015A\220\220\220\220\220"+

          "\220\220\220\220\220\220\u015A\220\220\220\220\220\u0150\220\220\236\236\312"+

          "\u014E\u0154\u015E\312\u0106\312\312\236\236\236\u014C\u0106\236\236\236\236"+

          "\220\236\236\u0158\u0158\u0158\u0158\u0158\236\236\236\236\236\236\236\236"+

          "\236\u0154\u0150\220\220\220\u015A\220\u015A\220\220\220\220\220\220\220\220"+

          "\220\220\220\u015A\220\220\220\220\220\u0150\220\220\236\236\u0156\u0154\u0154"+

          "\u015E\u014E\u015E\u0154\312\236\236\236\u015C\u015E\236\236\236\u015A\220"+

          "\236\236\u0158\u0158\u0158\u0158\u0158\236\236\236\236\236\236\236\236\236"+

          "\u0154\u0150\220\220\220\u015A\220\u015A\220\220\220\220\220\220\220\220\220"+

          "\220\220\u015A\220\220\220\220\220\220\220\220\236\236\u0154\u0156\312\236"+

          "\u0154\u015E\u0154\u0156\236\236\236\236\u015C\236\236\236\236\220\236\236"+

          "\u0158\u0158\u0158\u0158\u0158\236\236\236\236\236\236\236\236\u0150\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\u016E\u0170\220\312\312\312\u0106\236\u0172\220\220\220\u0174\312\312"+

          "\312\u0176\u0178\u0178\u0178\u0178\u0178\314\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\u0150\u015A\u015A\u0150\u015A\u015A"+

          "\u0150\236\236\236\220\220\u0150\220\220\220\u0150\220\u0150\u0150\236\220"+

          "\u0150\u016E\u0170\220\312\312\312\u014C\u0152\236\220\220\u015A\316\312\312"+

          "\312\236\u0178\u0178\u0178\u0178\u0178\236\220\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\u017A\u017A\314\314\314\314\314\314"+

          "\314\u017C\u017A\u017A\312\u017A\u017A\u017A\u017E\u017E\u017E\u017E\u017E"+

          "\u0180\u0180\u0180\u0180\u0180\u0104\u0104\u0104\u0182\u0182\u0154\220\220"+

          "\220\220\u0150\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\236\236\236\u014C\312\312\312\312\312\312\u014E\312\312\u0184\312\312"+

          "\312\236\236\312\312\312\u014C\u014C\312\312\312\312\312\312\312\312\312\312"+

          "\236\u014C\312\312\312\u014C\236\236\236\236\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110"+

          "\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\u0110\236\236"+

          "\236\236\236\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172\172"+

          "\172\172\172\276\236\u011C\236\236\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\236\236\u0150"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\u015A\236\236\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\236\236\236\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\172\172\u0186\236\236\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134\134"+

          "\134\134\134\134\236\236\236\u0188\u0188\u0188\u0188\u018A\u018A\u018A\u018A"+

          "\u0188\u0188\u0188\236\u018A\u018A\u018A\236\u0188\u0188\u0188\u0188\u018A"+

          "\u018A\u018A\u018A\u0188\u0188\u0188\u0188\u018A\u018A\u018A\u018A\u0188\u0188"+

          "\u0188\236\u018A\u018A\u018A\236\u018C\u018C\u018C\u018C\u018E\u018E\u018E"+

          "\u018E\u0188\u0188\u0188\u0188\u018A\u018A\u018A\u018A\u0190\u0192\u0192\u0194"+

          "\u0196\u0198\u019A\236\u0188\u0188\u0188\u0188\u018A\u018A\u018A\u018A\u0188"+

          "\u0188\u0188\u0188\u018A\u018A\u018A\u018A\u0188\u0188\u0188\u0188\u018A\u018A"+

          "\u018A\u018A\u0188\u019C\276\172\u018A\u019E\u01A0\u01A2\306\u019C\276\172"+

          "\u01A4\u01A4\u01A0\306\u0188\172\236\172\u018A\u01A6\u01A8\306\u0188\172\u01AA"+

          "\172\u018A\u01AC\u01AE\306\236\u019C\276\172\u01B0\u01B2\u01A0\310\u01B4\u01B4"+

          "\u01B4\u01B6\u01B4\u01B4\u01B8\u01BA\u01BC\u01BC\u01BC\014\u01BE\u01C0\u01BE"+

          "\u01C0\014\014\014\014\u01C2\u01B8\u01B8\u01C4\u01C6\u01C6\u01C8\014\u01CA"+

          "\u01CC\014\u01CE\u01D0\014\u01D2\u01D4\236\236\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\u01B8\u01B8\u01B8\u01D6\236\102\102\102\u01D8"+

          "\u01D2\u01DA\u01DC\u01DC\u01DC\u01DC\u01DC\u01D8\u01D2\u01D4\236\236\236\236"+

          "\236\236\236\236\064\064\064\064\064\064\u01DE\236\236\236\236\236\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\312\312\312\312\312\312\u01E0\u01E2"+

          "\u01E4\236\236\236\236\236\236\236\236\236\236\236\236\236\236\236\066\u01E6"+

          "\066\u01E8\066\u01EA\u01EC\u01EE\u01EC\u01F0\u01E8\066\u01EC\u01EC\u01EC\066"+

          "\066\066\u01E6\u01E6\u01E6\u01EC\u01EC\u01EE\u01EC\u01E8\u01F2\u01F4\u01F6"+

          "\236\236\236\236\236\236\236\236\236\236\236\236\u01F8\114\114\114\114\114"+

          "\u01FA\u01FC\u01FC\u01FC\u01FC\u01FC\u01FC\u01FE\u01FE\u0200\u0200\u0200\u0200"+

          "\u0200\u0200\u0202\u0202\u0204\u0206\236\236\236\236\236\236\u0208\u0208\u020A"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\u020A\u020A\066\066\066\066\066"+

          "\066\066\066\066\066\u020C\236\236\236\236\236\236\236\236\236\236\u020E\u0210"+

          "\032\u0208\u0210\u0210\u0210\u0208\u020E\u01D8\u020E\032\u0208\u0210\u0210"+

          "\u020E\u0210\032\032\032\u0208\u020E\u0210\u0210\u0210\u0210\u0208\u0208\u020E"+

          "\u020E\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\032\u0208\u0208\u0210"+

          "\u0210\u0208\u0208\u0208\u0208\u020E\032\032\u0210\u0210\u0210\u0210\u0208"+

          "\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210"+

          "\u0210\u0210\032\u020E\u0210\032\u0208\u0208\032\u0208\u0208\u0208\u0208\u0210"+

          "\u0208\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\032\u0208\u0208"+

          "\u0210\u0208\u0208\u0208\u0208\u020E\u0210\u0210\u0208\u0210\u0208\u0208\u0210"+

          "\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0210\u0208\u0210"+

          "\236\236\236\236\236\236\236\u020C\066\066\066\u0210\u0210\066\066\066\066"+

          "\066\066\066\066\066\066\u0210\066\066\066\u0212\u0214\066\066\066\066\066"+

          "\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A"+

          "\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A"+

          "\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u017A\u0166\236\236\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\u020C\236\236"+

          "\236\236\236\236\236\236\236\236\236\236\236\066\066\066\066\066\u020C\236"+

          "\236\236\236\236\236\236\236\236\236\u0216\u0216\u0216\u0216\u0216\u0216\u0216"+

          "\u0216\u0216\u0216\u0218\u0218\u0218\u0218\u0218\u0218\u0218\u0218\u0218\u0218"+

          "\u021A\u021A\u021A\u021A\u021A\u021A\u021A\u021A\u021A\u021A\066\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\u021C\u021C\u021C\u021C\u021C\u021C\u021C"+

          "\u021C\u021C\u021C\u021C\u021C\u021C\u021E\u021E\u021E\u021E\u021E\u021E\u021E"+

          "\u021E\u021E\u021E\u021E\u021E\u021E\u0220\236\236\236\236\236\236\236\236"+

          "\236\236\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\066\066\236\236\236\236\236\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\236\236\236\236\236"+

          "\236\236\236\066\066\066\066\066\066\066\066\066\066\236\236\236\066\066\066"+

          "\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\u0222\066"+

          "\u020C\066\066\236\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\u0222\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066\066"+

          "\u0222\u0222\066\u020C\236\u020C\066\066\066\u020C\u0222\066\066\066\236\236"+

          "\236\236\236\236\236\u0224\u0224\u0224\u0224\u0224\u0216\u0216\u0216\u0216"+

          "\u0216\u0226\u0226\u0226\u0226\u0226\u020C\236\066\066\066\066\066\066\066"+

          "\066\066\066\066\066\u0222\066\066\066\066\066\066\u020C\006\014\u0228\u022A"+

          "\016\016\016\016\016\066\016\016\016\016\u022C\u022E\u0230\u0232\u0232\u0232"; //+

         "\u0232\312\312\312\u0234\u0236\u0236\066\236\236\236\u0222\u0150\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220\220"+

          "\u015A\236\u014C\u0238\300\316\u0150\220\220\220\220\220\220\220\220\220\220"+

          "\220\220\220\220\220\220\220\220\220\220\220\22

       

      Trey Spiva

      Senior Software Engineer

      trey.spiva@...

       

    Your message has been successfully submitted and would be delivered to recipients shortly.