meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
deprecated_settings [2020/03/05 15:55] – revusky | deprecated_settings [2021/12/21 14:03] (current) – revusky | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Obsolete Settings from Legacy JavaCC ====== | + | ====== Obsolete Settings from Legacy JavaCC |
As a result of quite a bit of forward evolution, some of the settings from legacy JavaCC (and JJTree) are obsolete in JavaCC21. We don't anticipate that any of them will be missed. | As a result of quite a bit of forward evolution, some of the settings from legacy JavaCC (and JJTree) are obsolete in JavaCC21. We don't anticipate that any of them will be missed. | ||
- | * STATIC: JavaCC21 does not support static parsers. Or, in other words, this is always set to false, (and thus, ignored.) | + | |
- | * | + | * **LOOKAHEAD** Legacy JavaCC allowed you to specify a //default// numerical lookahead other than 1 token. In JavaCC21, this setting is gone and is always effectively equal to 1. Of course, you can still specify numerical lookahead other than 1 at [[choice points]] as needed. |
- | * UNICODE_INPUT: | + | |
- | * USER_CHAR_STREAM: | + | * **OTHER_AMBIGUITY_CHECK** The same comments basically apply here as to **CHOICE_AMBIGUITY_CHECK**. The code for these so-called " |
- | * BUILD_LEXER: | + | * **FORCE_LA_CHECK** Frankly, we are unsure what this setting ever did. At least in this case, ignorance is bliss. So the setting is gone. Besides, the fact remains that lookahead was always fundamentally broken in legacy JavaCC anyway, so all of these sophisticated checks were surely all for nothing anyway! |
- | * KEEP_LINE_COL: | + | * **UNICODE_INPUT**: Effectively, |
- | * ERROR_REPORTING: | + | |
- | * SANITY_CHECK: | + | |
- | * CACHE_TOKENS: | + | * **BUILD_PARSER**: |
- | * TRACK_TOKENS : There is no real reason for this setting to exist any more, since, by default, Tokens are added to the AST and they have their line/column information. In fact, all Node objects have line/column information. | + | * **DEBUG_LEXER**: |
- | * COMMON_TOKEN_ACTION : This feature is still supported but the configuration setting is no longer necessary, since JavaCC21 deduces it from the presence (or absence) of the appropriately named method in your generated lexer class. | + | * **DEBUG_PARSER**: |
- | * NODE_SCOPE_HOOK : As with COMMON_TOKEN_OPTION, | + | |
- | * NODE_EXTENDS : Since JavaCC21 has the [[INCLUDE]] statement, there is no need for this configuration option to exist. If you want to specify that your BaseNode class extends some specific class, simply use [[Code Injection in JavaCC 21|code injection]] to specify this. | + | |
+ | | ||
+ | | ||
+ | | ||
+ | * **TRACK_TOKENS** : There is no real reason for this setting to exist any more, since, by default, Tokens are added to the AST and they have their line/column information. In fact, all Node objects have line/column information. | ||
+ | | ||
+ | * **COMMON_TOKEN_ACTION** : This feature is still supported but the configuration setting is no longer necessary, since JavaCC21 deduces it from the presence (or absence) of the appropriately named method in your generated lexer class. | ||
+ | | ||
+ | | ||
- | <html>< | + | <code> |
- | | + | |
- | </pre></ | + | </code> |
- | The following | + | In general, code injection can be used to specify that any generated class should extend a given class or implement whatever interface(s). There is no need for a plethora of configuration |
- | * OUTPUT_DIRECTORY: | + | The following configuration option is still supported but is deprecated in JavaCC21: |
- | * NODE_PREFIX: Use of this is not encouraged in FreeCC. By default, it is simply the empty string. (In JavaCC (or JJTree to be precise) it was " | + | |
- | The following options have been renamed for consistency, but the older names are still supported: | + | * **NODE_PREFIX**: |
- | DEBUG_TOKEN_MANAGER, BUILD_TOKEN_MANAGER, USER_TOKEN_MANAGER have been renamed | + | The use of both '' |
- | The use of both '' | + | To specify the parser and lexer class names, you may use the '' |
- | To specify | + | There are a host of settings that were added // |
+ | |||
+ | |||
+ | See [[new settings in JavaCC 21]] for information on settings introduced in JavaCC21 that were not present in legacy JavaCC. | ||