Index

A C D E F G I K L N O P R S T U V W 
All Classes and Interfaces|All Packages

A

AbstractReader - Class in com.maroontress.clione.impl
An abstract Reader with the only one abstract method that is Reader.read().
AbstractReader() - Constructor for class com.maroontress.clione.impl.AbstractReader
 
append(SourceChar) - Method in class com.maroontress.clione.impl.TokenBuilder
Appends the specified character to this builder.
apply(Transcriber) - Method in interface com.maroontress.clione.impl.Tokenizer
Returns the token type of the token that the specified Transcriber object reads.
apply(Transcriber, SourceChar) - Method in interface com.maroontress.clione.impl.DefaultTokenizer
Returns the token type of the token composed of the specified SourceChar and if needed the characters supplied from the specified Transcriber object.

C

C11 - Static variable in class com.maroontress.clione.Keywords
The unmodifiable set of keywords defined in C11.
C89 - Static variable in class com.maroontress.clione.Keywords
The unmodifiable set of keywords defined in C89.
C99 - Static variable in class com.maroontress.clione.Keywords
The unmodifiable set of keywords defined in C99.
Case - Class in com.maroontress.clione.impl
The mapping of one or more characters to a tokenizer.
Case.Mapper - Interface in com.maroontress.clione.impl
The function that that takes a character and returns a tokenizer associated with the character.
CHARACTER - Enum constant in enum class com.maroontress.clione.TokenType
The character constant beginning with either "'", "u'", "U'", or "L'" and ending with a "'".
Chars - Class in com.maroontress.clione.impl
Provides immutable Set objects of a character and utility methods for determining a character's category (that is letter, digit, and so on).
close() - Method in class com.maroontress.clione.impl.DefaultLexicalParser
close() - Method in class com.maroontress.clione.impl.PhaseOneSource
Closes this source and its upstream Source or Reader.
close() - Method in class com.maroontress.clione.impl.PhaseTwoSource
Closes this source and its upstream Source or Reader.
close() - Method in class com.maroontress.clione.impl.ReaderSource
Closes this source and its upstream Source or Reader.
close() - Method in interface com.maroontress.clione.impl.Source
Closes this source and its upstream Source or Reader.
close() - Method in class com.maroontress.clione.impl.UnifiedNewlineReader
close() - Method in interface com.maroontress.clione.LexicalParser
com.maroontress.clione - module com.maroontress.clione
This module provides the implementation of a lexical parser that tokenizes source code written in C17 and other C-like programming languages.
com.maroontress.clione - package com.maroontress.clione
This package provides an API of a lexical parser that tokenizes source code written in C17 and other C-like programming languages.
com.maroontress.clione.impl - package com.maroontress.clione.impl
This package provides the implementation of a lexical parser that must not be exported outside the module.
COMMENT - Enum constant in enum class com.maroontress.clione.TokenType
The comment beginning with a slash followed by an asterisk (/*) and ending with an asterisk followed by a slash (*/) that is not inside a character constant, a string literal, or a standard header name.

D

