meta data for this page
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
new_settings_in_javacc_21 [2021/11/24 01:51] – revusky | new_settings_in_javacc_21 [2021/12/20 15:04] – revusky | ||
---|---|---|---|
Line 6: | Line 6: | ||
* **EXTRA_TOKENS** This setting allows you to indicate some additional token types that are not defined with regular expressions in the lexical grammar. This can be useful particularly in token hook routines. | * **EXTRA_TOKENS** This setting allows you to indicate some additional token types that are not defined with regular expressions in the lexical grammar. This can be useful particularly in token hook routines. | ||
* **FAULT_TOLERANT** This turns on the experimental support for building a [[fault tolerant]] parser. It is off by default. | * **FAULT_TOLERANT** This turns on the experimental support for building a [[fault tolerant]] parser. It is off by default. | ||
- | * **PRESERVE_LINE_ENDINGS** This is true by default | + | * **PRESERVE_LINE_ENDINGS** This is now off by default. |
* **SMART_NODE_CREATION** This is the default behavior, so you would have to explicitly turn it off. It means that if no JJTree-style tree-building annotation is used, then a new Node will be created if there are more than one Nodes on the stack. So, a production like '' | * **SMART_NODE_CREATION** This is the default behavior, so you would have to explicitly turn it off. It means that if no JJTree-style tree-building annotation is used, then a new Node will be created if there are more than one Nodes on the stack. So, a production like '' | ||
* **SPECIAL_TOKENS_ARE_NODES** This sets whether to add so-called " | * **SPECIAL_TOKENS_ARE_NODES** This sets whether to add so-called " | ||
- | * **TABS_TO_SPACES** This is an integer (typically from 1 to 8, in practice) that defines how many spaces a tab stop is. This is off by default, | + | * **TABS_TO_SPACES** This is an integer (typically from 1 to 8, in practice) that defines how many spaces a tab stop is. This is now set to 8 by default. (Until very recently, the default was that the option was off.) This means that all TAB characters (\t) are converted to spaces when the file is read in. Note that, if you turn this off, all reported error locations simply treat a tab character as one horizontal offset. If you want JavaCC to report errors as if a TAB stop is 4 spaces, say, you need to set TAB_SPACES=4 in your settings. |
* **TOKENS_ARE_NODES** This sets whether we add Tokens as terminal nodes to the AST. By default, it is true. | * **TOKENS_ARE_NODES** This sets whether we add Tokens as terminal nodes to the AST. By default, it is true. | ||
See [[deprecated settings]] for a list of legacy JavaCC options that no longer exist in JavaCC 21. | See [[deprecated settings]] for a list of legacy JavaCC options that no longer exist in JavaCC 21. |