|
|
|
|
@ -1625,7 +1625,8 @@ extern int ast_yylex \
|
|
|
|
|
#define YY_RULE_SETUP \
|
|
|
|
|
YY_USER_ACTION
|
|
|
|
|
|
|
|
|
|
/** The main scanner function which does all the work.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief The main scanner function which does all the work.
|
|
|
|
|
*/
|
|
|
|
|
YY_DECL
|
|
|
|
|
{
|
|
|
|
|
@ -2387,10 +2388,11 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
|
|
}
|
|
|
|
|
#endif /* ifndef YY_NO_INPUT */
|
|
|
|
|
|
|
|
|
|
/** Immediately switch to a different input stream.
|
|
|
|
|
* @param input_file A readable stream.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @note This function does not reset the start condition to @c INITIAL .
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Immediately switch to a different input stream.
|
|
|
|
|
* \param input_file A readable stream.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \note This function does not reset the start condition to \c INITIAL .
|
|
|
|
|
*/
|
|
|
|
|
void ast_yyrestart (FILE * input_file , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2406,9 +2408,10 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
|
|
|
ast_yy_load_buffer_state(yyscanner );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Switch to a different input buffer.
|
|
|
|
|
* @param new_buffer The new input buffer.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Switch to a different input buffer.
|
|
|
|
|
* \param new_buffer The new input buffer.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2451,11 +2454,12 @@ static void ast_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
|
|
yyg->yy_hold_char = *yyg->yy_c_buf_p;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Allocate and initialize an input buffer state.
|
|
|
|
|
* @param file A readable stream.
|
|
|
|
|
* @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @return the allocated buffer state.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Allocate and initialize an input buffer state.
|
|
|
|
|
* \param file A readable stream.
|
|
|
|
|
* \param size The character buffer size in bytes. When in doubt, use \c YY_BUF_SIZE.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \return the allocated buffer state.
|
|
|
|
|
*/
|
|
|
|
|
YY_BUFFER_STATE ast_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2481,9 +2485,10 @@ static void ast_yy_load_buffer_state (yyscan_t yyscanner)
|
|
|
|
|
return b;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Destroy the buffer.
|
|
|
|
|
* @param b a buffer created with ast_yy_create_buffer()
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Destroy the buffer.
|
|
|
|
|
* \param b a buffer created with ast_yy_create_buffer()
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2534,9 +2539,10 @@ extern int isatty (int );
|
|
|
|
|
errno = oerrno;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
|
|
|
|
|
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Discard all buffered characters. On the next scan, YY_INPUT will be called.
|
|
|
|
|
* \param b the buffer state to be flushed, usually \c YY_CURRENT_BUFFER.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2562,11 +2568,11 @@ extern int isatty (int );
|
|
|
|
|
ast_yy_load_buffer_state(yyscanner );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Pushes the new state onto the stack. The new state becomes
|
|
|
|
|
* the current state. This function will allocate the stack
|
|
|
|
|
* if necessary.
|
|
|
|
|
* @param new_buffer The new state.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Pushes the new state onto the stack. The new state becomes
|
|
|
|
|
* the current state. This function will allocate the stack if necessary.
|
|
|
|
|
* \param new_buffer The new state.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2595,9 +2601,10 @@ void ast_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
|
|
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Removes and deletes the top of the stack, if present.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Removes and deletes the top of the stack, if present.
|
|
|
|
|
* The next element becomes the new top.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yypop_buffer_state (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2616,8 +2623,8 @@ void ast_yypop_buffer_state (yyscan_t yyscanner)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Allocates the stack if it does not exist.
|
|
|
|
|
* Guarantees space for at least one push.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Allocates the stack if it does not exist Guarantees space for at least one push.
|
|
|
|
|
*/
|
|
|
|
|
static void ast_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2659,11 +2666,12 @@ static void ast_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Setup the input buffer state to scan directly from a user-specified character buffer.
|
|
|
|
|
* @param base the character buffer
|
|
|
|
|
* @param size the size in bytes of the character buffer
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @return the newly allocated buffer state object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Setup the input buffer state to scan directly from a user-specified character buffer.
|
|
|
|
|
* \param base the character buffer
|
|
|
|
|
* \param size the size in bytes of the character buffer
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \return the newly allocated buffer state object.
|
|
|
|
|
*/
|
|
|
|
|
YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2694,12 +2702,13 @@ YY_BUFFER_STATE ast_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yys
|
|
|
|
|
return b;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Setup the input buffer state to scan a string. The next call to ast_yylex() will
|
|
|
|
|
* scan from a @e copy of @a str.
|
|
|
|
|
* @param str a NUL-terminated string to scan
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @return the newly allocated buffer state object.
|
|
|
|
|
* @note If you want to scan bytes that may contain NUL values, then use
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Setup the input buffer state to scan a string. The next call to ast_yylex() will
|
|
|
|
|
* scan from a \e copy of \a str.
|
|
|
|
|
* \param yy_str a NUL-terminated string to scan
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \return the newly allocated buffer state object.
|
|
|
|
|
* \note If you want to scan bytes that may contain NUL values, then use
|
|
|
|
|
* ast_yy_scan_bytes() instead.
|
|
|
|
|
*/
|
|
|
|
|
YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
|
|
|
|
|
@ -2708,12 +2717,13 @@ YY_BUFFER_STATE ast_yy_scan_string (yyconst char * yy_str , yyscan_t yyscanner)
|
|
|
|
|
return ast_yy_scan_bytes(yy_str,strlen(yy_str) ,yyscanner);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Setup the input buffer state to scan the given bytes. The next call to ast_yylex() will
|
|
|
|
|
* scan from a @e copy of @a bytes.
|
|
|
|
|
* @param bytes the byte buffer to scan
|
|
|
|
|
* @param len the number of bytes in the buffer pointed to by @a bytes.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @return the newly allocated buffer state object.
|
|
|
|
|
* \param bytes the byte buffer to scan
|
|
|
|
|
* \param len the number of bytes in the buffer pointed to by @a bytes.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \return the newly allocated buffer state object.
|
|
|
|
|
*/
|
|
|
|
|
YY_BUFFER_STATE ast_yy_scan_bytes (yyconst char * bytes, int len , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2774,8 +2784,9 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
|
|
|
|
|
|
|
|
|
|
/* Accessor methods (get/set functions) to struct members. */
|
|
|
|
|
|
|
|
|
|
/** Get the user-defined data for this scanner.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the user-defined data for this scanner.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2783,8 +2794,9 @@ YY_EXTRA_TYPE ast_yyget_extra (yyscan_t yyscanner)
|
|
|
|
|
return yyextra;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the current line number.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the current line number.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
int ast_yyget_lineno (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2796,8 +2808,9 @@ int ast_yyget_lineno (yyscan_t yyscanner)
|
|
|
|
|
return yylineno;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the current column number.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the current column number.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
int ast_yyget_column (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2809,8 +2822,9 @@ int ast_yyget_column (yyscan_t yyscanner)
|
|
|
|
|
return yycolumn;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the input stream.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the input stream.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
FILE *ast_yyget_in (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2818,8 +2832,9 @@ FILE *ast_yyget_in (yyscan_t yyscanner)
|
|
|
|
|
return yyin;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the output stream.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the output stream.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
FILE *ast_yyget_out (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2827,8 +2842,9 @@ FILE *ast_yyget_out (yyscan_t yyscanner)
|
|
|
|
|
return yyout;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the length of the current token.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Get the length of the current token.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
int ast_yyget_leng (yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2837,7 +2853,7 @@ int ast_yyget_leng (yyscan_t yyscanner)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Get the current token.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
char *ast_yyget_text (yyscan_t yyscanner)
|
|
|
|
|
@ -2846,9 +2862,10 @@ char *ast_yyget_text (yyscan_t yyscanner)
|
|
|
|
|
return yytext;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Set the user-defined data. This data is never touched by the scanner.
|
|
|
|
|
* @param user_defined The data to be associated with this scanner.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Set the user-defined data. This data is never touched by the scanner.
|
|
|
|
|
* \param user_defined The data to be associated with this scanner.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2856,9 +2873,10 @@ void ast_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
|
|
|
|
|
yyextra = user_defined ;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Set the current line number.
|
|
|
|
|
* @param line_number
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Set the current line number.
|
|
|
|
|
* \param line_number
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2871,9 +2889,10 @@ void ast_yyset_lineno (int line_number , yyscan_t yyscanner)
|
|
|
|
|
yylineno = line_number;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Set the current column.
|
|
|
|
|
* @param line_number
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Set the current column.
|
|
|
|
|
* \param column_no
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
*/
|
|
|
|
|
void ast_yyset_column (int column_no , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
@ -2886,11 +2905,11 @@ void ast_yyset_column (int column_no , yyscan_t yyscanner)
|
|
|
|
|
yycolumn = column_no;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/** Set the input stream. This does not discard the current
|
|
|
|
|
* input buffer.
|
|
|
|
|
* @param in_str A readable stream.
|
|
|
|
|
* @param yyscanner The scanner object.
|
|
|
|
|
* @see ast_yy_switch_to_buffer
|
|
|
|
|
/*!
|
|
|
|
|
* \brief Set the input stream. This does not discard the current input buffer.
|
|
|
|
|
* \param in_str A readable stream.
|
|
|
|
|
* \param yyscanner The scanner object.
|
|
|
|
|
* \see ast_yy_switch_to_buffer
|
|
|
|
|
*/
|
|
|
|
|
void ast_yyset_in (FILE * in_str , yyscan_t yyscanner)
|
|
|
|
|
{
|
|
|
|
|
|