⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jjtreereleasenotes.html

📁 This a JavaCC documentation.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
Added the OUTPUT_DIRECTORY option.  The default value is "".----------------------------------------------------------------Reinstated node factory methods.  They are enabled by setting theNODE_FACTORY option to true.  Unlike the original node factory methodsthey take two arguments: the node identifier constant and a referenceto the parser.  The reference is null for static parsers.----------------------------------------------------------------Added the NODE_USES_PARSER option with a default value of false.  Whenset to true, JJTree will call the node constructor with a reference tothe parser object as an extra parameter.  This reference is null forstatic parsers.----------------------------------------------------------------====================================Changes from JJTree 0.2.6 to 0.3pre1====================================----------------------------------------------------------------JJTree 0.3pre1 has been bootstrapped with JJTree 0.2.6.Some aspects of JJTree 0.3pre1 are not backwards-compatible with0.2.6.  Some users will need to modify their parsers instraightforward ways in order to work with the new version.  See thefile JJTREE-FIX to find out if you need to change anything, and fordetailed instructions on what to change.----------------------------------------------------------------JJTree works with the JavaCC exception handling code.  Any unhandledexceptions within a node scope are caught, the node stack is cleanedup a bit, and then the exception is rethrown.----------------------------------------------------------------Indefinite and Greater-Than nodes have been generalized intoconditional nodes.Definite nodes now take any integer expression to indicate now manychildren they take.  Conditional nodes take any boolean expression toindicate whether the node is closed and pushed on to the node stack.----------------------------------------------------------------The life cycle of a node is now defined.----------------------------------------------------------------User-defined parser methods can be called when a node scope is enteredand exited.----------------------------------------------------------------The NODE_STACK_SIZE and CHECK_DEFINITE_NODE options are now ignored.The NODE_SCOPE_HOOK option has been added.  This boolean optiondetermines whether calls to certain user-defined parser methods aregenerated at the beginning and end of each node scope.  The defaultvalue for this option is false.----------------------------------------------------------------The special identifier jjtThis can now be used in the declarationssection of a production, as well as on the left hand side of call to anonterminal.----------------------------------------------------------------A new method arity() has been added to the JJTree state.  It returnsthe number of nodes that have been pushed so far in the current nodescope.----------------------------------------------------------------The Node interface has changed.  The method jjtAddChild() now takes anargument to indicate the index of the child it is adding.----------------------------------------------------------------The node factory methods are no longer used.  You can remove all yourjjtCreate() methods.The node constructor now takes an int parameter instead of a String.You will have to modify your node implementations to use the newsignature.  The protected field `identifier' no longer exists: you canuse the jjtNodeName[] array to map from the new parameter to the oldString.----------------------------------------------------------------The implementation of SimpleNode has changed significantly.  It nowuses an array to hold any child nodes instead of a Vector.  It nolonger implements a node factory, its constructor takes an int insteadof a String, and it uses the jjtNodeName[] mechanism for dumping.  ThesetInfo() and getInfo() methods have been removed.----------------------------------------------------------------The implementation of the state that JJTree keeps in the parser haschanged.  It is now considerably more lightweight: the auxiliaryclasses JJTreeNodeStack and JJTreeNodeStackEnum have been abolished.----------------------------------------------------------------The JJTree state method currentNode() has been removed.  Any calls tothe method in an action within a node scope are automatically replacedby references to the special identifier jjtThis.----------------------------------------------------------------==================================Changes from JJTree 0.2.5 to 0.2.6==================================----------------------------------------------------------------Made appropriate internal modifications for the JavaCC 0.7 parse errorexceptions.----------------------------------------------------------------==================================Changes from JJTree 0.2.4 to 0.2.5==================================----------------------------------------------------------------Fixed a bug where the current node was not being updated in the rightplace for final user actions.----------------------------------------------------------------==================================Changes from JJTree 0.2.3 to 0.2.4==================================----------------------------------------------------------------Fixed a bug where bad code was generated for void nodes in MULTI mode.----------------------------------------------------------------Fixed a bug where a node decoration directly on an action generatedbad code. For example,	{} #MyNode----------------------------------------------------------------==================================Changes from JJTree 0.2.2 to 0.2.3==================================----------------------------------------------------------------Added toString() and toString(String) methods to SimpleNode andmodified the dumping code to use them.  Now you can easily customizehow a node appears in the tree dump, without having to reproduce thetree walking machinery.  See SimpleNode.java for details.----------------------------------------------------------------Clarified the concept of node scope.  currentNode() now refers to thenode currently being built for the current scope.  It used to beincorrectly implemented as referring to the most recently creatednode, and was synonymous with peekNode().This change may break some existing programs.  Those programs shouldbe changed to use peekNode() where they currently use currentNode().Added jjtThis to every user action.  It refers to the same node thatcurrentNode() does, but is already cast to the appropriate node type.The final user action in a node scope is different from all theothers.  When it is executed the node has been fully created, had itschildren added, and has been pushed on the node stack.  By contrast,other user actions within the scope are called when the children arestill on the stack, and the current node is not.Added the nodeCreated() method so that final actions within greaterthan nodes can tell whether the node was created or not.----------------------------------------------------------------Fixed several stupid bugs in the Macintosh main class.----------------------------------------------------------------Fixed names of internally used JJTree classes so that they use the JJTprefix and the name of the parser.  This is to avoid naming conflictswhere there is more than one JJTree parser in the same package.----------------------------------------------------------------================================Changes from JJTree 0.2 to 0.2.2================================The main change between Beanstalk 0.2 and JJTree 0.2.2 is the removalof the factory classes.  Their function is now performed by a staticmethod in the node classes themselves.The state maintained in the parser class has been changed from bs tojjtree.  The prefix on the Node class methods has been changed from bsto jjt.A new node method jjtGetNumChildren() returns the number of childrenthe node has.  You can use this in conjunction with jjtGetChild() toiterate over the children.Two new options have been added: OUTPUT_FILE and NODE_DEFAULT_VOID.----------------------------------------------------------------</pre></BODY></HTML>

⌨️ 快捷键说明

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