The parser. More...
Public Types | |
enum | ParserTokens { MSG_STOP = -1, MSG_ERROR, TOK_EOS, TOK_BRCLO, TOK_COMMA, TOK_KLOPN, TOK_KLCLO, TOK_DOT, TOK_MEOP, TOK_3DOT, TOK_QUOTE, TOK_LATTE, TOK_BROPN, TOK_EQUAL, TOK_ABST, TOK_ALIA, TOK_AS, TOK_BYRE, TOK_BYVA, TOK_CAST, TOK_CDEC, TOK_CLAS, TOK_COMM, TOK_CONS, TOK_DECL, TOK_DEFI, TOK_DIM, TOK_END, TOK_ENUM, TOK_EXDS, TOK_EMAC, TOK_EXRN, TOK_EXPO, TOK_INCL, TOK_LIB, TOK_MACR, TOK_WITH, TOK_NAMS, TOK_ONCE, TOK_OVER, TOK_PASC, TOK_PRIV, TOK_PROT, TOK_RDIM, TOK_PTR, TOK_PEEK, TOK_PUBL, TOK_SCOP, TOK_SHAR, TOK_PRES, TOK_STAT, TOK_STCL, TOK_TYPE, TOK_UNIO, TOK_VAR, TOK_VIRT, TOK_FUNC, TOK_FILD, TOK_OPER, TOK_PROP, TOK_SUB, TOK_CTOR, TOK_DTOR, TOK_BYTE, TOK_DOUB, TOK_INT, TOK_LONG, TOK_LINT, TOK_STRI, TOK_SHOR, TOK_SING, TOK_UBYT, TOK_ULNG, TOK_ULIN, TOK_UINT, TOK_USHO, TOK_WSTR, TOK_ZSTR, TOK_ANY, TOK_WORD, TOK_COMSL, TOK_COMML } |
The tokens used by the parser. More... | |
Public Member Functions | |
Parser (BYVAL_AS_EmitterIF_PTR) | |
The constructor. More... | |
Filehandlers | |
Filehandlers are used to load some FreeBASIC source code input in to the buffer Parser::Buf from different input channels (may be the | |
SUB | File_ (BYREF_AS_STRING, BYVAL_AS_INTEGER) |
Read a buffer from a file and parse. More... | |
SUB | StdIn () |
Read a buffer from pipe STDIN and parse. More... | |
SUB | Include (BYVAL_AS_STRING) |
Start a new parser to #INCLUDE a file. More... | |
SUB | writeOut (BYREF_AS_STRING) |
Write a piece of output (for external emitters only) More... | |
Properties to extract original source code | |
Properties are used to extract original text from the input buffer at a certain position. This is the current position of the parser, or the position of the given parameter. | |
PROPERTY_AS_LONG_PTR | CurTok () |
The current token. More... | |
PROPERTY_AS_STRING | BitIni () |
The initialization of a bitfield. More... | |
PROPERTY_AS_STRING | SubStr () |
Context of current token. More... | |
PROPERTY_AS_STRING | SubStr (BYVAL_AS_LONG_PTR) |
Check current token position, extract word if string type. More... | |
Parsers for lists and blocks | |
External demuxers are called from emitter-handlers when they sit on a list of statments, ie. in an ENUM block or in a DIM statement with more than one variable. | |
SUB | parseListNam (BYVAL_AS_EmitFunc) |
Evaluate a list of names. More... | |
SUB | parseListNamTyp (BYVAL_AS_EmitFunc) |
Evaluate a list of declarations. More... | |
SUB | parseListPara (BYVAL_AS_EmitFunc) |
Evaluate a parameter list. More... | |
SUB | parseBlockEnum (BYVAL_AS_EmitFunc) |
Evaluate the context of an ENUM block. More... | |
SUB | parseBlockTyUn (BYVAL_AS_EmitFunc) |
Evaluate the context of a block. More... | |
Public Attributes | |
Parser STRINGs | |
STRING variables to exchange data with th emitters. | |
STRING | InPath = "" |
path of current of input file (option --tree (-t)) More... | |
STRING | Fnam |
the name of the input file More... | |
STRING | Buf |
the input buffer More... | |
STRING | ErrMsg |
an error message More... | |
STRING | Tok |
the token list (binaries) More... | |
STRING | BlockNam |
the name of a block (ENUM, UNION, TYPE) More... | |
Parser token pointers | |
Pointers to the token list, used to specify the result of the parsing process. The tokens specify the construct in progress and they are used by the emitters to create their output. Four main tokens specify the kind of the construct:
Other tokens are only valid if the main token is not zero. | |
LONG_PTR | StaTok |
the pre-parsed token More... | |
LONG_PTR | NamTok |
the name token of the construct More... | |
LONG_PTR | DimTok |
the token of the left parenthesis of a dimension More... | |
LONG_PTR | IniTok |
the start character of an initializer ('=') More... | |
LONG_PTR | BitTok |
the start character of a bitfiled declaration (':') More... | |
LONG_PTR | TypTok |
the token of the type keyword More... | |
LONG_PTR | ShaTok |
the token of the SHARED keyword More... | |
LONG_PTR | PtrTok |
the token of the first PTR keyword More... | |
LONG_PTR | Co1Tok |
the token of the first CONST keyword (if any) More... | |
LONG_PTR | Co2Tok |
the token of the second CONST keyword (if any) More... | |
LONG_PTR | FunTok |
type of the pre-parsed token More... | |
LONG_PTR | CalTok |
the token of the calling convention keyword (if any) More... | |
LONG_PTR | AliTok |
the token of the ALIAS keyword (if any) More... | |
LONG_PTR | As_Tok |
the token of the AS keyword (if no SUB) More... | |
LONG_PTR | ParTok |
the token of the left parenthesis of a parameter list More... | |
LONG_PTR | By_Tok |
the token of the declaration specifier (BYVAL / BYREF) More... | |
LONG_PTR | DivTok |
the token of different purposes like the STATIC keyword in a member function declaration (if any) or the LIB keyword in a normal declaration More... | |
LONG_PTR | Tk1 |
the first token in a statment More... | |
LONG_PTR | EndTok |
the last token in the list More... | |
LONG_PTR | UserTok |
a token for customised usage in emitter-handlers More... | |
Parser counters, integers and pointers | |
Diverse variables used on different events. They inform the emitters about the state of the parser. | |
LONG | Po |
the current position in the input buffer Parser::Buf More... | |
LONG | Fin |
the last position in the input buffer Parser::Buf More... | |
LONG | PtrCount |
the number of PTR keywords More... | |
LONG | SrcBgn |
start position to export FB source More... | |
LONG | LineNo |
the current line in the input buffer Parser::Buf More... | |
LONG | LevelCount |
the level in nested blocks (one based) More... | |
LONG | InTree |
flag to indicate if to follow source tree #INCLUDE s More... | |
LONG | ListCount |
the current entry in a list (zero based) More... | |
Private Types | |
enum | EoS_Modi { TO_END_BLOCK, TO_END, TO_EOL, TO_COLON } |
The modi for end of statement searching. More... | |
Private Member Functions | |
Internal parsers | |
Functions for evaluating a construct in the FreeBASIC source code after a relevant keyword was found in the pre-parsering process. After the fine-parsing process the matching emitter-handler gets called. (Or the function EmitterIF::Error_() in case of a syntax problem. It's up to the emitter if and where the user sees the error message.) | |
SUB | pre_parse () |
Pre-parse all FB source code, search relevant constructs. More... | |
PROPERTY_AS_STRING | USubStr () |
Check current token position, extract word if string type. More... | |
FUNCTION_AS_INTEGER | getToken () |
Check word at current parser position. More... | |
FUNCTION_AS_INTEGER | tokenize (BYVAL_AS_EoS_Modi) |
Parse a relevant construct, create a token list. More... | |
FUNCTION_AS_INTEGER | Errr (BYREF_AS_STRING) |
Emit an error message. More... | |
FUNCTION_AS_INTEGER | demuxNam (BYVAL_AS_INTEGER, BYVAL_AS_INTEGER) |
Evaluate a name, dimension and initializer in the token list. More... | |
FUNCTION_AS_INTEGER | demuxTyp (BYVAL_AS_INTEGER) |
Evaluate a type declaration in the token list. More... | |
FUNCTION_AS_INTEGER | demuxDecl () |
Evaluate a function declaration in the token list. More... | |
FUNCTION_AS_INTEGER | skipOverColon () |
Move to the end of statement and one step beyond. More... | |
FUNCTION_AS_INTEGER | skipOverBrclo () |
Move to the matching right parenthesis and one step beyond. More... | |
FUNCTION_AS_INTEGER | skipOverComma () |
Move to the next comma and one step beyond. More... | |
FUNCTION_AS_INTEGER | VAR_ () |
Evaluate a variable declaration. More... | |
FUNCTION_AS_INTEGER | TYPE_ () |
Evaluate a TYPE or CLASS statement. More... | |
FUNCTION_AS_INTEGER | ENUM_ () |
Evaluate an ENUM block. More... | |
FUNCTION_AS_INTEGER | UNION_ () |
Evaluate a UNION block. More... | |
FUNCTION_AS_INTEGER | FUNCTION_ () |
Evaluate a function. More... | |
FUNCTION_AS_INTEGER | DECLARE_ () |
Evaluate a forward declaration. More... | |
FUNCTION_AS_INTEGER | INCLUDE_ () |
Evaluate an #INCLUDE line. More... | |
FUNCTION_AS_INTEGER | DEFINE_ () |
Evaluate a #DEFINE declaration. More... | |
FUNCTION_AS_INTEGER | MACRO_ () |
Evaluate a #MACRO declaration. More... | |
Private Attributes | |
Internal values | |
Variables used in pre-parsing process. | |
LONG | ToLast |
the type of the token before the current one More... | |
LONG_PTR | Tk |
the current token of the parser More... | |
LONG_PTR | A |
start of a word in pre-parsing More... | |
LONG_PTR | L |
length of a word in pre-parsing More... | |
EmitterIF_PTR | Emit |
the emitter interface More... | |
The parser.
Class to handle FreeBASIC source code. A Parser allways work on exactly one input stream, comming from a file or from STDIN
. The Parser does
When fb-doc follows the source tree (option --tree (-t)), the function EmitterIF::Incl_() creates a new Parser for each file.
Definition at line 46 of file fbdoc_parser.bi.
enum Parser::ParserTokens |
The tokens used by the parser.
Enumerators used to classify the type of a token found in the FreeBASIC source code. Most of them are used in equal / not equal checks, but a few are used with greater or smaller operators. Those are marked as labeled enumerators. Don't change the order (without adapting the source code).
Definition at line 58 of file fbdoc_parser.bi.
|
private |
The modi for end of statement searching.
Enumerators used in internal in the parser to specify where to stop to tokenize the input buffer
Enumerator | |
---|---|
TO_END_BLOCK |
tokenize to the end of the structure |
TO_END |
stop at the end of the token list |
TO_EOL |
stop at the next line end |
TO_COLON |
stop at the next line end or colon |
Definition at line 280 of file fbdoc_parser.bi.
Parser::Parser | ( | BYVAL_AS_EmitterIF_PTR | Em | ) |
The constructor.
Em | A pointer to the emitter interface to use |
Initialize the start values. We get the pointer to the EmitterIF to use and we create a short token list (just two entries) for usage inside the parser. This token list is static and it doesn't change its adress (unlike the list Parser::Tok that may shift when growing).
Definition at line 23 of file fbdoc_parser.bas.
SUB Parser::File_ | ( | BYREF_AS_STRING | File, |
BYVAL_AS_INTEGER | Tree | ||
) |
Read a buffer from a file and parse.
File | The name of the file to translate |
Tree | If to follow source tree #INCLUDE |
Read a file in to input buffer. Start detailed parsing on each relevant construct. Otherwise skip the current line. Export comments on the way. Do nothing if file doesn't exist or isn't readable.
Definition at line 1101 of file fbdoc_parser.bas.
SUB Parser::StdIn | ( | ) |
Read a buffer from pipe STDIN
and parse.
Get all characters from STDIN
. Start the parsing process. If there is no input (an empty line) then call function EmitterIF::Empty_(). (Useful for generating file templates in mode --geany-mode (-g).)
Definition at line 1127 of file fbdoc_parser.bas.
SUB Parser::Include | ( | BYVAL_AS_STRING | N | ) |
Start a new parser to #INCLUDE
a file.
N | The (path, if any, and) file name |
This procedure is used by the emitter handlers for #INCLUDE
statements. It checks if the file has been done already or can get opened. If one of these fails a message gets sent to STDERR and the file gets skipped.
Otherwise a new parser gets started to operate on that file.
Definition at line 1252 of file fbdoc_parser.bas.
SUB Parser::writeOut | ( | BYREF_AS_STRING | T | ) |
Write a piece of output (for external emitters only)
T | The text to write |
External emitters cannot use the streams opened in the main program directly. They have to send text to this procedure to use the standard output stream.
Definition at line 1167 of file fbdoc_parser.bas.
PROPERTY_AS_LONG_PTR Parser::CurTok | ( | ) |
The current token.
This property returns the parser token (where the parser currently stops).
Definition at line 1179 of file fbdoc_parser.bas.
PROPERTY_AS_STRING Parser::BitIni | ( | ) |
The initialization of a bitfield.
This property returns the initialization of a bitfield in a TYPE / UNION block. The size of the bitfield may either be an integer number or a macro (= TOK_WORD).
Definition at line 1191 of file fbdoc_parser.bas.
PROPERTY_AS_STRING Parser::SubStr | ( | ) |
Context of current token.
This property returns the context of the current token from the input buffer.
Definition at line 1210 of file fbdoc_parser.bas.
PROPERTY_AS_STRING Parser::SubStr | ( | BYVAL_AS_LONG_PTR | T | ) |
Check current token position, extract word if string type.
T | The token to read |
This property returns the context of the token T from the input buffer.
Definition at line 1223 of file fbdoc_parser.bas.
SUB Parser::parseListNam | ( | BYVAL_AS_EmitFunc | Export_ | ) |
Evaluate a list of names.
Export_ | The function to call on each find |
Scan the token list for variable declarations and call the emitter for each find (ie. for constructs like DIM AS BYTE Nam1, Nam2(5) = {0,1,2,3,4,5}, Nam3, ...).
Definition at line 305 of file fbdoc_parser.bas.
SUB Parser::parseListNamTyp | ( | BYVAL_AS_EmitFunc | Export_ | ) |
Evaluate a list of declarations.
Export_ | The function to call on each find |
Scan the token list for variable declarations and call the emitter for each find (ie. for constructs like DIM Nam1 AS BYTE, Nam2(5) AS UBYTE = {0,1,2,3,4,5}, Nam3 AS STRING, ...).
Definition at line 324 of file fbdoc_parser.bas.
SUB Parser::parseListPara | ( | BYVAL_AS_EmitFunc | Export_ | ) |
Evaluate a parameter list.
Export_ | The function to call on each find |
Scan the token list for a parameter list. Evaluate declaration specifiers (BYVAL / BYREF) and handle ellipsis, parameters without name, initializers and empty lists.
Definition at line 465 of file fbdoc_parser.bas.
SUB Parser::parseBlockEnum | ( | BYVAL_AS_EmitFunc | Export_ | ) |
Evaluate the context of an ENUM block.
Export_ | The function to call on each find |
The emitter calls us to evaluate statements inside an ENUM block. So we stop after finding a statement and call the emitter handler one-by-one.
Definition at line 343 of file fbdoc_parser.bas.
SUB Parser::parseBlockTyUn | ( | BYVAL_AS_EmitFunc | Export_ | ) |
Evaluate the context of a block.
Export_ | The function to call on each find |
The emitter calls us to evaluate constructs inside a block (TYPE / UNION). So we stop after finding a statement and call the emitter handler one-by-one.
Definition at line 371 of file fbdoc_parser.bas.
|
private |
Pre-parse all FB source code, search relevant constructs.
Search the input buffer for a relevant construct. Start detailed parsing on each relevant construct. Otherways skip the current line. Export comments on the way.
Definition at line 1035 of file fbdoc_parser.bas.
|
private |
Check current token position, extract word if string type.
This property returns the context of the current parser position in the input buffer in upper case characters.
Definition at line 1236 of file fbdoc_parser.bas.
|
private |
Check word at current parser position.
This function checks the word at the current parser position. In case of a keyword the matching token gets returned. Otherwise Parser::TOK_WORD gets returned.
Definition at line 775 of file fbdoc_parser.bas.
|
private |
Parse a relevant construct, create a token list.
Stop_ | The condition where to end parsing |
Start at the current position of the input buffer to check each character. Sort the input in to a token list. The token list contains three values in each entry: the type of the input, its start and its length.
The end of this process gets specified by the Stop_ parameter. It's one of the EoS_Modi enumerators.
Definition at line 950 of file fbdoc_parser.bas.
|
private |
Emit an error message.
E | The reason for the error message |
Create an error message and call the error function of the emitter. It depends on the emitter if and where the error gets shown.
Definition at line 727 of file fbdoc_parser.bas.
|
private |
Evaluate a name, dimension and initializer in the token list.
MinTk | The token to start at |
DeclMod | The modus (normal or declaration) |
Check the token list for a declaration of a name, starting at the current token (ie. behind a VAR keyword). Also checking for parenthesis to specify a dimension and the equal '=' character of an initializer. After execution the current position is at the next token after the equal character, or behind the closing parenthesis, or the name. An error is returned if there is no word at the current position.
Definition at line 114 of file fbdoc_parser.bas.
|
private |
Evaluate a type declaration in the token list.
DeclMod | The modus (normal or declaration) |
Check the token list for a type declaration. Starting at the AS statement we read the name of the type and all following 'PTR' statements. The type may be a SUB, FUNCTION, PROPERTY, ... After execution the current position is at the next token behind the last PTR, or at the type name, or at the closing parenthesis. An error is returned if there is no word at the current position, or the token list doesn't start with 'AS', or the next token isn't a word.
Definition at line 212 of file fbdoc_parser.bas.
|
private |
Evaluate a function declaration in the token list.
Pre-check the token list for a declaration of a function, starting at the token behind the DECLARE statement. When OK, use demuxTyp() to evaluate the type of the declaration.
Definition at line 170 of file fbdoc_parser.bas.
|
private |
Move to the end of statement and one step beyond.
Step through the token list and search for the end of the current statement. Then walk one step beyond, if not end of token list.
Definition at line 90 of file fbdoc_parser.bas.
|
private |
Move to the matching right parenthesis and one step beyond.
Step through the token list and search for the next right parenthesis, skipping nested pairs of paranethesis. When we find a matching right parenthesis we walk one step beyond. Else we stop at the next colon or line end.
Definition at line 70 of file fbdoc_parser.bas.
|
private |
Move to the next comma and one step beyond.
We step trough the token list and search for the next comma, skipping nested pairs of parenthesis. When we find a comma we walk one step beyond. Otherwise we stop at the next right parenthesis or the next colon or line end.
Definition at line 47 of file fbdoc_parser.bas.
|
private |
Evaluate a variable declaration.
The pre-parser found a VAR, DIM, REDIM, CONST, EXTERN, COMMON or STATIC keyword. We tokenize the current line and send the result to the emitter, or we call Errr() on syntax problems.
Definition at line 543 of file fbdoc_parser.bas.
|
private |
Evaluate a TYPE or CLASS statement.
The pre-parser found a TYPE or CLASS keyword. In case of TYPE we tokenize the line and check if it is an alias declaration. In that case we call the emitter for a declaration on that single line. Otherwise we tokenize the complete block and call the emitter for a TYPE block. Or we call Errr() on syntax problems.
Note: the C emitter creates
Definition at line 505 of file fbdoc_parser.bas.
|
private |
Evaluate an ENUM block.
The pre-parser found an ENUM keyword. We tokenize the context of the complete block and call the emitter, or we call Errr() on syntax problems.
Definition at line 582 of file fbdoc_parser.bas.
|
private |
Evaluate a UNION block.
The pre-parser found an UNION keyword. We tokenize the context of the complete block and call the emitter, or we call Errr() on syntax problems.
Definition at line 600 of file fbdoc_parser.bas.
|
private |
Evaluate a function.
The pre-parser found a SUB, FUNCTION, CONSTRUCTOR, DESTRUCTOR, PROPERTY or OPERATOR keyword. We tokenize the complete block, evaluate the name and type and send the result to the emitter, or we call Errr() on syntax problems.
Definition at line 620 of file fbdoc_parser.bas.
|
private |
Evaluate a forward declaration.
The pre-parser found a DECLARE keyword. We tokenize the current line and send the result to the emitter, or we call Errr() on syntax problems.
Definition at line 653 of file fbdoc_parser.bas.
|
private |
Evaluate an #INCLUDE
line.
The pre-parser found an #INCLUDE
line. We tokenize the line and call the emitter, or we call Errr() handler on syntax problems. It's up to the emitter function to follow the source tree (= create a new parser and load the file).
Definition at line 670 of file fbdoc_parser.bas.
|
private |
Evaluate a #DEFINE
declaration.
The pre-parser found a #DEFINE
line. We tokenize the line and call the emitter, or we call Errr() handler on syntax problems.
Definition at line 705 of file fbdoc_parser.bas.
|
private |
Evaluate a #MACRO
declaration.
The pre-parser found a #MACRO
block. We tokenize the block and call the emitter, or we call Errr() handler on syntax problems.
Definition at line 686 of file fbdoc_parser.bas.
STRING Parser::InPath = "" |
path of current of input file (option --tree (-t))
Definition at line 155 of file fbdoc_parser.bi.
STRING Parser::Fnam |
the name of the input file
Definition at line 155 of file fbdoc_parser.bi.
STRING Parser::Buf |
the input buffer
Definition at line 155 of file fbdoc_parser.bi.
STRING Parser::ErrMsg |
an error message
Definition at line 155 of file fbdoc_parser.bi.
STRING Parser::Tok |
the token list (binaries)
Definition at line 155 of file fbdoc_parser.bi.
STRING Parser::BlockNam |
the name of a block (ENUM, UNION, TYPE)
Definition at line 155 of file fbdoc_parser.bi.
LONG_PTR Parser::StaTok |
the pre-parsed token
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::NamTok |
the name token of the construct
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::DimTok |
the token of the left parenthesis of a dimension
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::IniTok |
the start character of an initializer ('=')
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::BitTok |
the start character of a bitfiled declaration (':')
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::TypTok |
the token of the type keyword
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::ShaTok |
the token of the SHARED keyword
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::PtrTok |
the token of the first PTR keyword
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::Co1Tok |
the token of the first CONST keyword (if any)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::Co2Tok |
the token of the second CONST keyword (if any)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::FunTok |
type of the pre-parsed token
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::CalTok |
the token of the calling convention keyword (if any)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::AliTok |
the token of the ALIAS keyword (if any)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::As_Tok |
the token of the AS keyword (if no SUB)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::ParTok |
the token of the left parenthesis of a parameter list
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::By_Tok |
the token of the declaration specifier (BYVAL / BYREF)
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::DivTok |
the token of different purposes like the STATIC keyword in a member function declaration (if any) or the LIB keyword in a normal declaration
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::Tk1 |
the first token in a statment
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::EndTok |
the last token in the list
Definition at line 183 of file fbdoc_parser.bi.
LONG_PTR Parser::UserTok |
a token for customised usage in emitter-handlers
Definition at line 183 of file fbdoc_parser.bi.
LONG Parser::Po |
the current position in the input buffer Parser::Buf
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::Fin |
the last position in the input buffer Parser::Buf
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::PtrCount |
the number of PTR keywords
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::SrcBgn |
start position to export FB source
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::LineNo |
the current line in the input buffer Parser::Buf
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::LevelCount |
the level in nested blocks (one based)
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::InTree |
flag to indicate if to follow source tree #INCLUDE
s
Definition at line 214 of file fbdoc_parser.bi.
LONG Parser::ListCount |
the current entry in a list (zero based)
Definition at line 214 of file fbdoc_parser.bi.
|
private |
the type of the token before the current one
Definition at line 294 of file fbdoc_parser.bi.
|
private |
the current token of the parser
Definition at line 297 of file fbdoc_parser.bi.
|
private |
start of a word in pre-parsing
Definition at line 297 of file fbdoc_parser.bi.
|
private |
length of a word in pre-parsing
Definition at line 297 of file fbdoc_parser.bi.
|
private |
the emitter interface
Definition at line 301 of file fbdoc_parser.bi.