| Support Forum G3D Web Page |
Tokenizer configuration options. More...
Public Member Functions | |
| Settings () | |
Public Attributes | |
| bool | caseSensitive |
When parsing booleans and msvcFloatSpecials, is case significant? Default is {true} More... | |
| bool | cppBlockComments |
| If true, C-style slash-star marks a multi-line comment. More... | |
| bool | cppLineComments |
| If true, // begins a single line comment. More... | |
| bool | escapeSequencesInStrings |
| If true, \r, \n, \t, \0, \\ and other escape sequences inside strings are converted to the equivalent C++ escaped character. More... | |
| Set< String > | falseSymbols |
| See trueSymbols. More... | |
| bool | generateCommentTokens |
| If true, comments enabled by cppBlockComments, cppLineComments and otherLineComments will generate their respective tokens. More... | |
| bool | generateNewlineTokens |
| If true, newlines will generate tokens. More... | |
| bool | msvcFloatSpecials |
Parse "-1.#IND00" as the floating point number returned by G3D::nan(), "-1.#INF00" as - G3D::inf(), and "1.#INF00" as G3D::inf(). More... | |
| char | otherCommentCharacter |
| If not '\0', specifies a character that begins single line comments ('#' and '' are popular choices). More... | |
| char | otherCommentCharacter2 |
| Another (optional) 1-comment character. More... | |
| bool | otherLineComments |
| If true, otherCommentCharacter and otherCommentCharacter2 are used to begin single line comments in the same way cppLineComments is. More... | |
| bool | proofSymbols |
Parse the following set of useful proof symbols: More... | |
| bool | signedNumbers |
| If true, "-1" parses as the number -1 instead of the symbol "-" followed by the number 1. More... | |
| bool | simpleFloatSpecials |
| Parses "+inf', "-inf", "inf", "nan" as floats instead of symbols. More... | |
| char | singleQuoteCharacter |
| The character to use as a single quote. More... | |
| bool | singleQuotedStrings |
| If true, strings can be marked with single quotes (e.g., 'aaa'). More... | |
| String | sourceFileName |
| If set to a non-empty string, that string will be used in place of the real file name (or in place of a pseudonym constructed from the buffer if given FROM_STRING) in tokens and exceptions. More... | |
| int | startingLineNumberOffset |
| Added to the line number reported by peekLineNumber and in exceptions. More... | |
| Set< String > | trueSymbols |
| All symbols that will become the 'true' boolean token. More... | |
Tokenizer configuration options.
| G3D::TextInput::Settings::Settings | ( | ) |
| bool G3D::TextInput::Settings::caseSensitive |
When parsing booleans and msvcFloatSpecials, is case significant? Default is {true}
| bool G3D::TextInput::Settings::cppBlockComments |
If true, C-style slash-star marks a multi-line comment.
See generateCommentTokens for rules on how this is applied.
Default is true.
| bool G3D::TextInput::Settings::cppLineComments |
If true, // begins a single line comment.
See generateCommentTokens for rules on how this is applied.
Default is true.
| bool G3D::TextInput::Settings::escapeSequencesInStrings |
If true, \r, \n, \t, \0, \\ and other escape sequences inside strings are converted to the equivalent C++ escaped character.
If false, backslashes are treated literally. It is convenient to set to false if reading Windows paths, for example, like c:\foo\bar.
Default is true.
| bool G3D::TextInput::Settings::generateCommentTokens |
If true, comments enabled by cppBlockComments, cppLineComments and otherLineComments will generate their respective tokens.
If false, the same settings will enable parsing and ignoring comments
Default is false.
| bool G3D::TextInput::Settings::generateNewlineTokens |
If true, newlines will generate tokens.
If false, newlines will be discarded as whitespace when parsed outside of other tokens. Newlines in Strings are always parsed as newlines.
Default is false.
| bool G3D::TextInput::Settings::msvcFloatSpecials |
Parse "-1.#IND00" as the floating point number returned by G3D::nan(), "-1.#INF00" as - G3D::inf(), and "1.#INF00" as G3D::inf().
Note that the C99 standard specifies that a variety of formats like "nan" are to be used; these are supported by G3D::TextInput::Settings::simpleFloatSpecials.
An alternative to specifying msvcFloatSpecials is to read numbers as:
Token x = t.read();
Token y = t.peek();
if ((x.string() == "-1.") &&
(y.string() == "#INF00") &&
(y.character() == x.character() + 3) &&
(y.line() == x.line()) {
t.read();
return nan();
}
// ... similar cases for inf
If the single-comment character was #, the floating point special format overrides the comment and will be parsed instead.
If signedNumbers is false msvcFloatSpecials will not be parsed.
Default is true.
| char G3D::TextInput::Settings::otherCommentCharacter |
If not '\0', specifies a character that begins single line comments ('#' and '' are popular choices).
This is independent of the cppLineComments flag. If the character appears in text with a backslash in front of it, it is considered escaped and is not treated as a comment character.
Default is '\0'.
| char G3D::TextInput::Settings::otherCommentCharacter2 |
Another (optional) 1-comment character.
Useful for files that support multiple comment syntaxes. Default is '\0'.
| bool G3D::TextInput::Settings::otherLineComments |
If true, otherCommentCharacter and otherCommentCharacter2 are used to begin single line comments in the same way cppLineComments is.
See generateCommentTokens for rules on how this is applied.
Default is true.
| bool G3D::TextInput::Settings::proofSymbols |
Parse the following set of useful proof symbols:
=> ::> <:: :> <: |- ::= := <-
Default is false.
| bool G3D::TextInput::Settings::signedNumbers |
If true, "-1" parses as the number -1 instead of the symbol "-" followed by the number 1.
Default is true.
| bool G3D::TextInput::Settings::simpleFloatSpecials |
Parses "+inf', "-inf", "inf", "nan" as floats instead of symbols.
Defaults to true.
| char G3D::TextInput::Settings::singleQuoteCharacter |
The character to use as a single quote.
Defaults to "'" (backquote), occasionally useful to set to "`" (forward quote) or to "," (comma) for reading CSV files.
| bool G3D::TextInput::Settings::singleQuotedStrings |
If true, strings can be marked with single quotes (e.g., 'aaa').
If false, the quote character is parsed as a symbol. Default is true. Backquote (`) is always parsed as a symbol.
| String G3D::TextInput::Settings::sourceFileName |
If set to a non-empty string, that string will be used in place of the real file name (or in place of a pseudonym constructed from the buffer if given FROM_STRING) in tokens and exceptions.
Default is empty.
| int G3D::TextInput::Settings::startingLineNumberOffset |
Added to the line number reported by peekLineNumber and in exceptions.
Useful for concatenating files that are parsed separately. Default is zero.
1.8.15