|
Options |
Name |
Purpose |
|
|
|
INTEGER AddFilename (character)
|
Adds a file name to the filename list and returns its index
Notes :
@param pcName The name
@return The file index
*/
|
|
|
|
CHARACTER CharAt (character, integer)
|
Character at 0-based position of a string
Notes :
@param pcText The text
@param piPos0 The 0-based position
@return The single character, or "" if out of range
*/
|
|
|
|
CheckForNameDot ()
|
Determines whether the '.' just read is a name dot
Notes :
*/
|
|
|
|
DefGlobal (character, character)
|
Defines a global preprocessor name
Notes :
@param pcName The name
@param pcValue The value
*/
|
|
|
|
DefScoped (character, character)
|
Defines a scoped preprocessor name in the current include scope
Notes :
@param pcName The name
@param pcValue The value
*/
|
|
|
|
INTEGER Escape ()
|
Escape ('~' / '\') handling
Notes :
@return The resulting character code, or SKIP_CHAR to discard
*/
|
|
|
|
CHARACTER EvaluateDefined (character)
|
Progress DEFINED() function - returns "0".."3"
Notes : Named EvaluateDefined because a method named "Defined"
crashes the OpenEdge 11.7 compiler (SCL-5595).
@param pcName The (lowercased) argument name
@return "3","2","1" or "0"
*/
|
|
|
|
CHARACTER FindFile (character)
|
Locates an include file on the PROPATH
Notes :
@param pcName The referenced file name
@return The resolved file name, or "" if not found
*/
|
|
|
|
CHARACTER GetArgText (character)
|
Returns the text of a named argument, define or built-in
Notes :
@param pcName The name
@return The argument text
*/
|
|
|
|
CHARACTER GetArgTextByNum (integer)
|
Returns the text of a numbered include argument
Notes :
@param piArgNum The argument number
@return The argument text
*/
|
|
|
|
INTEGER GetChar ()
|
Returns the next preprocessed character, or a sentinel
Notes : Handles escape sequences, macro references and name-dot
detection.
@return The next character code (or EOF_CHAR / PROPARSE_DIRECTIVE)
*/
|
|
|
|
INTEGER GetColumn ()
|
Returns the current column number
Notes :
@return The column number
*/
|
|
|
|
INTEGER GetFileIndex ()
|
Returns the current file index
Notes :
@return The file index
*/
|
|
|
|
CHARACTER GetFilename (integer)
|
Returns the file name for the given file index
Notes :
@param piFileIndex The file index
@return The file name
*/
|
|
|
|
INTEGER GetLine ()
|
Returns the current line number
Notes :
@return The line number
*/
|
|
|
|
GetRawChar ()
|
Reads the next raw character, popping input sources at EOF
Notes :
*/
|
|
|
|
INTEGER GetSourceNum ()
|
Returns the current source number
Notes :
@return The source number
*/
|
|
|
|
HandleIncludeReference (character, integer, integer)
|
Parses and enters an include file reference
Notes : Port of the include-reference branch of macroReference.
@param pcRefText The full "{...}" reference text
@param piClosing0 The 0-based index of the closing '}'
@param piRefEnd0 The length of the reference text
*/
|
|
|
|
CHARACTER IncludeRefArg (character, integer)
|
Gathers one include reference argument, advancing the position
Notes : Mirrors Preprocessor.includeRefArg (0-based).
@param pcText The macro reference text
@param piPos0 The 0-based scan position (input-output)
@return The argument value
*/
|
|
|
|
CHARACTER IncRefDequeue ()
|
Dequeues the next include-reference marker text
Notes :
@return The include-reference text
*/
|
|
|
|
LOGICAL IncRefIsEmpty ()
|
Returns whether the pending include-reference queue is empty
Notes :
@return Logical value indicating an empty queue
*/
|
|
|
|
LOGICAL IsAllDigits (character)
|
Returns whether the text consists solely of digits
Notes :
@param pcText The text
@return Logical value indicating all digits
*/
|
|
|
|
LOGICAL IsWhitespaceChar (character)
|
Returns whether the character is whitespace
Notes :
@param pcChar The character
@return Logical value indicating whitespace
*/
|
|
|
|
LOGICAL IsWhitespaceCode (integer)
|
Returns whether the character code is whitespace
Notes :
@param piChar The character code
@return Logical value indicating whitespace
*/
|
|
|
|
LaGet ()
|
Fetches the lookahead character
Notes :
*/
|
|
|
|
LaUse ()
|
Consumes the previously fetched lookahead character
Notes :
*/
|
|
|
|
MacroReference ()
|
Processes a macro reference starting at the current '{'
Notes : Port of Preprocessor.macroReference.
*/
|
|
|
|
MakroRefDequeue (character, character)
|
Dequeues the next macro-reference marker
Notes :
@param pcRefName The macro reference name
@param pcRefText The macro reference text
*/
|
|
|
|
LOGICAL MakroRefIsEmpty ()
|
Returns whether the pending macro-reference queue is empty
Notes :
@return Logical value indicating an empty queue
*/
|
|
|
|
LOGICAL NewInclude (character)
|
Starts a new include file, if not consuming and the name is set
Notes :
@param pcReferencedWithName The referenced file name
@return Logical value indicating if the include file was entered
*/
|
|
|
|
NewMacroRef2 (character, integer, integer, integer)
|
Pushes a new macro / argument expansion input source
Notes :
@param pcText The expansion text
@param piFile The file index of the referencing '{'
@param piLine The line of the referencing '{'
@param piCol The column of the referencing '{'
*/
|
|
|
|
NewMacroRefByName (character, integer, integer, integer)
|
Pushes a macro / named-argument expansion input source
Notes :
@param pcName The name
@param piFile The file index of the referencing curly brace
@param piLine The line of the referencing curly brace
@param piCol The column of the referencing curly brace
*/
|
|
|
|
NewMacroRefByNum (integer, integer, integer, integer)
|
Pushes a numbered-argument expansion input source
Notes :
@param piArgNum The argument number
@param piFile The file index of the referencing curly brace
@param piLine The line of the referencing curly brace
@param piCol The column of the referencing curly brace
*/
|
|
|
|
INTEGER PopInput ()
|
Pops the current input source off the stack
Notes :
@return 2 macro/arg popped, 1 include popped, 0 nothing left
*/
|
|
|
|
Undef (character)
|
Undefines a preprocessor name (scoped, named argument or global)
Notes :
@param pcName The name
*/
|