DEFAULT - Static variable in class com.maroontress.clione.impl.Switches
The default mapper.
DefaultLexicalParser - Class in com.maroontress.clione.impl
The default implementation of LexicalParser.
DefaultLexicalParser(Reader) - Constructor for class com.maroontress.clione.impl.DefaultLexicalParser
Creates a new instance.
DefaultLexicalParser(Reader, Collection<String>) - Constructor for class com.maroontress.clione.impl.DefaultLexicalParser
Creates a new instance.
DefaultToken - Class in com.maroontress.clione.impl
The implementation of a preprocessing token.
DefaultToken(Collection<SourceChar>, TokenType) - Constructor for class com.maroontress.clione.impl.DefaultToken
Creates a new instance.
DefaultTokenizer - Interface in com.maroontress.clione.impl
The function that changes the state of the specified Transcriber object with the specified SourceChar object, lets the Transcriber object read characters from its source and store a new token in its builder, and returns the token type of the stored token.
DELIMITER - Enum constant in enum class com.maroontress.clione.TokenType
The delimiter that is a sequence of the delimiter characters containing a space character (' ') and a horizontal tab character ('\t').
DELIMITER_SET - Static variable in class com.maroontress.clione.impl.Chars
A character set containing only delimiters.
DIGIT_SET - Static variable in class com.maroontress.clione.impl.Chars
A character set containing only digits.
Digraphs - Class in com.maroontress.clione.impl
Provides the facility of digraph substitution.
DIRECTIVE - Enum constant in enum class com.maroontress.clione.TokenType
The directive beginning with a number character (#) and ending with a newline character.
DIRECTIVE - Static variable in class com.maroontress.clione.impl.Switches
The mapper used inside preprocessing directives.
DIRECTIVE_DELIMITER_SET - Static variable in class com.maroontress.clione.impl.Chars
A character set containing only delimiters inside a directive.
DIRECTIVE_END - Enum constant in enum class com.maroontress.clione.TokenType
The end of directive ('\n').
DIRECTIVE_NAME - Enum constant in enum class com.maroontress.clione.TokenType
The directive name that is an identifier followed by the number character (#) that every directive begins with (except delimiters).

E

EMPTY_LIST - Static variable in interface com.maroontress.clione.SourceChar
The empty unmodifiable list of SourceChar objects.
eof() - Static method in class com.maroontress.clione.impl.SourceChars
Returns EOF.
eof(Collection<SourceChar>) - Static method in class com.maroontress.clione.impl.SourceChars
Returns a new SourceChar object representing EOF with the specified child characters.
Eof - Class in com.maroontress.clione.impl
Represents the abstract EOF.
Eof() - Constructor for class com.maroontress.clione.impl.Eof
 

F

FILENAME - Enum constant in enum class com.maroontress.clione.TokenType
The filename between double quotes (") that follows an include directive name.
FIRST_OF_IDENTIFIER_SET - Static variable in class com.maroontress.clione.impl.Chars
A set of characters which can be the first character of an identifier.

G

get(char) - Method in interface com.maroontress.clione.impl.Case.Mapper
Returns the tokenizer with which the specified character is associated, or null if there is no tokenizer associated with the character.
getBuilder() - Method in class com.maroontress.clione.impl.Transcriber
Returns the token builder.
getChar() - Method in class com.maroontress.clione.impl.PhaseOneSource
Returns a new SourceChar object at the current location of this source or EOF.
getChar() - Method in class com.maroontress.clione.impl.PhaseTwoSource
Returns a new SourceChar object at the current location of this source or EOF.
getChar() - Method in class com.maroontress.clione.impl.ReaderSource
Returns a new SourceChar object at the current location of this source or EOF.
getChar() - Method in interface com.maroontress.clione.impl.Source
Returns a new SourceChar object at the current location of this source or EOF.
getChars() - Method in class com.maroontress.clione.impl.DefaultToken
Returns the characters that compose this token.
getChars() - Method in interface com.maroontress.clione.Token
Returns the characters that compose this token.
getCharSet() - Method in class com.maroontress.clione.impl.Case
Returns the unmodifiable set of characters that this case maps.
getChildren() - Method in class com.maroontress.clione.impl.DefaultToken
Returns the child tokens.
getChildren() - Method in class com.maroontress.clione.impl.Eof
Returns the child characters.
getChildren() - Method in interface com.maroontress.clione.SourceChar
Returns the child characters.
getChildren() - Method in interface com.maroontress.clione.Token
Returns the child tokens.
getColumn() - Method in class com.maroontress.clione.SourceLocation
Returns the column number.
getEnd() - Method in class com.maroontress.clione.SourceSpan
Returns the end location of this range.
getEof() - Method in class com.maroontress.clione.impl.DefaultLexicalParser
Returns the character representing EOF.
getEof() - Method in interface com.maroontress.clione.LexicalParser
Returns the character representing EOF.
getLast() - Method in class com.maroontress.clione.impl.TokenBuilder
Returns the last character in this builder.
getLine() - Method in class com.maroontress.clione.SourceLocation
Returns the line number.
getLocation() - Method in class com.maroontress.clione.impl.DefaultLexicalParser
Returns the current location of the source file.
getLocation() - Method in class com.maroontress.clione.impl.PhaseOneSource
Returns the current location of this source.
getLocation() - Method in class com.maroontress.clione.impl.PhaseTwoSource
Returns the current location of this source.
getLocation() - Method in class com.maroontress.clione.impl.ReaderSource
Returns the current location of this source.
getLocation() - Method in interface com.maroontress.clione.impl.Source
Returns the current location of this source.
getLocation() - Method in interface com.maroontress.clione.LexicalParser
Returns the current location of the source file.
getSource() - Method in class com.maroontress.clione.impl.Transcriber
Returns the source.
getSpan() - Method in class com.maroontress.clione.impl.DefaultToken
Returns a new span representing the range of this token in the source file.
getSpan() - Method in class com.maroontress.clione.impl.Eof
Returns location of this object in the source file.
getSpan() - Method in interface com.maroontress.clione.SourceChar
Returns location of this object in the source file.
getSpan() - Method in interface com.maroontress.clione.Token
Returns a new span representing the range of this token in the source file.
getStart() - Method in class com.maroontress.clione.SourceSpan
Returns the start location of this range.
getTokenizer() - Method in class com.maroontress.clione.impl.Case
Returns the tokenizer that this case maps characters to.
getType() - Method in class com.maroontress.clione.impl.DefaultToken
Returns the type of this token.
getType() - Method in interface com.maroontress.clione.Token
Returns the type of this token.
getValue() - Method in class com.maroontress.clione.impl.DefaultToken
Returns a new string representing this token.
getValue() - Method in interface com.maroontress.clione.Token
Returns a new string representing this token.

I

IDENTIFIER - Enum constant in enum class com.maroontress.clione.TokenType
The identifier.
IDENTIFIER_SET - Static variable in class com.maroontress.clione.impl.Chars
A set of characters which an identifier can contain.
INCLUDE_DIRECTIVE - Static variable in class com.maroontress.clione.impl.Switches
The mapper used inside preprocessing include directives.
isDelimiter(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character is a delimiter.
isDigit(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character is a digit ([0-9]).
isDirectiveDelimiter(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character is a delimiter inside a directive.
isEof() - Method in class com.maroontress.clione.impl.Eof
Returns whether this object represents EOF.
isEof() - Method in interface com.maroontress.clione.SourceChar
Returns whether this object represents EOF.
isFirstName(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character may be the first character in an identifier (except Universal Character Names and other implementation-defined characters).
isHexDigit(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character is a hexadecimal digit ([0-9a-fA-F]).
isName(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character may be part of an identifier as other than the first character (except Universal Character Names and other implementation-defined characters).
isNumberSuffix(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character may be part of a number suffix.
isOctalDigit(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character is an octal digit ([0-7]).
isPreprocessingNumber(char) - Static method in class com.maroontress.clione.impl.Chars
Determines if the specified character composes a preprocessing number (except '+' and '-' following either e or E).

K

Keywords - Class in com.maroontress.clione
Provides the reserved words of C and the directive names.

L

LexicalParser - Interface in com.maroontress.clione
The lexical parser.

N

newMapper(Case...) - Static method in class com.maroontress.clione.impl.Case
Returns a new mapping function that takes a character and returns a tokenizer associated with the character with the specified cases.
next() - Method in class com.maroontress.clione.impl.DefaultLexicalParser
Returns the next token.
next() - Method in interface com.maroontress.clione.LexicalParser
Returns the next token.
NUMBER - Enum constant in enum class com.maroontress.clione.TokenType
The number that is an integer constant or a floating-point number constant.

O

of(char, int, int) - Static method in class com.maroontress.clione.impl.SourceChars
Returns a new SourceChar object that has no child characters (that is a leaf character).
of(char, Tokenizer) - Static method in class com.maroontress.clione.impl.Case
Returns a new case that starts with the specified character and has the specified tokenizer.
of(char, Tokenizer, Case...) - Static method in class com.maroontress.clione.impl.Case
Returns a new case that starts with the specified character and that one of the specified cases may follow.
of(char, TokenType, Case...) - Static method in class com.maroontress.clione.impl.Case
Returns a new case that starts with the specified character and that one of the specified cases may follow.
of(SourceChar, SourceChar, char) - Static method in class com.maroontress.clione.impl.SourceChars
Returns a new SourceChar object that has the specified child characters.
of(SourceChar, SourceChar, SourceChar, char) - Static method in class com.maroontress.clione.impl.SourceChars
Returns a new SourceChar object that has the specified child characters.
of(Reader) - Static method in interface com.maroontress.clione.LexicalParser
Returns a new LexicalParser object.
of(Reader, Collection<String>) - Static method in interface com.maroontress.clione.LexicalParser
Returns a new LexicalParser object with the specified reserved words.
of(Collection<SourceChar>, SourceChar) - Static method in class com.maroontress.clione.impl.SourceChars
Returns a new SourceChar object that has the specified child characters.
of(Set<Character>, Tokenizer) - Static method in class com.maroontress.clione.impl.Case
Returns a new case that maps the specified character set to the specified tokenizer.
of(Set<Character>, TokenType, Case...) - Static method in class com.maroontress.clione.impl.Case
Returns a new case that starts with one of characters in the specified set and that one of the specified cases may follow it.
OPERATOR - Enum constant in enum class com.maroontress.clione.TokenType
The operator.

P

PhaseOneSource - Class in com.maroontress.clione.impl
This source reads characters from upstream source, replacing trigraph sequences with the character that they represent.
PhaseOneSource(Source) - Constructor for class com.maroontress.clione.impl.PhaseOneSource
Creates a source replacing trigraph sequences.
PhaseTwoSource - Class in com.maroontress.clione.impl
This source reads characters from upstream source, splicing lines ended with the backslash (\).
PhaseTwoSource(Source) - Constructor for class com.maroontress.clione.impl.PhaseTwoSource
Creates a source splicing lines.
PP_DIRECTIVE_NAMES - Static variable in class com.maroontress.clione.Keywords
The unmodifiable set of preprocessing directive names.
PUNCTUATOR - Enum constant in enum class com.maroontress.clione.TokenType
The punctuator that is either '[', ']', '(', ')', '{', '}', ',', ';', ':', or '...'.

R

read() - Method in class com.maroontress.clione.impl.UnifiedNewlineReader
read(char[], int, int) - Method in class com.maroontress.clione.impl.AbstractReader
readComment() - Method in class com.maroontress.clione.impl.Transcriber
Reads a comment from the source.
ReaderSource - Class in com.maroontress.clione.impl
This source reads characters from upstream reader, counting the line and column number.
ReaderSource(Reader) - Constructor for class com.maroontress.clione.impl.ReaderSource
Creates a new source.
readFilename(char) - Method in class com.maroontress.clione.impl.Transcriber
Reads characters from the source up tp the specified terminator character (including the terminator character).
readIdentifier() - Method in class com.maroontress.clione.impl.Transcriber
Reads an identifier.
readMax(int, Predicate<Character>) - Method in class com.maroontress.clione.impl.Transcriber
Reads at most the specified number of characters while the specified predicate with the character returns true.
readNumber() - Method in class com.maroontress.clione.impl.Transcriber
Reads a preprocessing number.
readSingleLine() - Method in class com.maroontress.clione.impl.Transcriber
Reads characters from the source until just before a newline character.
readStringOrCharacter(char) - Method in class com.maroontress.clione.impl.Transcriber
Reads characters from the source up tp the specified terminator character (including the terminator character).
readTokenOtherwise(Case.Mapper, DefaultTokenizer) - Method in class com.maroontress.clione.impl.Transcriber
Reads characters according to the specified mapper.
readZeroOrMoreChars(Predicate<Character>) - Method in class com.maroontress.clione.impl.Transcriber
Reads zero or more characters while the specified predicate with the character returns true.
readZeroOrOneChar(Predicate<Character>) - Method in class com.maroontress.clione.impl.Transcriber
Reads at most one character with which the specified predicate returns true.
removeLast() - Method in class com.maroontress.clione.impl.TokenBuilder
Removes the last character in this builder and returns the character.
replaceDigraph(char) - Method in class com.maroontress.clione.impl.TokenBuilder
Replace the two characters in this builder with the new character representing the specified char value.
replaceDigraph(char, char) - Method in class com.maroontress.clione.impl.TokenBuilder
Replace the four characters in this builder with the new two characters representing the specified char values.
RESERVED - Enum constant in enum class com.maroontress.clione.TokenType
The reserved words that are identifiers but the string collection specified with the factory method of LexicalParser.of(Reader, Collection).

S

size() - Method in class com.maroontress.clione.impl.TokenBuilder
Returns the number of characters in this builder.
Source - Interface in com.maroontress.clione.impl
Provides the stream of the source file.
SourceChar - Interface in com.maroontress.clione
A character of the source file or EOF.
SourceChars - Class in com.maroontress.clione.impl
The factory of SourceChar objects.
SourceLocation - Class in com.maroontress.clione
The location of the source file.
SourceLocation(int, int) - Constructor for class com.maroontress.clione.SourceLocation
Creates a new instance.
SourceSpan - Class in com.maroontress.clione
The representation of the contiguous range of the source file.
SourceSpan(SourceLocation) - Constructor for class com.maroontress.clione.SourceSpan
Creates a new instance representing the single character.
SourceSpan(SourceLocation, SourceLocation) - Constructor for class com.maroontress.clione.SourceSpan
Creates a new instance.
SourceSpan(SourceSpan, SourceSpan) - Constructor for class com.maroontress.clione.SourceSpan
Creates a new instance representing the range between the specified SourceSpans (that includes both of them).
STANDARD_HEADER - Enum constant in enum class com.maroontress.clione.TokenType
The standard header name between angle brackets ('<' and '>') that follow an include directive.
STATIC_EOF - Static variable in interface com.maroontress.clione.SourceChar
The SourceChar object representing the end of the source file.
STRING - Enum constant in enum class com.maroontress.clione.TokenType
The string literal beginning with either '"', 'u"', 'U"', 'L"', or 'u8"' and ending with a '"'.
Switches - Class in com.maroontress.clione.impl
Provides mappers that associate a character with a tokenizer.

T

toChar() - Method in class com.maroontress.clione.impl.Eof
Returns a char value corresponding to this object.
toChar() - Method in interface com.maroontress.clione.SourceChar
Returns a char value corresponding to this object.
toDirective(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a number sign (with which the preprocessing directive starts) for the character sequence that the specified transcriber stores in its builder.
Token - Interface in com.maroontress.clione
The preprocessing token.
TokenBuilder - Class in com.maroontress.clione.impl
The builder of Token objects that has a mutable sequence of characters.
TokenBuilder() - Constructor for class com.maroontress.clione.impl.TokenBuilder
Creates a new instance.
Tokenizer - Interface in com.maroontress.clione.impl
The function that changes the state of the specified Transcriber object, lets it read characters from its source and store a new token in its builder, and returns the token type of the stored token.
TokenType - Enum Class in com.maroontress.clione
The constants representing the token type.
toLeftBrace(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a left brace for the character sequence that the specified transcriber stores in its builder.
toLeftBracket(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a left bracket for the character sequence that the specified transcriber stores in its builder.
toRightBrace(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a right brace for the character sequence that the specified transcriber stores in its builder.
toRightBracket(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a right bracket for the character sequence that the specified transcriber stores in its builder.
toString() - Method in class com.maroontress.clione.impl.DefaultToken
Returns a new string representation of this token that is easy for a person to read.
toString() - Method in class com.maroontress.clione.SourceLocation
Returns a new string representation of this location that is easy for a person to read.
toString() - Method in class com.maroontress.clione.SourceSpan
Returns a new string representation of this range that is easy for a person to read.
toString() - Method in interface com.maroontress.clione.Token
Returns a new string representation of this token that is easy for a person to read.
toStringificationOperator(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a number sign (a preprocessing stringification operator #) for the character sequence that the specified transcriber stores in its builder.
toToken(TokenType) - Method in class com.maroontress.clione.impl.TokenBuilder
Returns a new token that represents the characters in this builder with the specified token type.
toToken(TokenType) - Method in class com.maroontress.clione.impl.Transcriber
Returns a new token with the specified token type.
toTokenPastingOperator(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a double number sign (a preprocessing token-pasting operator ##) for the character sequence that the specified transcriber stores in its builder.
toTokenString() - Method in class com.maroontress.clione.impl.TokenBuilder
Returns a new string that represents the characters in this builder.
toUnknownDoubleNumberSign(Transcriber) - Static method in class com.maroontress.clione.impl.Digraphs
Substitutes a double number sign (that appears other than in the macro declaration) for the character sequence that the specified transcriber stores in its builder.
Transcriber - Class in com.maroontress.clione.impl
Transcribes a token read from the Source object into the TokenBuilder object.
Transcriber(Source) - Constructor for class com.maroontress.clione.impl.Transcriber
Creates a new instance.
tryReadToken(Case.Mapper, Tokenizer) - Method in class com.maroontress.clione.impl.Transcriber
Reads characters according to the specified mapper.
tryReadToken(Case.Mapper, TokenType) - Method in class com.maroontress.clione.impl.Transcriber
Reads characters according to the specified mapper.

U

ungetChar(SourceChar) - Method in class com.maroontress.clione.impl.PhaseOneSource
Pushes back the specified SourceChar object.
ungetChar(SourceChar) - Method in class com.maroontress.clione.impl.PhaseTwoSource
Pushes back the specified SourceChar object.
ungetChar(SourceChar) - Method in class com.maroontress.clione.impl.ReaderSource
Pushes back the specified SourceChar object.
ungetChar(SourceChar) - Method in interface com.maroontress.clione.impl.Source
Pushes back the specified SourceChar object.
UnifiedNewlineReader - Class in com.maroontress.clione.impl
This reader substitutes '\n' for all newlines (LF, CRLF, and CR) in the stream, even if different newlines are mixed in the stream.
UnifiedNewlineReader(Reader) - Constructor for class com.maroontress.clione.impl.UnifiedNewlineReader
Creates a reader unifying newlines.
UNKNOWN - Enum constant in enum class com.maroontress.clione.TokenType
The unknown token that is invalid in the syntax.

V

valueOf(String) - Static method in enum class com.maroontress.clione.TokenType
Returns the enum constant of this class with the specified name.
values() - Static method in enum class com.maroontress.clione.TokenType
Returns an array containing the constants of this enum class, in the order they are declared.

W

withChildren(Collection<Token>) - Method in class com.maroontress.clione.impl.DefaultToken
Returns a new token that has the same content of this token but has the specified child tokens.
withChildren(Collection<Token>) - Method in interface com.maroontress.clione.Token
Returns a new token that has the same content of this token but has the specified child tokens.
withType(TokenType) - Method in class com.maroontress.clione.impl.DefaultToken
Returns a new token that has the same content of this token but has the specified token type.
withType(TokenType) - Method in interface com.maroontress.clione.Token
Returns a new token that has the same content of this token but has the specified token type.
A C D E F G I K L N O P R S T U V W 
All Classes and Interfaces|All Packages