GNU Octave  9.1.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
push_lexer Class Reference

#include "lex.h"

Inheritance diagram for push_lexer:
base_lexer lexical_feedback

Public Member Functions

 push_lexer (bool eof, interpreter &interp)
 
 push_lexer (const std::string &input, bool eof, interpreter &interp)
 
 push_lexer (const std::string &input, interpreter &interp)
 
 push_lexer (interpreter &interp)
 
 ~push_lexer ()=default
 
void append_input (const std::string &input, bool eof)
 
int fill_flex_buffer (char *buf, unsigned int max_size)
 
std::string input_source () const
 
bool is_push_lexer () const
 
- Public Member Functions inherited from base_lexer
 base_lexer (interpreter &interp)
 
virtual ~base_lexer ()
 
bool at_end_of_buffer () const
 
bool at_end_of_file () const
 
void begin_string (int state)
 
void check_comment_for_hash_char (const char *txt, std::size_t len)
 
void clear_start_state ()
 
int count_token (int tok)
 
int count_token_internal (int tok)
 
tokencurrent_token ()
 
bool debug_flag () const
 
void display_start_state () const
 
void display_token (int tok)
 
bool display_tokens () const
 
void fatal_error (const char *msg)
 
int finish_command_arg ()
 
void finish_comment (comment_elt::comment_type typ)
 
int flex_yyleng ()
 
char * flex_yytext ()
 
bool fq_identifier_contains_keyword (const std::string &s)
 
comment_listget_comment ()
 
int handle_close_bracket (int bracket_type)
 
void handle_continuation ()
 
int handle_end_of_input ()
 
int handle_fq_identifier ()
 
int handle_identifier ()
 
int handle_meta_identifier ()
 
template<>
int handle_number ()
 
template<>
int handle_number ()
 
template<>
int handle_number ()
 
template<int base>
int handle_number ()
 
template<>
int handle_number ()
 
template<>
int handle_number ()
 
template<>
int handle_number ()
 
int handle_op (int tok, bool bos=false, bool compat=true)
 
int handle_superclass_identifier ()
 
int handle_token (int tok, token *tok_val=nullptr)
 
void increment_token_count ()
 
void init ()
 
virtual bool input_from_eval_string () const
 
virtual bool input_from_file () const
 
virtual bool input_from_terminal () const
 
bool input_from_tmp_history_file ()
 
bool inside_any_object_index ()
 
void lexer_debug (const char *pattern)
 
bool looking_at_space ()
 
bool looks_like_command_arg ()
 
int make_keyword_token (const std::string &s)
 
bool maybe_unput_comma_before_unary_op (int tok)
 
void maybe_warn_language_extension_comment (char c)
 
void maybe_warn_separator_insert (char sep)
 
std::size_t pending_token_count () const
 
void pop_start_state ()
 
void prep_for_file ()
 
void push_start_state (int state)
 
void push_token (token *)
 
virtual void reset ()
 
int show_token (int tok)
 
int start_state () const
 
int text_yyinput ()
 
void update_token_positions (int tok_len)
 
void warn_deprecated_syntax (const std::string &msg)
 
void warn_language_extension (const std::string &msg)
 
void warn_language_extension_continuation ()
 
void warn_language_extension_operator (const std::string &op)
 
bool whitespace_is_significant ()
 
void xunput (char c)
 
void xunput (char c, char *buf)
 

Additional Inherited Members

- Public Attributes inherited from base_lexer
comment_buffer m_comment_buf
 
input_buffer m_input_buf
 
void * m_scanner
 
- Protected Attributes inherited from base_lexer
std::stack< int > start_state_stack
 

Detailed Description

Definition at line 828 of file lex.h.

Constructor & Destructor Documentation

◆ push_lexer() [1/4]

push_lexer::push_lexer ( interpreter interp)
inline

Definition at line 833 of file lex.h.

◆ push_lexer() [2/4]

push_lexer::push_lexer ( const std::string &  input,
interpreter interp 
)
inline

Definition at line 839 of file lex.h.

◆ push_lexer() [3/4]

push_lexer::push_lexer ( bool  eof,
interpreter interp 
)
inline

Definition at line 845 of file lex.h.

◆ push_lexer() [4/4]

push_lexer::push_lexer ( const std::string &  input,
bool  eof,
interpreter interp 
)
inline

Definition at line 851 of file lex.h.

◆ ~push_lexer()

push_lexer::~push_lexer ( )
default

Member Function Documentation

◆ append_input()

void push_lexer::append_input ( const std::string &  input,
bool  eof 
)

Definition at line 6937 of file lex.cc.

◆ fill_flex_buffer()

int push_lexer::fill_flex_buffer ( char *  buf,
unsigned int  max_size 
)
virtual

Implements base_lexer.

Definition at line 6960 of file lex.cc.

References YY_NULL.

◆ input_source()

std::string push_lexer::input_source ( ) const
inlinevirtual

Reimplemented from base_lexer.

Definition at line 865 of file lex.h.

◆ is_push_lexer()

bool push_lexer::is_push_lexer ( ) const
inlinevirtual

Reimplemented from base_lexer.

Definition at line 861 of file lex.h.


The documentation for this class was generated from the following files: