From: <bri...@us...> - 2003-07-30 02:28:18
|
Update of /cvsroot/webmacro/webmacro/src/org/webmacro/parser In directory sc8-pr-cvs1:/tmp/cvs-serv2401/src/org/webmacro/parser Modified Files: WMParser_impl.java WMParser_implConstants.java WMParser_implTokenManager.java Log Message: Replace complicated cache manager options with SimpleCacheManager (simple cache backed by ConcurrentHashMap) and ReloadingCacheManager (complicated reloading/expiring, simplified version of SMapCacheManager); replace TimeLoop (used by ReloadingCacheManager) with ClockDaemon; eliminate all the silly pseudo-optimization associated with ScalableXxx. Index: WMParser_impl.java =================================================================== RCS file: /cvsroot/webmacro/webmacro/src/org/webmacro/parser/WMParser_impl.java,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** WMParser_impl.java 21 Jul 2003 21:28:24 -0000 1.52 --- WMParser_impl.java 30 Jul 2003 02:28:14 -0000 1.53 *************** *** 2,18 **** package org.webmacro.parser; ! import org.webmacro.Broker; ! import org.webmacro.Context; ! import org.webmacro.WM; import org.webmacro.directive.*; import org.webmacro.directive.Directive.ArgDescriptor; import org.webmacro.directive.Directive.OptionChoice; import org.webmacro.directive.Directive.Subdirective; - import org.webmacro.engine.*; [...7572 lines suppressed...] + jj_rescan = false; + } ! final private void jj_save(int index, int xla) { ! JJCalls p = jj_2_rtns[index]; ! while (p.gen > jj_gen) { ! if (p.next == null) { p = p.next = new JJCalls(); break; } ! p = p.next; } + p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla; + } + + static final class JJCalls { + int gen; + Token first; + int arg; + JJCalls next; + } } Index: WMParser_implConstants.java =================================================================== RCS file: /cvsroot/webmacro/webmacro/src/org/webmacro/parser/WMParser_implConstants.java,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** WMParser_implConstants.java 12 Jun 2003 00:47:46 -0000 1.13 --- WMParser_implConstants.java 30 Jul 2003 02:28:14 -0000 1.14 *************** *** 2,134 **** package org.webmacro.parser; ! public interface WMParser_implConstants ! { ! int EOF = 0; ! int _ALPHA_CHAR = 1; ! int _NUM_CHAR = 2; ! int _ALPHANUM_CHAR = 3; ! int _IDENTIFIER_CHAR = 4; ! int _IDENTIFIER = 5; ! int _NEWLINE = 6; ! int _WHITESPACE = 7; ! int _QCHAR = 8; ! int _RESTOFLINE = 9; ! int _COMMENT = 10; ! int STUFF = 11; ! int RBRACE = 12; ! int END = 13; ! int BEGIN = 14; ! int LBRACE = 15; ! int POUNDPOUND = 17; ! int RESTOFLINE = 18; ! int COMMENT_ELSE = 19; ! int DOLLAR = 20; ! int QCHAR = 21; ! int SLASH = 22; ! int POUND = 23; ! int QUOTE = 24; ! int SQUOTE = 25; ! int NULL = 26; ! int TRUE = 27; ! int FALSE = 28; ! int UNDEFINED = 29; ! int WS = 30; ! int NEWLINE = 31; ! int LPAREN = 32; ! int RPAREN = 33; ! int LBRACKET = 34; ! int RBRACKET = 35; ! int COLON = 36; ! int DOT = 37; ! int OP_LT = 38; ! int OP_LE = 39; ! int OP_GT = 40; ! int OP_GE = 41; ! int OP_EQ = 42; ! int OP_SET = 43; ! int OP_NE = 44; ! int OP_PLUS = 45; ! int OP_MINUS = 46; ! int OP_MULT = 47; ! int OP_DIV = 48; ! int OP_AND = 49; ! int OP_OR = 50; ! int OP_NOT = 51; ! int COMMA = 52; ! int SEMI = 53; ! int WORD = 54; ! int NUMBER = 55; ! int OTHER = 56; ! int QS_TEXT = 57; ! int SQS_TEXT = 58; ! int SQS = 0; ! int QS = 1; ! int COMMENT = 2; ! int WM = 3; ! int DEFAULT = 4; ! String[] tokenImage = { ! "<EOF>", ! "<_ALPHA_CHAR>", ! "<_NUM_CHAR>", ! "<_ALPHANUM_CHAR>", ! "<_IDENTIFIER_CHAR>", ! "<_IDENTIFIER>", ! "<_NEWLINE>", ! "<_WHITESPACE>", ! "<_QCHAR>", ! "<_RESTOFLINE>", ! "<_COMMENT>", ! "<STUFF>", ! "\"}\"", ! "\"#end\"", ! "\"#begin\"", ! "\"{\"", ! "<token of kind 16>", ! "\"##\"", ! "<RESTOFLINE>", ! "<COMMENT_ELSE>", ! "\"$\"", ! "<QCHAR>", ! "\"\\\\\"", ! "\"#\"", ! "\"\\\"\"", ! "\"\\\'\"", ! "\"null\"", ! "\"true\"", ! "\"false\"", ! "\"undefined\"", ! "<WS>", ! "<NEWLINE>", ! "\"(\"", ! "\")\"", ! "\"[\"", ! "\"]\"", ! "\":\"", ! "\".\"", ! "\"<\"", ! "\"<=\"", ! "\">\"", ! "\">=\"", ! "\"==\"", ! "\"=\"", ! "<OP_NE>", ! "\"+\"", ! "\"-\"", ! "\"*\"", ! "\"/\"", ! "<OP_AND>", ! "<OP_OR>", ! "<OP_NOT>", ! "\",\"", ! "\";\"", ! "<WORD>", ! "<NUMBER>", ! "<OTHER>", ! "<QS_TEXT>", ! "<SQS_TEXT>", ! }; } --- 2,133 ---- package org.webmacro.parser; ! public interface WMParser_implConstants { ! int EOF = 0; ! int _ALPHA_CHAR = 1; ! int _NUM_CHAR = 2; ! int _ALPHANUM_CHAR = 3; ! int _IDENTIFIER_CHAR = 4; ! int _IDENTIFIER = 5; ! int _NEWLINE = 6; ! int _WHITESPACE = 7; ! int _QCHAR = 8; ! int _RESTOFLINE = 9; ! int _COMMENT = 10; ! int STUFF = 11; ! int RBRACE = 12; ! int END = 13; ! int BEGIN = 14; ! int LBRACE = 15; ! int POUNDPOUND = 17; ! int RESTOFLINE = 18; ! int COMMENT_ELSE = 19; ! int DOLLAR = 20; ! int QCHAR = 21; ! int SLASH = 22; ! int POUND = 23; ! int QUOTE = 24; ! int SQUOTE = 25; ! int NULL = 26; ! int TRUE = 27; ! int FALSE = 28; ! int UNDEFINED = 29; ! int WS = 30; ! int NEWLINE = 31; ! int LPAREN = 32; ! int RPAREN = 33; ! int LBRACKET = 34; ! int RBRACKET = 35; ! int COLON = 36; ! int DOT = 37; ! int OP_LT = 38; ! int OP_LE = 39; ! int OP_GT = 40; ! int OP_GE = 41; ! int OP_EQ = 42; ! int OP_SET = 43; ! int OP_NE = 44; ! int OP_PLUS = 45; ! int OP_MINUS = 46; ! int OP_MULT = 47; ! int OP_DIV = 48; ! int OP_AND = 49; ! int OP_OR = 50; ! int OP_NOT = 51; ! int COMMA = 52; ! int SEMI = 53; ! int WORD = 54; ! int NUMBER = 55; ! int OTHER = 56; ! int QS_TEXT = 57; ! int SQS_TEXT = 58; ! int SQS = 0; ! int QS = 1; ! int COMMENT = 2; ! int WM = 3; ! int DEFAULT = 4; ! String[] tokenImage = { ! "<EOF>", ! "<_ALPHA_CHAR>", ! "<_NUM_CHAR>", ! "<_ALPHANUM_CHAR>", ! "<_IDENTIFIER_CHAR>", ! "<_IDENTIFIER>", ! "<_NEWLINE>", ! "<_WHITESPACE>", ! "<_QCHAR>", ! "<_RESTOFLINE>", ! "<_COMMENT>", ! "<STUFF>", ! "\"}\"", ! "\"#end\"", ! "\"#begin\"", ! "\"{\"", ! "<token of kind 16>", ! "\"##\"", ! "<RESTOFLINE>", ! "<COMMENT_ELSE>", ! "\"$\"", ! "<QCHAR>", ! "\"\\\\\"", ! "\"#\"", ! "\"\\\"\"", ! "\"\\\'\"", ! "\"null\"", ! "\"true\"", ! "\"false\"", ! "\"undefined\"", ! "<WS>", ! "<NEWLINE>", ! "\"(\"", ! "\")\"", ! "\"[\"", ! "\"]\"", ! "\":\"", ! "\".\"", ! "\"<\"", ! "\"<=\"", ! "\">\"", ! "\">=\"", ! "\"==\"", ! "\"=\"", ! "<OP_NE>", ! "\"+\"", ! "\"-\"", ! "\"*\"", ! "\"/\"", ! "<OP_AND>", ! "<OP_OR>", ! "<OP_NOT>", ! "\",\"", ! "\";\"", ! "<WORD>", ! "<NUMBER>", ! "<OTHER>", ! "<QS_TEXT>", ! "<SQS_TEXT>", ! }; } Index: WMParser_implTokenManager.java =================================================================== RCS file: /cvsroot/webmacro/webmacro/src/org/webmacro/parser/WMParser_implTokenManager.java,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** WMParser_implTokenManager.java 12 Jun 2003 00:47:46 -0000 1.27 --- WMParser_implTokenManager.java 30 Jul 2003 02:28:14 -0000 1.28 *************** *** 1,1763 **** /* Generated By:JavaCC: Do not edit this line. WMParser_implTokenManager.java */ package org.webmacro.parser; ! ! public class WMParser_implTokenManager implements WMParser_implConstants { ! // Required by SetState ! void backup (int n) ! { [...3315 lines suppressed...] ! else ! error_column++; ! } ! if (!EOFSeen) { ! input_stream.backup(1); ! error_after = curPos <= 1 ? "" : input_stream.GetImage(); ! } ! throw new TokenMgrError(EOFSeen, curLexState, error_line, error_column, error_after, curChar, TokenMgrError.LEXICAL_ERROR); ! } ! } ! final void TokenLexicalActions(Token matchedToken) ! { ! switch(jjmatchedKind) ! { ! default : ! break; ! } ! } } |