Top Method Summary
Options Name Purpose
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken AmpIfDefArg () Gathers the argument text between the parens of &IF DEFINED(...) Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken AmpText () Gathers an ampersand token and dispatches to a preprocessor directive Notes : @return The resulting token */
Append () Appends the current character to the current token text Notes : */
Append (character) Appends the given text to the current token text Notes : @param pcText The text */
AppendToEOL () Appends characters to the current token text up to the end of the line Notes : */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Colon () Lexes a token that starts with a colon (OBJCOLON / LEXCOLON / DOUBLECOLON) Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Comment () Lexes a (possibly nested) block comment Notes : @return The resulting token */
LOGICAL CurrIsSpace () Returns whether the current character is whitespace or end of input Notes : @return Logical value indicating whitespace or EOF */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken DigitStart () Lexes a token that starts with a digit (NUMBER / ID / FILENAME / LEXDATE) Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Directive () Recognizes a preprocessor directive from the gathered ampersand text Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken GetAmpIfDefArg () Wrapper to fetch the argument of &IF DEFINED(...) Notes : @return The argument token */
GetChar () Reads the next character from the preprocessor into the current character Notes : */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Id (integer) Lexes an identifier, file name or keyword Notes : @param piInputTokenType The initial token type (ID, FILENAME or ANNOTATION) @return The resulting token */
LOGICAL IsDigitCode (integer) Returns whether the character code is a digit Notes : @param piChar The character code @return Logical value indicating a digit */
LOGICAL IsLetterOrDigitCode (integer) Returns whether the character code is a letter or a digit Notes : @param piChar The character code @return Logical value indicating a letter or digit */
LOGICAL IsWhitespaceCode (integer) Returns whether the character code is whitespace Notes : @param piChar The character code @return Logical value indicating whitespace */
MacroDefine (integer) Processes an &SCOPED-DEFINE / &GLOBAL-DEFINE directive Notes : @param piDefType The define token type (AMPGLOBALDEFINE or AMPSCOPEDDEFINE) */
MacroUndefine () Processes an &UNDEFINE directive Notes : */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken MakeToken (integer) Creates a token of the given type from the current token text Notes : @param piType The token type @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken MakeToken (integer, longchar) Creates a token of the given type with the given text Notes : @param piType The token type @param plcText The token text @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken NextToken () Returns the next token Notes : @return The next ProToken */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken PeriodStart () Lexes a token that starts with a period (PERIOD / NAMEDOT / NUMBER) Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken PlusMinusStart (integer) Lexes a token that starts with a plus or minus sign Notes : @param piInputType The token type to use when the sign stands alone @return The resulting token */
PreserveCurrent () Preserves the current character and position for the next token Notes : */
PreserveDrop () Drops the preserved character Notes : */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken QuotedString () Lexes a quoted string constant, including any string attributes Notes : @return The resulting token */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken SingleComment () Lexes a single line comment Notes : @return The resulting token */
CHARACTER StripComments (character) Removes block comments from the given text Notes : @param pcOrig The text to strip comments from @return The text with comments removed */
UnEscapedAppend () Appends the current character, restoring any discarded escape text Notes : */
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Whitespace () Lexes a run of whitespace into a WS token Notes : @return The resulting token */

Top Constructor Summary
Options Name Purpose
Lexer (Preprocessor) Constructor for the Lexer class Notes : Reads the first character (currChar is always assumed available). @param poPreprocessor The preprocessor providing the character stream */


Method Detail
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken AmpIfDefArg ()

Purpose: Gathers the argument text between the parens of &IF DEFINED(...)
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken AmpText ()

Purpose: Gathers an ampersand token and dispatches to a preprocessor directive
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Append ()

Purpose: Appends the current character to the current token text
Notes :

Top

Append (character)

Purpose: Appends the given text to the current token text
Notes :

Parameters:
pcText CHARACTER
The text
Top

AppendToEOL ()

