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

📄 javaccreleasenotes.html

📁 This a JavaCC documentation.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<HTML><!--Copyright 漏 2002 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,California 95054, U.S.A. All rights reserved.  Sun Microsystems, Inc. hasintellectual property rights relating to technology embodied in the productthat is described in this document. In particular, and without limitation,these intellectual property rights may include one or more of the U.S.patents listed at http://www.sun.com/patents and one or more additionalpatents or pending patent applications in the U.S. and in other countries.U.S. Government Rights - Commercial software. Government users are subjectto the Sun Microsystems, Inc. standard license agreement and applicableprovisions of the FAR and its supplements.  Use is subject to license terms.Sun,  Sun Microsystems,  the Sun logo and  Java are trademarks or registeredtrademarks of Sun Microsystems, Inc. in the U.S. and other countries.  Thisproduct is covered and controlled by U.S. Export Control laws and may besubject to the export or import laws in other countries.  Nuclear, missile,chemical biological weapons or nuclear maritime end uses or end users, whetherdirect or indirect, are strictly prohibited.  Export or reexport to countriessubject to U.S. embargo or to entities identified on U.S. export exclusionlists, including, but not limited to, the denied persons and speciallydesignated nationals lists is strictly prohibited.--><HEAD> <title>JavaCC Release Notes</title><!-- Changed by: Michael Van De Vanter, 14-Jan-2003 --></HEAD><BODY bgcolor="#FFFFFF" ><H1>JavaCC [tm]: Release Notes</H1><pre>THIS FILE IS A COMPLETE LOG OF ALL CHANGES THAT HAVE TAKEN PLACE SINCETHE RELEASE OF VERSION 0.5 IN OCTOBER, 1996.AS NOTED HERE, DURING THE TRANSITION FROM 0.5 TO 3.1, THERE HAVE BEENTHE FOLLOWING INTERMEDIATE VERSIONS:	0.6.-10	0.6.-9	0.6.-8	0.6(Beta1)	0.6(Beta2)	0.6	0.6.1	0.7pre1	0.7pre2	0.7pre3	0.7pre4	0.7pre5	0.7pre6	0.7pre7	0.7	0.7.1	0.8pre1	0.8pre2	1.0	1.2	2.0	2.1	3.0	3.1	3.2	4.0-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 4.0-------------------------------------------------------------------See the bug list in issue tracker for all the bugs fixed in this release.JJTree and JavaCC both now support 1.5 syntax.We now support accessing token fields in the grammar like: s=<ID>.imageConvenient constructors for passing encoding directly to the grammarTabsetting is now customizable.SimpleNode can now extend a class using the NODE_EXTENDS option.JAVACODE and BNF productions take optional access modifiers.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 3.2-------------------------------------------------------------------New regular expression kind with range operator where the upperbound isoptional, meaning just minimum, no max - (<RE>){n,}Fix for issue 41 where it takes exponential time to minimumSizeMODIFICATIONS IN VERSION 3.2-------------------------------------------------------------------Added the LICENSE file to the installation root directory.Fixed issues #: 10, 11, 13, 2, 4, 5, 7In particular, the generated code should now compile with JDK 1.5 (Tiger)-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 3.1-------------------------------------------------------------------Open source with BSD license.Fixed the copyright text in the sourcefiles.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 3.0 (as compared to version 2.1)-------------------------------------------------------------------No GUI version anymore.Fixed a bug in handling string literals when they intersect someregular expression.Split up initializations of jj_la1_* vars into smaller methods sothat there is no code size issue. This is a recently reported bug.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 2.1 (as compared to version 2.0)-------------------------------------------------------------------Added a new option - KEEP_LINE_COLUMN default true.If you set this option to false, the generated CharStream will nothave any line/column tracking code. It will be your responsibilityto do it some other way. This is needed for systems which don't careabout giving error messages etc.-------------------------------------------------------------------API Changes: JavaCC no longer generates one of the 4 stream classes:      ASCII_CharStream      ASCII_UCodeESC_CharStream      UCode_CharStream      UCode_UCodeESC_CharStreamIn stead, it now supports two kinds of streams:      SimpleCharStream      JavaCharStreamBoth can be instantiated using a Reader object.SimpleCharStream just reads the characters from the Reader using theread(char[], int, int) method. So if you want to support a specificencoding - like SJIS etc., you will first create the Reader objectwith that encoding and instantiate the SimpleCharStream with thatReader so your encoding is automatically used. This should solve awhole bunch of issues with UCode* classes that were reported.JavaCharStream is pretty much like SimpleCharStream, but it also does\uxxxx processing as used by the Java programming language.Porting old grammars:Just replace Stream class names as follows -    if you are using ASCII_CharStream or UCode_CharStream,    change it to SimpleCharStream    if you are using ASCII_UCodeESC_CharStream or UCode_UCodeESC_CharStream,    change it to JavaCharStreamThe APIs remain the same.Also, the CharStream interface remains the same. So, if you have been usingUSER_CHAR_STREAM option, then you don't need to change anything.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 2.0 (as compared to version 1.2)-------------------------------------------------------------------Added CPP grammar to examples directory (contributed by Malome Khomo).-------------------------------------------------------------------GUI is now available to run JavaCC.  You can control all aspects ofJJTree and JavaCC (except creating and editing the grammar file)through this GUI.-------------------------------------------------------------------Desktop icons now available on a variety of platforms so you canrun JavaCC by double clicking the icon.-------------------------------------------------------------------Bash on NT support improved.-------------------------------------------------------------------Uninstaller included.-------------------------------------------------------------------Fixed some minor bugs.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 1.2 (as compared to version 1.0)-------------------------------------------------------------------Moved JavaCC to the Metamata installer and made it available fordownload from Metamata's web site.-------------------------------------------------------------------Added Java 1.2 grammars to the examples directory.-------------------------------------------------------------------Added repetition range specifications for regular expressions.You can specify exact number of times a particular re shouldoccur or a {man, max} range, e.g,    TOKEN:    {         &lt; TLA: (["A"-"Z"]){3} &gt; // Three letter acronyms!      |         &lt; DOS_FILENAME: (~[".", ":", ";", "\\"]) {1,8}                         ( "." (~[".", ":", ";", "\\"]){1,3})? &gt;               // An incomplete spec for the DOS file name format    }The translation is right now expanding out these many number of timesso use it with caution.-------------------------------------------------------------------You can now specify actions/state changes for EOF. It is right nowvery strict in that it has to look exactly like:   &lt;*&gt; TOKEN:   {      &lt; EOF &gt; { action } : NEW_STATE   }which means that EOF is still EOF in every state except that nowyou can specify what state changes  if any or what java codeif any to execute on seeing EOF.This should help in writing grammars for processing C/C++ #includefiles, without going through hoops as in the old versions.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 1.0 (as compared to version 0.8pre2)-------------------------------------------------------------------Fixed bugs related to usage of JavaCC with Java 2.-------------------------------------------------------------------Many other bug fixes.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 0.8pre2 (as compared to version 0.8pre1)-------------------------------------------------------------------Mainly bug fixes.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 0.8pre1 (as compared to version 0.7.1)-------------------------------------------------------------------Changed all references to Stream classes in the JavaCC code itself andchanged them to Reader/Writer.-------------------------------------------------------------------Changed all the generated *CharStream classes to use Reader instead ofInputStream. The names of the generated classes still say *CharStream.For compatibility reasons, the old constructors are still supported.All the constructors that take InputStream create InputStreamReaderobjects for reading the input data. All users parsing non-ASCII inputsshould continue to use the InputStream constructors.-------------------------------------------------------------------Generate inner classes instead of top level classes where appropriate.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 0.7.1 (as compared to version 0.7)-------------------------------------------------------------------Fixed a bug in the handling of empty PARSER_BEGIN...PARSER_ENDregions.-------------------------------------------------------------------Fixed a bug in Java1.1noLA.jj - the improved performance Java grammar.-------------------------------------------------------------------Fixed a spurious definition that was being generated into the parserwhen USER_TOKEN_MANAGER was set to true.-------------------------------------------------------------------*******************************************************************-------------------------------------------------------------------MODIFICATIONS IN VERSION 0.7 (as compared to version 0.7pre7)-------------------------------------------------------------------Fixed the error reporting routines to delete duplicate entries fromthe "expected" list.-------------------------------------------------------------------Generated braces around the "if (true) ..." construct insertedby JavaCC to prevent the dangling else problem.-------------------------------------------------------------------Added code to consume_token that performs garbage collections oftokens no longer necessary for error reporting purposes.-------------------------------------------------------------------Fixed a bug with OPTIMIZE_TOKEN_MANAGER when there is a common prefixfor two or more (complex) regular expressions.-------------------------------------------------------------------Fixed a JJTree bug where a node annotation #P() caused a null pointererror.-------------------------------------------------------------------Only generate the jjtCreate() methods if the NODE_FACTORY option is

⌨️ 快捷键说明

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