GNU Octave
4.0.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_ARG_FINISH |
#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 | FQ_IDENT_START 8 |
#define | HANDLE_IDENTIFIER(pattern, get_set) |
#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(yyscanner) 1 |
#define | OCTAVE_YYG struct yyguts_t *yyg = static_cast<struct yyguts_t*> (scanner) |
#define | REJECT |
#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 124 |
#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 39 |
#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_LINENO_REWIND_TO(ptr) |
#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 123 |
#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_TRAILING_HEAD_MASK 0x4000 |
#define | YY_TRAILING_MASK 0x2000 |
#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 | YYSTYPE OCTAVE_STYPE |
#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 | |
static void | display_character (char c) |
OCTAVE_EXPORT octave_value_list | F__display_tokens__ (const octave_value_list &args, int nargout) |
OCTAVE_EXPORT octave_value_list | F__lexer_debug_flag__ (const octave_value_list &args, int nargout) |
OCTAVE_EXPORT octave_value_list | F__token_count__ (const octave_value_list &, int) |
OCTAVE_EXPORT octave_value_list | Fiskeyword (const octave_value_list &args, int) |
static int | input (yyscan_t yyscanner) |
bool | is_keyword (const std::string &s) |
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. More... | |
void | octave__delete_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) |
Destroy the buffer. More... | |
void | octave__flush_buffer (YY_BUFFER_STATE b, yyscan_t yyscanner) |
Discard all buffered characters. More... | |
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. More... | |
YY_BUFFER_STATE | octave__scan_bytes (char *yybytes, yy_size_t _yybytes_len, yyscan_t yyscanner) |
Setup the input buffer state to scan the given bytes. More... | |
YY_BUFFER_STATE | octave__scan_string (char *yystr, yyscan_t yyscanner) |
Setup the input buffer state to scan a string. More... | |
void | octave__switch_to_buffer (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) |
Switch to a different input buffer. More... | |
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. More... | |
int | octave_get_debug (yyscan_t yyscanner) |
octave_base_lexer * | octave_get_extra (yyscan_t yyscanner) |
Get the user-defined data for this scanner. More... | |
FILE * | octave_get_in (yyscan_t yyscanner) |
Get the input stream. More... | |
yy_size_t | octave_get_leng (yyscan_t yyscanner) |
Get the length of the current token. More... | |
int | octave_get_lineno (yyscan_t yyscanner) |
Get the current line number. More... | |
OCTAVE_STYPE * | octave_get_lval (yyscan_t yyscanner) |
FILE * | octave_get_out (yyscan_t yyscanner) |
Get the output stream. More... | |
char * | octave_get_text (yyscan_t yyscanner) |
Get the current token. More... | |
int | octave_lex (OCTAVE_STYPE *yylval_param, yyscan_t yyscanner) |
The main scanner function which does all the work. More... | |
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. More... | |
void | octave_push_buffer_state (YY_BUFFER_STATE new_buffer, yyscan_t yyscanner) |
Pushes the new state onto the stack. More... | |
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. More... | |
void | octave_set_column (int column_no, yyscan_t yyscanner) |
Set the current column. More... | |
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. More... | |
void | octave_set_in (FILE *in_str, yyscan_t yyscanner) |
Set the input stream. More... | |
void | octave_set_lineno (int line_number, yyscan_t yyscanner) |
Set the current line number. More... | |
void | octave_set_lval (OCTAVE_STYPE *yylval_param, yyscan_t yyscanner) |
void | octave_set_out (FILE *out_str, yyscan_t yyscanner) |
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 [265] |
static flex_int16_t | yy_acclist [356] |
static flex_int16_t | yy_base [296] |
static flex_int16_t | yy_chk [773] |
static flex_int16_t | yy_def [296] |
static flex_int32_t | yy_ec [256] |
static flex_int32_t | yy_meta [52] |
static flex_int16_t | yy_nxt [773] |
#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 1067 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 911 of file lex.cc.
Referenced by octave_lex().
#define CMD_OR_OP | ( | PATTERN, | |
TOK, | |||
COMPAT | |||
) |
Definition at line 893 of file lex.cc.
Referenced by octave_lex().
#define CMD_OR_UNARY_OP | ( | PATTERN, | |
TOK, | |||
COMPAT | |||
) |
Definition at line 931 of file lex.cc.
Referenced by octave_lex().
#define COMMAND_ARG_FINISH |
Definition at line 999 of file lex.cc.
Referenced by octave_lex().
#define COMMAND_START 1 |
Definition at line 1064 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define curr_lexer yyextra |
Definition at line 875 of file lex.cc.
Referenced by octave_lex().
#define DQ_STRING_START 6 |
Definition at line 1069 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
Definition at line 1226 of file lex.cc.
Referenced by octave_lex().
#define EOB_ACT_CONTINUE_SCAN 0 |
Definition at line 193 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define EOB_ACT_END_OF_FILE 1 |
Definition at line 194 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define EOB_ACT_LAST_MATCH 2 |
Definition at line 195 of file lex.cc.
Referenced by input(), octave_lex(), and yy_get_next_buffer().
#define FQ_IDENT_START 8 |
Definition at line 1071 of file lex.cc.
Referenced by octave_base_lexer::enable_fq_identifier(), and octave_lex().
#define HANDLE_IDENTIFIER | ( | pattern, | |
get_set | |||
) |
Definition at line 1017 of file lex.cc.
Referenced by octave_lex().
#define HANDLE_STRING_CONTINUATION |
Definition at line 977 of file lex.cc.
Referenced by octave_lex().
#define INITIAL 0 |
Definition at line 1063 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 1066 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 1068 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define MATRIX_START 2 |
Definition at line 1065 of file lex.cc.
Referenced by octave_base_lexer::display_start_state(), and octave_lex().
#define octave_wrap | ( | yyscanner | ) | 1 |
Definition at line 344 of file lex.cc.
Referenced by input(), and octave_lex().
Definition at line 4859 of file lex.cc.
Referenced by octave_base_lexer::pop_start_state(), and octave_base_lexer::push_start_state().
#define REJECT |
#define SQ_STRING_START 7 |
Definition at line 1070 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 214 of file lex.cc.
Referenced by octave_lex().
#define YY_AT_BOL | ( | ) | (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) |
Definition at line 340 of file lex.cc.
Referenced by octave_lex(), and yy_get_previous_state().
#define YY_BREAK break; |
Definition at line 1307 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 276 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_BUFFER_NEW 0 |
Definition at line 264 of file lex.cc.
Referenced by octave__flush_buffer(), octave__scan_buffer(), and octave_lex().
#define YY_BUFFER_NORMAL 1 |
Definition at line 265 of file lex.cc.
Referenced by octave_lex().
#define YY_CURRENT_BUFFER |
Definition at line 287 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(), and octave_set_lineno().
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] |
Definition at line 294 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 361 of file lex.cc.
Referenced by octave_lex().
#define YY_END_OF_BUFFER 124 |
Definition at line 369 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 4008 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 890 of file lex.cc.
Referenced by octave__create_buffer(), octave__scan_buffer(), octave__scan_bytes(), octave_ensure_buffer_stack(), octave_lex(), octave_set_column(), octave_set_lineno(), 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 882 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_MORE_ADJ 0 |
Definition at line 761 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 1217 of file lex.cc.
Referenced by yy_get_next_buffer().
#define YY_RESTORE_YY_MORE_OFFSET |
Definition at line 762 of file lex.cc.
Referenced by octave_lex().
#define YY_RULE_SETUP |
Definition at line 1310 of file lex.cc.
Referenced by octave_lex().
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)) |
Definition at line 181 of file lex.cc.
Referenced by octave_lex().
#define YY_STATE_EOF | ( | state | ) | (YY_END_OF_BUFFER + state + 1) |
Definition at line 159 of file lex.cc.
Referenced by octave_lex().
#define YY_TRAILING_HEAD_MASK 0x4000 |
Definition at line 748 of file lex.cc.
Referenced by octave_lex().
#define YY_TRAILING_MASK 0x2000 |
Definition at line 747 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 | ) |
Definition at line 4020 of file lex.cc.
Referenced by octave_lex().
#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 1136 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 YYSTYPE OCTAVE_STYPE |
Definition at line 854 of file lex.cc.
Referenced by octave_base_lexer::current_token(), and octave_base_lexer::push_token().
#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 |
|
static |
Definition at line 4376 of file lex.cc.
Referenced by octave_base_lexer::text_yyinput(), and octave_base_lexer::xunput().
OCTAVE_EXPORT octave_value_list F__display_tokens__ | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 4598 of file lex.cc.
References SET_INTERNAL_VARIABLE.
OCTAVE_EXPORT octave_value_list F__lexer_debug_flag__ | ( | const octave_value_list & | args, |
int | nargout | ||
) |
Definition at line 4620 of file lex.cc.
References lexer_debug_flag, and set_internal_variable().
OCTAVE_EXPORT octave_value_list F__token_count__ | ( | const octave_value_list & | , |
int | |||
) |
Definition at line 4608 of file lex.cc.
References octave_value(), and Vtoken_count.
OCTAVE_EXPORT octave_value_list Fiskeyword | ( | const octave_value_list & | args, |
int | |||
) |
Definition at line 4542 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.
Definition at line 3576 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 4522 of file lex.cc.
References octave_kw_hash::in_word_set().
Referenced by Fiskeyword(), Fisvarname(), read_mat_ascii_data(), and symbol_exist().
|
static |
Definition at line 4778 of file lex.cc.
Referenced by octave_base_lexer::finish_comment().
Definition at line 5297 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 3719 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 3747 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 3796 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 3767 of file lex.cc.
References 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().
|
static |
Definition at line 3704 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 3927 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, |
yy_size_t | _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 3977 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 3964 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 3672 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 4358 of file lex.cc.
References malloc().
Referenced by octave__create_buffer(), octave__scan_buffer(), octave__scan_bytes(), octave_ensure_buffer_stack(), octave_lex(), octave_lex_init(), and octave_lex_init_extra().
|
static |
Definition at line 3877 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().
void octave_free | ( | void * | ptr, |
yyscan_t | yyscanner | ||
) |
Definition at line 4370 of file lex.cc.
References free().
Referenced by octave__delete_buffer(), and octave_lex_destroy().
Get the current column number.
yyscanner | The scanner object. |
Definition at line 4061 of file lex.cc.
References YY_CURRENT_BUFFER, and yycolumn.
Definition at line 4166 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 4092 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 4048 of file lex.cc.
References YY_CURRENT_BUFFER, and yylineno.
OCTAVE_STYPE * octave_get_lval | ( | yyscan_t | yyscanner | ) |
Definition at line 4180 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 4102 of file lex.cc.
References yytext.
Referenced by octave_base_lexer::flex_yytext().
int octave_lex | ( | OCTAVE_STYPE * | yylval_param, |
yyscan_t | yyscanner | ||
) |
The main scanner function which does all the work.
Definition at line 1318 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_ARG_FINISH, 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, FQ_IDENT_START, octave_comment_elt::full_line, HANDLE_IDENTIFIER, 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, MINUS_MINUS, MUL_EQ, NUM, octave__create_buffer(), octave__load_buffer_state(), octave_alloc(), octave_ensure_buffer_stack(), octave_wrap, OR_EQ, PLUS_PLUS, POW, POW_EQ, RSHIFT, RSHIFT_EQ, SQ_STRING, SQ_STRING_START, SUB_EQ, TRANSPOSE, undo_string_escape(), unput, warning_with_id(), yy_accept, yy_acclist, 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, yyguts_t::yy_full_lp, yyguts_t::yy_full_match, yyguts_t::yy_full_state, yy_get_next_buffer(), yy_get_previous_state(), yyguts_t::yy_hold_char, yyguts_t::yy_init, yyguts_t::yy_looking_for_trail_begin, yyguts_t::yy_lp, 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, yyguts_t::yy_state_buf, YY_STATE_BUF_SIZE, YY_STATE_EOF, yyguts_t::yy_state_ptr, YY_TRAILING_HEAD_MASK, YY_TRAILING_MASK, yy_try_NUL_trans(), yyin, yyleng, yyless, yylval, yyout, and yytext.
Referenced by octave_push_parser::run().
Definition at line 4295 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(), yyguts_t::yy_start_stack, and yyguts_t::yy_state_buf.
Referenced by octave_base_lexer::~octave_base_lexer().
Definition at line 4199 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 4228 of file lex.cc.
References octave_alloc(), octave_set_extra(), and yy_init_globals().
void octave_pop_buffer_state | ( | yyscan_t | yyscanner | ) |
Removes and deletes the top of the stack, if present.
The next element becomes the new top.
yyscanner | The scanner object. |
Definition at line 3857 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 3826 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 4364 of file lex.cc.
Referenced by octave_ensure_buffer_stack(), and yy_get_next_buffer().
void octave_restart | ( | FILE * | input_file, |
yyscan_t | yyscanner | ||
) |
Immediately switch to a different input stream.
input_file | A readable stream. |
yyscanner | The scanner object. |
INITIAL
. Definition at line 3654 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 4137 of file lex.cc.
References YY_CURRENT_BUFFER, YY_FATAL_ERROR, and yycolumn.
Definition at line 4172 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 4112 of file lex.cc.
References yyextra.
Referenced by octave_base_lexer::init(), and octave_lex_init_extra().
void octave_set_in | ( | FILE * | in_str, |
yyscan_t | yyscanner | ||
) |
Set the input stream.
This does not discard the current input buffer.
in_str | A readable stream. |
yyscanner | The scanner object. |
Definition at line 4154 of file lex.cc.
References yyin.
Set the current line number.
line_number | |
yyscanner | The scanner object. |
Definition at line 4122 of file lex.cc.
References YY_CURRENT_BUFFER, YY_FATAL_ERROR, and yylineno.
void octave_set_lval | ( | OCTAVE_STYPE * | yylval_param, |
yyscan_t | yyscanner | ||
) |
void octave_set_out | ( | FILE * | out_str, |
yyscan_t | yyscanner | ||
) |
Referenced by octave_base_lexer::fatal_error().
Definition at line 4011 of file lex.cc.
References YY_EXIT_FAILURE.
Definition at line 3374 of file lex.cc.
References EOB_ACT_CONTINUE_SCAN, EOB_ACT_END_OF_FILE, EOB_ACT_LAST_MATCH, octave_realloc(), octave_restart(), YY_BUFFER_EOF_PENDING, yyguts_t::yy_c_buf_p, YY_CURRENT_BUFFER_LVALUE, YY_END_OF_BUFFER_CHAR, YY_FATAL_ERROR, YY_INPUT, YY_MORE_ADJ, yyguts_t::yy_n_chars, YY_READ_BUF_SIZE, and yyin.
Referenced by input(), and octave_lex().
|
static |
Definition at line 3480 of file lex.cc.
References YY_AT_BOL, yy_base, yyguts_t::yy_c_buf_p, yy_chk, yy_def, yy_ec, yy_meta, YY_MORE_ADJ, yy_nxt, YY_SC_TO_UI, yyguts_t::yy_start, yyguts_t::yy_state_buf, and yyguts_t::yy_state_ptr.
Referenced by octave_lex().
Definition at line 4256 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_full_match, yyguts_t::yy_init, yyguts_t::yy_lp, yyguts_t::yy_start, yyguts_t::yy_start_stack, yyguts_t::yy_start_stack_depth, yyguts_t::yy_start_stack_ptr, yyguts_t::yy_state_buf, yyguts_t::yy_state_ptr, yyin, and yyout.
Referenced by octave_lex_destroy(), octave_lex_init(), and octave_lex_init_extra().
|
static |
Definition at line 3513 of file lex.cc.
References yy_base, yy_chk, yy_def, yy_meta, yy_nxt, and yyguts_t::yy_state_ptr.
Referenced by octave_lex().
Referenced by octave_base_lexer::xunput().
Definition at line 3534 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 1059 of file lex.cc.
Referenced by F__lexer_debug_flag__(), octave_base_lexer::lexer_debug(), octave_base_lexer::show_token(), octave_base_lexer::text_yyinput(), and octave_base_lexer::xunput().
|
static |
Definition at line 1054 of file lex.cc.
Referenced by octave_base_lexer::show_token().
|
static |
Definition at line 1056 of file lex.cc.
Referenced by octave_base_lexer::count_token_internal(), and F__token_count__().
|
static |
Definition at line 420 of file lex.cc.
Referenced by octave_lex().
|
static |
Definition at line 377 of file lex.cc.
Referenced by octave_lex().
|
static |
Definition at line 495 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 658 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 532 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 453 of file lex.cc.
Referenced by octave_lex(), and yy_get_previous_state().
|
static |
Definition at line 485 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().
|
static |
Definition at line 569 of file lex.cc.
Referenced by octave_lex(), yy_get_previous_state(), and yy_try_NUL_trans().