GNU Octave
3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <stdlib.h>
#include <cctype>
#include <cstring>
#include <iostream>
#include <set>
#include <sstream>
#include <string>
#include <stack>
#include <sys/types.h>
#include <unistd.h>
#include "cmd-edit.h"
#include "quit.h"
#include "lo-mappers.h"
#include "Cell.h"
#include "comment-list.h"
#include "defun.h"
#include "error.h"
#include "gripes.h"
#include "input.h"
#include "lex.h"
#include "ov.h"
#include "parse.h"
#include "pt-all.h"
#include "symtab.h"
#include "token.h"
#include "toplev.h"
#include "utils.h"
#include "variables.h"
#include <oct-parse.h>
#include <oct-gperf.h>
Go to the source code of this file.
Classes | |
struct | yy_buffer_state |
struct | yy_trans_info |
struct | yyguts_t |
Macros | |
#define | BEGIN yyg->yy_start = 1 + 2 * |
#define | BLOCK_COMMENT_START 4 |
#define | CMD_OR_COMPUTED_ASSIGN_OP(PATTERN, TOK) |
#define | CMD_OR_OP(PATTERN, TOK, COMPAT) |
#define | CMD_OR_UNARY_OP(PATTERN, TOK, COMPAT) |
#define | COMMAND_START 1 |
#define | curr_lexer yyextra |
#define | DQ_STRING_START 6 |
#define | ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0) |
#define | EOB_ACT_CONTINUE_SCAN 0 |
#define | EOB_ACT_END_OF_FILE 1 |
#define | EOB_ACT_LAST_MATCH 2 |
#define | FLEX_BETA |
#define | FLEX_SCANNER |
#define | FLEXINT_H |
#define | HANDLE_STRING_CONTINUATION |
#define | INITIAL 0 |
#define | INPUT_FILE_START 3 |
#define | INT16_MAX (32767) |
#define | INT16_MIN (-32767-1) |
#define | INT32_MAX (2147483647) |
#define | INT32_MIN (-2147483647-1) |
#define | INT8_MAX (127) |
#define | INT8_MIN (-128) |
#define | LINE_COMMENT_START 5 |
#define | MATRIX_START 2 |
#define | octave_wrap(n) 1 |
#define | OCTAVE_YYG struct yyguts_t *yyg = static_cast<struct yyguts_t*> (scanner) |
#define | REJECT reject_used_but_not_detected |
#define | SQ_STRING_START 7 |
#define | UINT16_MAX (65535U) |
#define | UINT32_MAX (4294967295U) |
#define | UINT8_MAX (255U) |
#define | unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) |
#define | YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) |
#define | YY_BREAK break; |
#define | YY_BUF_SIZE 16384 |
#define | YY_BUFFER_EOF_PENDING 2 |
#define | YY_BUFFER_NEW 0 |
#define | YY_BUFFER_NORMAL 1 |
#define | YY_CURRENT_BUFFER |
#define | YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] |
#define | YY_DECL |
#define | YY_DECL_IS_OURS 1 |
#define | YY_DO_BEFORE_ACTION |
#define | YY_END_OF_BUFFER 120 |
#define | YY_END_OF_BUFFER_CHAR 0 |
#define | YY_EXIT_FAILURE 2 |
#define | YY_EXTRA_TYPE octave_base_lexer * |
#define | YY_FATAL_ERROR(msg) (octave_get_extra (yyscanner))->fatal_error (msg) |
#define | yy_flex_debug yyg->yy_flex_debug_r |
#define | YY_FLEX_MAJOR_VERSION 2 |
#define | YY_FLEX_MINOR_VERSION 5 |
#define | YY_FLEX_SUBMINOR_VERSION 35 |
#define | YY_FLUSH_BUFFER octave__flush_buffer(YY_CURRENT_BUFFER ,yyscanner) |
#define | YY_INPUT(buf, result, max_size) result = curr_lexer->fill_flex_buffer (buf, max_size) |
#define | YY_INT_ALIGNED short int |
#define | YY_LESS_LINENO(n) |
#define | YY_MORE_ADJ 0 |
#define | yy_new_buffer octave__create_buffer |
#define | YY_NEW_FILE octave_restart(yyin ,yyscanner ) |
#define | YY_NULL 0 |
#define | YY_NUM_RULES 119 |
#define | YY_READ_BUF_SIZE 8192 |
#define | YY_RESTORE_YY_MORE_OFFSET |
#define | YY_RULE_SETUP |
#define | YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) |
#define | yy_set_bol(at_bol) |
#define | yy_set_interactive(is_interactive) |
#define | YY_SKIP_YYWRAP |
#define | YY_START ((yyg->yy_start - 1) / 2) |
#define | YY_START_STACK_INCR 25 |
#define | YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) |
#define | YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) |
#define | YY_STRUCT_YY_BUFFER_STATE |
#define | YY_TYPEDEF_YY_BUFFER_STATE |
#define | YY_TYPEDEF_YY_SCANNER_T |
#define | YY_TYPEDEF_YY_SIZE_T |
#define | YY_USER_ACTION |
#define | yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) |
#define | yyconst |
#define | yyextra yyg->yyextra_r |
#define | yyin yyg->yyin_r |
#define | yyleng yyg->yyleng_r |
#define | yyless(n) |
#define | yyless(n) |
#define | yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) |
#define | yylval yyg->yylval_r |
#define | yymore() yymore_used_but_not_detected |
#define | yyout yyg->yyout_r |
#define | YYSTATE YY_START |
#define | YYTABLES_NAME "yytables" |
#define | yyterminate() return YY_NULL |
#define | yytext yyg->yytext_r |
#define | yytext_ptr yytext_r |
Typedefs | |
typedef short int | flex_int16_t |
typedef int | flex_int32_t |
typedef signed char | flex_int8_t |
typedef unsigned short int | flex_uint16_t |
typedef unsigned int | flex_uint32_t |
typedef unsigned char | flex_uint8_t |
typedef struct yy_buffer_state * | YY_BUFFER_STATE |
typedef unsigned char | YY_CHAR |
typedef size_t | yy_size_t |
typedef int | yy_state_type |
typedef void * | yyscan_t |
Functions | |
DEFUN (iskeyword, args,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} iskeyword ()\n\ @deftypefnx {Built-in Function} {} iskeyword (@var{name})\n\ Return true if @var{name} is an Octave keyword. If @var{name}\n\ is omitted, return a list of keywords.\n\ @seealso{isvarname, exist}\n\ @end deftypefn") | |
DEFUN (__display_tokens__, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} __display_tokens__ ()\n\ Query or set the internal variable that determines whether Octave's\n\ lexer displays tokens as they are read.\n\ @end deftypefn") | |
DEFUN (__token_count__,,,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {} __token_count__ ()\n\ Number of language tokens processed since Octave startup.\n\ @end deftypefn") | |
DEFUN (__lexer_debug_flag__, args, nargout,"-*- texinfo -*-\n\ @deftypefn {Built-in Function} {@var{old_val} =} __lexer_debug_flag__ (@var{new_val}))\n\ Undocumented internal function.\n\ @end deftypefn") | |
static void | display_character (char c) |
static int | input (yyscan_t yyscanner) |
bool | is_keyword (const std::string &s) |
int | isatty (int) |
static bool | looks_like_copyright (const std::string &s) |
static bool | looks_like_hex (const char *s, int len) |
YY_BUFFER_STATE | octave__create_buffer (FILE *file, int size, yyscan_t yyscanner) |
Allocate and initialize an input buffer state. | |
void | octave__delete_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) |
Destroy the buffer. | |
void | octave__flush_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) |
Discard all buffered characters. | |
static void | octave__init_buffer (YY_BUFFER_STATE b, FILE *file, yyscan_t yyscanner) |
static void | octave__load_buffer_state (yyscan_t yyscanner) |
YY_BUFFER_STATE | octave__scan_buffer (char *base, yy_size_t size, yyscan_t yyscanner) |
Setup the input buffer state to scan directly from a user-specified character buffer. | |
YY_BUFFER_STATE | octave__scan_bytes (char *yybytes, int _yybytes_len, yyscan_t yyscanner) |
Setup the input buffer state to scan the given bytes. | |
YY_BUFFER_STATE | octave__scan_string (char *yystr, yyscan_t yyscanner) |
Setup the input buffer state to scan a string. | |
void | octave__switch_to_buffer (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) |
Switch to a different input buffer. | |
void * | octave_alloc (yy_size_t, yyscan_t yyscanner) |
static void | octave_ensure_buffer_stack (yyscan_t yyscanner) |
void | octave_free (void *, yyscan_t yyscanner) |
int | octave_get_column (yyscan_t yyscanner) |
Get the current column number. | |
int | octave_get_debug (yyscan_t yyscanner) |
octave_base_lexer * | octave_get_extra (yyscan_t yyscanner) |
Get the user-defined data for this scanner. | |
FILE * | octave_get_in (yyscan_t yyscanner) |
Get the input stream. | |
int | octave_get_leng (yyscan_t yyscanner) |
Get the length of the current token. | |
int | octave_get_lineno (yyscan_t yyscanner) |
Get the current line number. | |
YYSTYPE * | octave_get_lval (yyscan_t yyscanner) |
FILE * | octave_get_out (yyscan_t yyscanner) |
Get the output stream. | |
char * | octave_get_text (yyscan_t yyscanner) |
Get the current token. | |
int | octave_lex (YYSTYPE *yylval_param, yyscan_t yyscanner) |
The main scanner function which does all the work. | |
int | octave_lex_destroy (yyscan_t yyscanner) |
int | octave_lex_init (yyscan_t *scanner) |
int | octave_lex_init_extra (octave_base_lexer *user_defined, yyscan_t *scanner) |
void | octave_pop_buffer_state (yyscan_t yyscanner) |
Removes and deletes the top of the stack, if present. | |
void | octave_push_buffer_state (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) |
Pushes the new state onto the stack. | |
void * | octave_realloc (void *, yy_size_t, yyscan_t yyscanner) |
void | octave_restart (FILE *input_file, yyscan_t yyscanner) |
Immediately switch to a different input stream. | |
void | octave_set_column (int column_no, yyscan_t yyscanner) |
Set the current column. | |
void | octave_set_debug (int debug_flag, yyscan_t yyscanner) |
void | octave_set_extra (octave_base_lexer *user_defined, yyscan_t yyscanner) |
Set the user-defined data. | |
void | octave_set_in (FILE *in_str, yyscan_t yyscanner) |
Set the input stream. | |
void | octave_set_lineno (int line_number, yyscan_t yyscanner) |
Set the current line number. | |
void | octave_set_lval (YYSTYPE *yylval_param, yyscan_t yyscanner) |
void | octave_set_out (FILE *out_str, yyscan_t yyscanner) |
static std::string | strip_trailing_whitespace (char *s) |
static void | yy_fatal_error (char msg[], yyscan_t yyscanner) |
static void | yy_fatal_error (char *msg, yyscan_t yyscanner) |
static int | yy_get_next_buffer (yyscan_t yyscanner) |
static yy_state_type | yy_get_previous_state (yyscan_t yyscanner) |
static int | yy_init_globals (yyscan_t yyscanner) |
static yy_state_type | yy_try_NUL_trans (yy_state_type current_state, yyscan_t yyscanner) |
static void | yyunput (int c, char *buf_ptr, yyscan_t yyscanner) |
static void | yyunput (int c, register char *yy_bp, yyscan_t yyscanner) |
Variables | |
static bool | lexer_debug_flag = false |
static bool | Vdisplay_tokens = false |
static unsigned int | Vtoken_count = 0 |
static flex_int16_t | yy_accept [358] |
static flex_int16_t | yy_base [387] |
static flex_int16_t | yy_chk [1299] |
static flex_int16_t | yy_def [387] |
static flex_int32_t | yy_ec [256] |
static flex_int32_t | yy_meta [49] |
static flex_int16_t | yy_nxt [1299] |
#define BEGIN yyg->yy_start = 1 + 2 * |
Definition at line 149 of file lex.cc.
Referenced by octave_base_lexer::pop_start_state(), and octave_base_lexer::push_start_state().
#define BLOCK_COMMENT_START 4 |
Definition at line 1090 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define CMD_OR_COMPUTED_ASSIGN_OP | ( | PATTERN, | |
TOK | |||
) |
Definition at line 989 of file lex.cc.
Referenced by octave_lex().
#define CMD_OR_OP | ( | PATTERN, | |
TOK, | |||
COMPAT | |||
) |
Definition at line 971 of file lex.cc.
Referenced by octave_lex().
#define CMD_OR_UNARY_OP | ( | PATTERN, | |
TOK, | |||
COMPAT | |||
) |
Definition at line 1007 of file lex.cc.
Referenced by octave_lex().
#define COMMAND_START 1 |
Definition at line 1087 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define curr_lexer yyextra |
Definition at line 953 of file lex.cc.
Referenced by octave_lex().
#define DQ_STRING_START 6 |
Definition at line 1092 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
Definition at line 1237 of file lex.cc.
Referenced by octave_lex().
#define EOB_ACT_CONTINUE_SCAN 0 |
Definition at line 188 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define EOB_ACT_END_OF_FILE 1 |
Definition at line 189 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define EOB_ACT_LAST_MATCH 2 |
Definition at line 190 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define HANDLE_STRING_CONTINUATION |
Definition at line 1053 of file lex.cc.
Referenced by octave_lex().
#define INITIAL 0 |
Definition at line 1086 of file lex.cc.
Referenced by octave_base_lexer::clear_start_state(), octave_base_lexer::display_start_state(), and octave_lex().
#define INPUT_FILE_START 3 |
Definition at line 1089 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), octave_lex(), and octave_base_lexer::prep_for_file().
#define LINE_COMMENT_START 5 |
Definition at line 1091 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define MATRIX_START 2 |
Definition at line 1088 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define octave_wrap | ( | n | ) | 1 |
Definition at line 343 of file lex.cc.
Referenced by input(), and octave_lex().
Definition at line 4753 of file lex.cc.
Referenced by octave_base_lexer::pop_start_state(), and octave_base_lexer::push_start_state().
#define SQ_STRING_START 7 |
Definition at line 1093 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define unput | ( | c | ) | yyunput( c, yyg->yytext_ptr , yyscanner ) |
Definition at line 208 of file lex.cc.
Referenced by octave_lex().
#define YY_AT_BOL | ( | ) | (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) |
Definition at line 339 of file lex.cc.
Referenced by octave_lex(), and yy_get_previous_state().
#define YY_BREAK break; |
Definition at line 1318 of file lex.cc.
Referenced by octave_lex().
#define YY_BUF_SIZE 16384 |
Definition at line 175 of file lex.cc.
Referenced by octave_lex(), and octave_restart().
#define YY_BUFFER_EOF_PENDING 2 |
Definition at line 275 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_BUFFER_NEW 0 |
Definition at line 263 of file lex.cc.
Referenced by octave__flush_buffer(), octave__scan_buffer(), and octave_lex().
#define YY_BUFFER_NORMAL 1 |
Definition at line 264 of file lex.cc.
Referenced by octave_lex().
#define YY_CURRENT_BUFFER |
Definition at line 286 of file lex.cc.
Referenced by octave__delete_buffer(), octave__flush_buffer(), octave__init_buffer(), octave__switch_to_buffer(), octave_get_column(), octave_get_lineno(), octave_lex(), octave_lex_destroy(), octave_pop_buffer_state(), octave_push_buffer_state(), octave_restart(), octave_set_column(), octave_set_lineno(), and yy_get_next_buffer().
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] |
Definition at line 293 of file lex.cc.
Referenced by input(), octave__delete_buffer(), octave__load_buffer_state(), octave__switch_to_buffer(), octave_lex(), octave_lex_destroy(), octave_pop_buffer_state(), octave_push_buffer_state(), octave_restart(), yy_get_next_buffer(), and yyunput().
#define YY_DECL |
#define YY_DO_BEFORE_ACTION |
Definition at line 360 of file lex.cc.
Referenced by octave_lex().
#define YY_END_OF_BUFFER 120 |
Definition at line 368 of file lex.cc.
Referenced by octave_lex().
#define YY_END_OF_BUFFER_CHAR 0 |
Definition at line 164 of file lex.cc.
Referenced by input(), octave__flush_buffer(), octave__scan_buffer(), octave__scan_bytes(), and yy_get_next_buffer().
#define YY_EXIT_FAILURE 2 |
Definition at line 3900 of file lex.cc.
Referenced by yy_fatal_error().
#define YY_EXTRA_TYPE octave_base_lexer * |
#define YY_FATAL_ERROR | ( | msg | ) | (octave_get_extra (yyscanner))->fatal_error (msg) |
Definition at line 968 of file lex.cc.
Referenced by octave__create_buffer(), octave__scan_buffer(), octave__scan_bytes(), octave_ensure_buffer_stack(), octave_lex(), yy_get_next_buffer(), and yyunput().
#define yy_flex_debug yyg->yy_flex_debug_r |
Definition at line 143 of file lex.cc.
Referenced by octave_get_debug(), and octave_set_debug().
#define YY_FLUSH_BUFFER octave__flush_buffer(YY_CURRENT_BUFFER ,yyscanner) |
#define YY_INPUT | ( | buf, | |
result, | |||
max_size | |||
) | result = curr_lexer->fill_flex_buffer (buf, max_size) |
Definition at line 960 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_MORE_ADJ 0 |
Definition at line 851 of file lex.cc.
Referenced by octave_lex(), yy_get_next_buffer(), and yy_get_previous_state().
#define yy_new_buffer octave__create_buffer |
#define YY_NEW_FILE octave_restart(yyin ,yyscanner ) |
Definition at line 162 of file lex.cc.
Referenced by input(), and octave_lex().
#define YY_NULL 0 |
Definition at line 119 of file lex.cc.
Referenced by octave_lexer::fill_flex_buffer(), and octave_push_lexer::fill_flex_buffer().
#define YY_READ_BUF_SIZE 8192 |
Definition at line 1228 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_RESTORE_YY_MORE_OFFSET |
Definition at line 852 of file lex.cc.
Referenced by octave_lex().
#define YY_RULE_SETUP |
Definition at line 126 of file lex.cc.
Referenced by octave_lex(), and yy_get_previous_state().
#define yy_set_bol | ( | at_bol | ) |
#define yy_set_interactive | ( | is_interactive | ) |
#define YY_START ((yyg->yy_start - 1) / 2) |
Definition at line 155 of file lex.cc.
Referenced by octave_lex().
#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) |
#define YY_STATE_EOF | ( | state | ) | (YY_END_OF_BUFFER + state + 1) |
Definition at line 159 of file lex.cc.
Referenced by octave_lex().
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) |
Definition at line 142 of file lex.cc.
Referenced by octave_get_column(), and octave_set_column().
#define yyextra yyg->yyextra_r |
Definition at line 138 of file lex.cc.
Referenced by octave_get_extra(), and octave_set_extra().
#define yyin yyg->yyin_r |
Definition at line 136 of file lex.cc.
Referenced by input(), octave__load_buffer_state(), octave_get_in(), octave_lex(), octave_restart(), octave_set_in(), yy_get_next_buffer(), and yy_init_globals().
#define yyleng yyg->yyleng_r |
Definition at line 139 of file lex.cc.
Referenced by octave_get_leng(), and octave_lex().
#define yyless | ( | n | ) |
#define yyless | ( | n | ) |
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) |
Definition at line 141 of file lex.cc.
Referenced by octave_get_lineno(), and octave_set_lineno().
#define yylval yyg->yylval_r |
Definition at line 1147 of file lex.cc.
Referenced by octave_get_lval(), octave_lex(), and octave_set_lval().
#define yyout yyg->yyout_r |
Definition at line 137 of file lex.cc.
Referenced by octave_get_out(), octave_lex(), octave_set_out(), and yy_init_globals().
#define yytext yyg->yytext_r |
Definition at line 140 of file lex.cc.
Referenced by octave_get_text(), and octave_lex().
typedef short int flex_int16_t |
typedef int flex_int32_t |
typedef signed char flex_int8_t |
typedef unsigned short int flex_uint16_t |
typedef unsigned int flex_uint32_t |
typedef unsigned char flex_uint8_t |
typedef struct yy_buffer_state* YY_BUFFER_STATE |
typedef int yy_state_type |
DEFUN | ( | iskeyword | , |
args | |||
) |
Definition at line 4422 of file lex.cc.
References error_state, is_keyword(), octave_value::length(), octave_kw::name, print_usage(), string_vector::resize(), string_vector::sort(), TOTAL_KEYWORDS, and wordlist.
DEFUN | ( | __display_tokens__ | , |
args | , | ||
nargout | |||
) |
Definition at line 4494 of file lex.cc.
References SET_INTERNAL_VARIABLE.
DEFUN | ( | __token_count__ | ) |
Definition at line 4504 of file lex.cc.
References octave_value(), and Vtoken_count.
DEFUN | ( | __lexer_debug_flag__ | , |
args | , | ||
nargout | |||
) |
Definition at line 4513 of file lex.cc.
References lexer_debug_flag, and set_internal_variable().
Definition at line 4264 of file lex.cc.
Referenced by octave_base_lexer::text_yyinput(), and octave_base_lexer::xunput().
Definition at line 3464 of file lex.cc.
References EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, octave_restart(), octave_wrap, yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, YY_END_OF_BUFFER_CHAR, yy_get_next_buffer(), yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, YY_NEW_FILE, and yyin.
Referenced by octave_base_lexer::input_buffer::fill().
bool is_keyword | ( | const std::string & | s | ) |
Definition at line 4410 of file lex.cc.
References octave_kw_hash::in_word_set().
Referenced by DEFUN(), Fisvarname(), read_mat_ascii_data(), and symbol_exist().
|
static |
Definition at line 4672 of file lex.cc.
Referenced by octave_base_lexer::finish_comment().
Definition at line 5168 of file lex.cc.
Referenced by octave_base_lexer::handle_number().
YY_BUFFER_STATE octave__create_buffer | ( | FILE * | file, |
int | size, | ||
yyscan_t | yyscanner | ||
) |
Allocate and initialize an input buffer state.
file | A readable stream. |
size | The character buffer size in bytes. When in doubt, use YY_BUF_SIZE . |
yyscanner | The scanner object. |
Definition at line 3607 of file lex.cc.
References octave__init_buffer(), octave_alloc(), size(), yy_buffer_state::yy_buf_size, yy_buffer_state::yy_ch_buf, YY_FATAL_ERROR, and yy_buffer_state::yy_is_our_buffer.
Referenced by octave_lex(), and octave_restart().
void octave__delete_buffer | ( | YY_BUFFER_STATE | b, |
yyscan_t | yyscanner | ||
) |
Destroy the buffer.
b | a buffer created with octave__create_buffer() |
yyscanner | The scanner object. |
Definition at line 3635 of file lex.cc.
References octave_free(), yy_buffer_state::yy_ch_buf, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, and yy_buffer_state::yy_is_our_buffer.
Referenced by octave_lex_destroy(), and octave_pop_buffer_state().
void octave__flush_buffer | ( | YY_BUFFER_STATE | b, |
yyscan_t | yyscanner | ||
) |
Discard all buffered characters.
On the next scan, YY_INPUT will be called.
b | the buffer state to be flushed, usually YY_CURRENT_BUFFER . |
yyscanner | The scanner object. |
Definition at line 3688 of file lex.cc.
References octave__load_buffer_state(), yy_buffer_state::yy_at_bol, yy_buffer_state::yy_buf_pos, YY_BUFFER_NEW, yy_buffer_state::yy_buffer_status, yy_buffer_state::yy_ch_buf, YY_CURRENT_BUFFER, YY_END_OF_BUFFER_CHAR, and yy_buffer_state::yy_n_chars.
Referenced by octave__init_buffer().
|
static |
Definition at line 3659 of file lex.cc.
References isatty(), octave__flush_buffer(), yy_buffer_state::yy_bs_column, yy_buffer_state::yy_bs_lineno, YY_CURRENT_BUFFER, yy_buffer_state::yy_fill_buffer, yy_buffer_state::yy_input_file, and yy_buffer_state::yy_is_interactive.
Referenced by octave__create_buffer(), and octave_restart().
Definition at line 3592 of file lex.cc.
References yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_hold_char, yyguts_t::yy_n_chars, and yyin.
Referenced by octave__flush_buffer(), octave__switch_to_buffer(), octave_lex(), octave_pop_buffer_state(), octave_push_buffer_state(), and octave_restart().
YY_BUFFER_STATE octave__scan_buffer | ( | char * | base, |
yy_size_t | size, | ||
yyscan_t | yyscanner | ||
) |
Setup the input buffer state to scan directly from a user-specified character buffer.
base | the character buffer |
size | the size in bytes of the character buffer |
yyscanner | The scanner object. |
Definition at line 3819 of file lex.cc.
References octave__switch_to_buffer(), octave_alloc(), yy_buffer_state::yy_at_bol, yy_buffer_state::yy_buf_pos, yy_buffer_state::yy_buf_size, YY_BUFFER_NEW, yy_buffer_state::yy_buffer_status, yy_buffer_state::yy_ch_buf, YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, yy_buffer_state::yy_fill_buffer, yy_buffer_state::yy_input_file, yy_buffer_state::yy_is_interactive, yy_buffer_state::yy_is_our_buffer, and yy_buffer_state::yy_n_chars.
Referenced by octave__scan_bytes().
YY_BUFFER_STATE octave__scan_bytes | ( | char * | yybytes, |
int | _yybytes_len, | ||
yyscan_t | yyscanner | ||
) |
Setup the input buffer state to scan the given bytes.
The next call to octave_lex() will scan from a copy of bytes.
yybytes | the byte buffer to scan |
_yybytes_len | the number of bytes in the buffer pointed to by bytes. |
yyscanner | The scanner object. |
Definition at line 3869 of file lex.cc.
References octave__scan_buffer(), octave_alloc(), YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, and yy_buffer_state::yy_is_our_buffer.
Referenced by octave__scan_string().
YY_BUFFER_STATE octave__scan_string | ( | char * | yystr, |
yyscan_t | yyscanner | ||
) |
Setup the input buffer state to scan a string.
The next call to octave_lex() will scan from a copy of str.
yystr | a NUL-terminated string to scan |
yyscanner | The scanner object. |
Definition at line 3856 of file lex.cc.
References octave__scan_bytes().
void octave__switch_to_buffer | ( | YY_BUFFER_STATE | new_buffer, |
yyscan_t | yyscanner | ||
) |
Switch to a different input buffer.
new_buffer | The new input buffer. |
yyscanner | The scanner object. |
Definition at line 3560 of file lex.cc.
References octave__load_buffer_state(), octave_ensure_buffer_stack(), yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, yyguts_t::yy_hold_char, and yyguts_t::yy_n_chars.
Referenced by octave__scan_buffer().
Definition at line 4235 of file lex.cc.
Referenced by octave__create_buffer(), octave__scan_buffer(), octave__scan_bytes(), octave_ensure_buffer_stack(), octave_lex_init(), and octave_lex_init_extra().
Definition at line 3769 of file lex.cc.
References octave_alloc(), octave_realloc(), yyguts_t::yy_buffer_stack, yyguts_t::yy_buffer_stack_max, yyguts_t::yy_buffer_stack_top, and YY_FATAL_ERROR.
Referenced by octave__switch_to_buffer(), octave_lex(), octave_push_buffer_state(), and octave_restart().
Definition at line 4252 of file lex.cc.
Referenced by octave__delete_buffer(), and octave_lex_destroy().
Get the current column number.
yyscanner | The scanner object. |
Definition at line 3953 of file lex.cc.
References YY_CURRENT_BUFFER, and yycolumn.
Definition at line 4058 of file lex.cc.
References yy_flex_debug.
octave_base_lexer * octave_get_extra | ( | yyscan_t | yyscanner | ) |
FILE * octave_get_in | ( | yyscan_t | yyscanner | ) |
Get the length of the current token.
yyscanner | The scanner object. |
Definition at line 3984 of file lex.cc.
References yyleng.
Referenced by octave_base_lexer::flex_yyleng().
Get the current line number.
yyscanner | The scanner object. |
Definition at line 3940 of file lex.cc.
References YY_CURRENT_BUFFER, and yylineno.
Definition at line 4072 of file lex.cc.
References yylval.
Referenced by octave_base_lexer::current_token(), and octave_base_lexer::push_token().
FILE * octave_get_out | ( | yyscan_t | yyscanner | ) |
Get the current token.
yyscanner | The scanner object. |
Definition at line 3994 of file lex.cc.
References yytext.
Referenced by octave_base_lexer::flex_yytext().
The main scanner function which does all the work.
Definition at line 1329 of file lex.cc.
References ADD_EQ, AND_EQ, octave_comment_elt::block, BLOCK_COMMENT_START, CMD_OR_COMPUTED_ASSIGN_OP, CMD_OR_OP, CMD_OR_UNARY_OP, COMMAND_START, curr_lexer, DIV_EQ, DQ_STRING, DQ_STRING_START, ECHO, EDIV, EDIV_EQ, ELEFTDIV, ELEFTDIV_EQ, EMINUS, EMUL, EMUL_EQ, octave_comment_elt::end_of_line, EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, EPLUS, EPOW, EPOW_EQ, error(), EXPR_AND, EXPR_AND_AND, EXPR_EQ, EXPR_GE, EXPR_GT, EXPR_LE, EXPR_LT, EXPR_NE, EXPR_NOT, EXPR_OR, EXPR_OR_OR, octave_comment_elt::full_line, HANDLE_STRING_CONTINUATION, HERMITIAN, IMAG_NUM, INITIAL, INPUT_FILE, INPUT_FILE_START, LEFTDIV, LEFTDIV_EQ, LEXICAL_ERROR, LINE_COMMENT_START, LSHIFT, LSHIFT_EQ, MATRIX_START, METAQUERY, MINUS_MINUS, MUL_EQ, NUM, octave__create_buffer(), octave__load_buffer_state(), octave_ensure_buffer_stack(), octave_wrap, OR_EQ, PLUS_PLUS, POW, POW_EQ, RSHIFT, RSHIFT_EQ, SQ_STRING, SQ_STRING_START, strip_trailing_whitespace(), SUB_EQ, SUPERCLASSREF, TRANSPOSE, undo_string_escape(), unput, warning_with_id(), yy_accept, YY_AT_BOL, yy_base, YY_BREAK, YY_BUF_SIZE, YY_BUFFER_NEW, YY_BUFFER_NORMAL, yyguts_t::yy_c_buf_p, yy_chk, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_def, yyguts_t::yy_did_buffer_switch_on_eof, YY_DO_BEFORE_ACTION, yy_ec, YY_END_OF_BUFFER, YY_FATAL_ERROR, yy_get_next_buffer(), yy_get_previous_state(), yyguts_t::yy_hold_char, yyguts_t::yy_init, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, YY_MORE_ADJ, yyguts_t::yy_n_chars, YY_NEW_FILE, yy_nxt, YY_RESTORE_YY_MORE_OFFSET, YY_RULE_SETUP, YY_SC_TO_UI, YY_START, yyguts_t::yy_start, YY_STATE_EOF, yy_try_NUL_trans(), yyin, yyleng, yyless, yylval, yyout, and yytext.
Definition at line 4182 of file lex.cc.
References octave__delete_buffer(), octave_free(), octave_pop_buffer_state(), yyguts_t::yy_buffer_stack, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yy_init_globals(), and yyguts_t::yy_start_stack.
Referenced by octave_base_lexer::~octave_base_lexer().
Definition at line 4091 of file lex.cc.
References octave_alloc(), and yy_init_globals().
Referenced by octave_base_lexer::init().
int octave_lex_init_extra | ( | octave_base_lexer * | user_defined, |
yyscan_t * | scanner | ||
) |
Definition at line 4120 of file lex.cc.
References octave_alloc(), octave_set_extra(), and yy_init_globals().
Removes and deletes the top of the stack, if present.
The next element becomes the new top.
yyscanner | The scanner object. |
Definition at line 3749 of file lex.cc.
References octave__delete_buffer(), octave__load_buffer_state(), yyguts_t::yy_buffer_stack_top, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, and yyguts_t::yy_did_buffer_switch_on_eof.
Referenced by octave_lex_destroy().
void octave_push_buffer_state | ( | YY_BUFFER_STATE | new_buffer, |
yyscan_t | yyscanner | ||
) |
Pushes the new state onto the stack.
The new state becomes the current state. This function will allocate the stack if necessary.
new_buffer | The new state. |
yyscanner | The scanner object. |
Definition at line 3718 of file lex.cc.
References octave__load_buffer_state(), octave_ensure_buffer_stack(), yyguts_t::yy_buffer_stack_top, yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, yyguts_t::yy_did_buffer_switch_on_eof, yyguts_t::yy_hold_char, and yyguts_t::yy_n_chars.
Definition at line 4240 of file lex.cc.
Referenced by octave_ensure_buffer_stack(), and yy_get_next_buffer().
Immediately switch to a different input stream.
input_file | A readable stream. |
yyscanner | The scanner object. |
INITIAL
. Definition at line 3542 of file lex.cc.
References octave__create_buffer(), octave__init_buffer(), octave__load_buffer_state(), octave_ensure_buffer_stack(), YY_BUF_SIZE, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, and yyin.
Referenced by input(), octave_base_lexer::reset(), and yy_get_next_buffer().
Set the current column.
line_number | |
yyscanner | The scanner object. |
Definition at line 4029 of file lex.cc.
References YY_CURRENT_BUFFER, yy_fatal_error(), and yycolumn.
Definition at line 4064 of file lex.cc.
References yy_flex_debug.
void octave_set_extra | ( | octave_base_lexer * | user_defined, |
yyscan_t | yyscanner | ||
) |
Set the user-defined data.
This data is never touched by the scanner.
user_defined | The data to be associated with this scanner. |
yyscanner | The scanner object. |
Definition at line 4004 of file lex.cc.
References yyextra.
Referenced by octave_base_lexer::init(), and octave_lex_init_extra().
Set the input stream.
This does not discard the current input buffer.
in_str | A readable stream. |
yyscanner | The scanner object. |
Definition at line 4046 of file lex.cc.
References yyin.
Set the current line number.
line_number | |
yyscanner | The scanner object. |
Definition at line 4014 of file lex.cc.
References YY_CURRENT_BUFFER, yy_fatal_error(), and yylineno.
|
static |
Definition at line 4482 of file lex.cc.
Referenced by octave_base_lexer::handle_meta_identifier(), octave_base_lexer::handle_superclass_identifier(), and octave_lex().
Definition at line 3903 of file lex.cc.
References void(), and YY_EXIT_FAILURE.
Definition at line 3229 of file lex.cc.
References EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, octave_realloc(), octave_restart(), yy_buffer_state::yy_buf_size, YY_BUFFER_EOF_PENDING, yyguts_t::yy_c_buf_p, yy_buffer_state::yy_ch_buf, YY_CURRENT_BUFFER, YY_CURRENT_BUFFER_LVALUE, YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, YY_INPUT, yy_buffer_state::yy_is_our_buffer, YY_MORE_ADJ, yyguts_t::yy_n_chars, YY_READ_BUF_SIZE, and yyin.
Referenced by input(), and octave_lex().
|
static |
Definition at line 3364 of file lex.cc.
References yy_accept, YY_AT_BOL, yy_base, yyguts_t::yy_c_buf_p, yy_chk, yy_def, yy_ec, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, YY_MORE_ADJ, yy_nxt, YY_SC_TO_UI, and yyguts_t::yy_start.
Referenced by octave_lex().
Definition at line 4148 of file lex.cc.
References yyguts_t::yy_buffer_stack, yyguts_t::yy_buffer_stack_max, yyguts_t::yy_buffer_stack_top, yyguts_t::yy_c_buf_p, yyguts_t::yy_init, yyguts_t::yy_start, yyguts_t::yy_start_stack, yyguts_t::yy_start_stack_depth, yyguts_t::yy_start_stack_ptr, yyin, and yyout.
Referenced by octave_lex_destroy(), octave_lex_init(), and octave_lex_init_extra().
|
static |
Definition at line 3398 of file lex.cc.
References yy_accept, yy_base, yyguts_t::yy_c_buf_p, yy_chk, yy_def, yyguts_t::yy_last_accepting_cpos, yyguts_t::yy_last_accepting_state, yy_meta, and yy_nxt.
Referenced by octave_lex().
Definition at line 3422 of file lex.cc.
References yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, YY_FATAL_ERROR, yyguts_t::yy_hold_char, and yyguts_t::yy_n_chars.
|
static |
Definition at line 1077 of file lex.cc.
Referenced by DEFUN(), octave_base_lexer::lexer_debug(), octave_base_lexer::show_token(), octave_base_lexer::text_yyinput(), and octave_base_lexer::xunput().
|
static |
Definition at line 1072 of file lex.cc.
Referenced by octave_base_lexer::show_token().
|
static |
Definition at line 1074 of file lex.cc.
Referenced by octave_base_lexer::count_token_internal(), and DEFUN().
|
static |
Definition at line 376 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 460 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 699 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 506 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 419 of file lex.cc.
Referenced by octave_lex(), and yy_get_previous_state().
|
static |
Definition at line 451 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 552 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().