Purpose: Appends characters to the current token text up to the end of the line
Notes :

Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Colon ()

Purpose: Lexes a token that starts with a colon (OBJCOLON / LEXCOLON / DOUBLECOLON)
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Comment ()

Purpose: Lexes a (possibly nested) block comment
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

LOGICAL CurrIsSpace ()

Purpose: Returns whether the current character is whitespace or end of input
Notes :

Returns LOGICAL
Logical value indicating whitespace or EOF
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken DigitStart ()

Purpose: Lexes a token that starts with a digit (NUMBER / ID / FILENAME / LEXDATE)
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Directive ()

Purpose: Recognizes a preprocessor directive from the gathered ampersand text
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken GetAmpIfDefArg ()

Purpose: Wrapper to fetch the argument of &IF DEFINED(...)
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The argument token
Top

GetChar ()

Purpose: Reads the next character from the preprocessor into the current character
Notes :

Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Id (integer)

Purpose: Lexes an identifier, file name or keyword
Notes :

Parameters:
piInputTokenType INTEGER
The initial token type (ID, FILENAME or ANNOTATION)
Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

LOGICAL IsDigitCode (integer)

Purpose: Returns whether the character code is a digit
Notes :

Parameters:
piChar INTEGER
The character code
Returns LOGICAL
Logical value indicating a digit
Top

LOGICAL IsLetterOrDigitCode (integer)

Purpose: Returns whether the character code is a letter or a digit
Notes :

Parameters:
piChar INTEGER
The character code
Returns LOGICAL
Logical value indicating a letter or digit
Top

LOGICAL IsWhitespaceCode (integer)

Purpose: Returns whether the character code is whitespace
Notes :

Parameters:
piChar INTEGER
The character code
Returns LOGICAL
Logical value indicating whitespace
Top

MacroDefine (integer)

Purpose: Processes an &SCOPED-DEFINE / &GLOBAL-DEFINE directive
Notes :

Parameters:
piDefType INTEGER
The define token type (AMPGLOBALDEFINE or AMPSCOPEDDEFINE)
Top

MacroUndefine ()

Purpose: Processes an &UNDEFINE directive
Notes :

Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken MakeToken (integer)

Purpose: Creates a token of the given type from the current token text
Notes :

Parameters:
piType INTEGER
The token type
Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken MakeToken (integer, longchar)

Purpose: Creates a token of the given type with the given text
Notes :

Parameters:
piType INTEGER
The token type
plcText LONGCHAR
The token text
Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken NextToken ()

Purpose: Returns the next token
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The next ProToken
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken PeriodStart ()

Purpose: Lexes a token that starts with a period (PERIOD / NAMEDOT / NUMBER)
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken PlusMinusStart (integer)

Purpose: Lexes a token that starts with a plus or minus sign
Notes :

Parameters:
piInputType INTEGER
The token type to use when the sign stands alone
Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

PreserveCurrent ()

Purpose: Preserves the current character and position for the next token
Notes :

Top

PreserveDrop ()

Purpose: Drops the preserved character
Notes :

Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken QuotedString ()

Purpose: Lexes a quoted string constant, including any string attributes
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken SingleComment ()

Purpose: Lexes a single line comment
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token
Top

CHARACTER StripComments (character)

Purpose: Removes block comments from the given text
Notes :

Parameters:
pcOrig CHARACTER
The text to strip comments from
Returns CHARACTER
The text with comments removed
Top

UnEscapedAppend ()

Purpose: Appends the current character, restoring any discarded escape text
Notes :

Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken Whitespace ()

Purpose: Lexes a run of whitespace into a WS token
Notes :

Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.ProToken
The resulting token


Constructor Detail
Top

Lexer (Preprocessor)

Purpose: Constructor for the Lexer class
Notes : Reads the first character (currChar is always assumed available).

Parameters:
poPreprocessor Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.Lexer.Preprocessor
The preprocessor providing the character stream


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       19.09.2026 10:18:15