GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Public Attributes | Private Member Functions | List of all members
octave::push_parser Class Reference

#include "parse.h"

Inheritance diagram for octave::push_parser:
Inheritance graph
[legend]
Collaboration diagram for octave::push_parser:
Collaboration graph
[legend]

Public Member Functions

 push_parser (void)
 
 ~push_parser (void)
 
tree_statement_listappend_statement_list (tree_statement_list *list, char sep, tree_statement *stmt, bool warn_missing_semi)
 
void bison_error (const std::string &s, int l=-1, int c=-1)
 
void end_token_error (token *tok, token::end_tok_type expected)
 
bool end_token_ok (token *tok, token::end_tok_type expected)
 
tree_expressionfinish_array_list (tree_array_list *a)
 
tree_expressionfinish_cell (tree_cell *c)
 
tree_function_deffinish_classdef_external_method (octave_user_function *fcn, tree_parameter_list *ret_list, octave_comment_list *cl)
 
tree_expressionfinish_colon_expression (tree_colon_expression *e)
 
tree_function_deffinish_function (tree_parameter_list *ret_list, octave_user_function *fcn, octave_comment_list *lc, int l, int c)
 
tree_if_commandfinish_if_command (token *if_tok, tree_if_command_list *list, token *end_tok, octave_comment_list *lc)
 
tree_expressionfinish_matrix (tree_matrix *m)
 
tree_switch_commandfinish_switch_command (token *switch_tok, tree_expression *expr, tree_switch_case_list *list, token *end_tok, octave_comment_list *lc)
 
octave_user_functionfrob_function (const std::string &fname, octave_user_function *fcn)
 
tree_anon_fcn_handlemake_anon_fcn_handle (tree_parameter_list *param_list, tree_statement *stmt)
 
tree_expressionmake_assign_op (int op, tree_argument_list *lhs, token *eq_tok, tree_expression *rhs)
 
tree_expressionmake_binary_op (int op, tree_expression *op1, token *tok_val, tree_expression *op2)
 
tree_expressionmake_boolean_op (int op, tree_expression *op1, token *tok_val, tree_expression *op2)
 
tree_commandmake_break_command (token *break_tok)
 
tree_classdefmake_classdef (token *tok_val, tree_classdef_attribute_list *a, tree_identifier *id, tree_classdef_superclass_list *sc, tree_classdef_body *body, token *end_tok, octave_comment_list *lc)
 
tree_classdef_enum_blockmake_classdef_enum_block (token *tok_val, tree_classdef_attribute_list *a, tree_classdef_enum_list *elist, token *end_tok, octave_comment_list *lc)
 
tree_classdef_events_blockmake_classdef_events_block (token *tok_val, tree_classdef_attribute_list *a, tree_classdef_events_list *elist, token *end_tok, octave_comment_list *lc)
 
tree_classdef_methods_blockmake_classdef_methods_block (token *tok_val, tree_classdef_attribute_list *a, tree_classdef_methods_list *mlist, token *end_tok, octave_comment_list *lc)
 
tree_classdef_properties_blockmake_classdef_properties_block (token *tok_val, tree_classdef_attribute_list *a, tree_classdef_property_list *plist, token *end_tok, octave_comment_list *lc)
 
tree_constantmake_constant (int op, token *tok_val)
 
tree_commandmake_continue_command (token *continue_tok)
 
tree_decl_commandmake_decl_command (int tok, token *tok_val, tree_decl_init_list *lst)
 
tree_commandmake_do_until_command (token *until_tok, tree_statement_list *body, tree_expression *expr, octave_comment_list *lc)
 
tree_if_clausemake_elseif_clause (token *elseif_tok, tree_expression *expr, tree_statement_list *list, octave_comment_list *lc)
 
tree_statementmake_end (const std::string &type, bool eof, int l, int c)
 
tree_fcn_handlemake_fcn_handle (token *tok_val)
 
tree_commandmake_for_command (int tok_id, token *for_tok, tree_argument_list *lhs, tree_expression *expr, tree_expression *maxproc, tree_statement_list *body, token *end_tok, octave_comment_list *lc)
 
tree_index_expressionmake_index_expression (tree_expression *expr, tree_argument_list *args, char type)
 
tree_index_expressionmake_indirect_ref (tree_expression *expr, const std::string &)
 
tree_index_expressionmake_indirect_ref (tree_expression *expr, tree_expression *field)
 
tree_funcallmake_meta_class_query (const std::string &class_nm)
 
tree_expressionmake_postfix_op (int op, tree_expression *op1, token *tok_val)
 
tree_expressionmake_prefix_op (int op, tree_expression *op1, token *tok_val)
 
tree_commandmake_return_command (token *return_tok)
 
void make_script (tree_statement_list *cmds, tree_statement *end_script)
 
template<typename T >
tree_statementmake_statement (T *arg)
 
tree_statement_listmake_statement_list (tree_statement *stmt)
 
tree_funcallmake_superclass_ref (const std::string &method_nm, const std::string &class_nm)
 
tree_switch_casemake_switch_case (token *case_tok, tree_expression *expr, tree_statement_list *list, octave_comment_list *lc)
 
tree_commandmake_try_command (token *try_tok, tree_statement_list *body, char catch_sep, tree_statement_list *cleanup, token *end_tok, octave_comment_list *lc, octave_comment_list *mc)
 
tree_commandmake_unwind_command (token *unwind_tok, tree_statement_list *body, tree_statement_list *cleanup, token *end_tok, octave_comment_list *lc, octave_comment_list *mc)
 
tree_commandmake_while_command (token *while_tok, tree_expression *expr, tree_statement_list *body, token *end_tok, octave_comment_list *lc)
 
void maybe_warn_assign_as_truth_value (tree_expression *expr)
 
void maybe_warn_missing_semi (tree_statement_list *)
 
void maybe_warn_variable_switch_label (tree_expression *expr)
 
void recover_from_parsing_function (void)
 
void reset (void)
 
int run (const std::string &input, bool eof)
 
tree_statement_listset_stmt_print_flag (tree_statement_list *, char, bool)
 
octave_user_functionstart_classdef_external_method (tree_identifier *id, tree_parameter_list *pl)
 
octave_user_functionstart_function (tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_function)
 
tree_if_command_liststart_if_command (tree_expression *expr, tree_statement_list *list)
 
bool validate_array_list (tree_expression *e)
 
tree_argument_listvalidate_matrix_for_assignment (tree_expression *e)
 

Public Attributes

bool autoloading
 
tree_classdefclassdef_object
 
std::string curr_class_name
 
int curr_fcn_depth
 
std::string curr_package_name
 
bool endfunction_found
 
bool fcn_file_from_relative_lookup
 
std::vector
< symbol_table::scope_id
function_scopes
 
base_lexerlexer
 
int max_fcn_depth
 
std::string parse_error_msg
 
void * parser_state
 
bool parsing_subfunctions
 
octave_functionprimary_fcn_ptr
 
symbol_table::scope_id primary_fcn_scope
 
tree_statement_liststmt_list
 
std::list< std::stringsubfunction_names
 

Private Member Functions

 push_parser (const push_parser &)
 
push_parseroperator= (const push_parser &)
 

Detailed Description

Definition at line 507 of file parse.h.

Constructor & Destructor Documentation

octave::push_parser::push_parser ( void  )
inline

Definition at line 512 of file parse.h.

octave::push_parser::~push_parser ( void  )
inline

Definition at line 516 of file parse.h.

octave::push_parser::push_parser ( const push_parser )
private

Member Function Documentation

tree_statement_list * octave::base_parser::append_statement_list ( tree_statement_list list,
char  sep,
tree_statement stmt,
bool  warn_missing_semi 
)
inherited
void octave::base_parser::bison_error ( const std::string s,
int  l = -1,
int  c = -1 
)
inherited
void octave::base_parser::end_token_error ( token tok,
token::end_tok_type  expected 
)
inherited
bool octave::base_parser::end_token_ok ( token tok,
token::end_tok_type  expected 
)
inherited
tree_expression * octave::base_parser::finish_array_list ( tree_array_list a)
inherited
tree_expression * octave::base_parser::finish_cell ( tree_cell c)
inherited

Definition at line 7818 of file oct-parse.cc.

References octave::base_parser::finish_array_list().

Referenced by octave_push_parse().

tree_function_def * octave::base_parser::finish_classdef_external_method ( octave_user_function fcn,
tree_parameter_list ret_list,
octave_comment_list cl 
)
inherited
tree_expression * octave::base_parser::finish_colon_expression ( tree_colon_expression e)
inherited
tree_function_def * octave::base_parser::finish_function ( tree_parameter_list ret_list,
octave_user_function fcn,
octave_comment_list lc,
int  l,
int  c 
)
inherited
tree_if_command * octave::base_parser::finish_if_command ( token if_tok,
tree_if_command_list list,
token end_tok,
octave_comment_list lc 
)
inherited
tree_expression * octave::base_parser::finish_matrix ( tree_matrix m)
inherited
tree_switch_command * octave::base_parser::finish_switch_command ( token switch_tok,
tree_expression expr,
tree_switch_case_list list,
token end_tok,
octave_comment_list lc 
)
inherited
octave_user_function * octave::base_parser::frob_function ( const std::string fname,
octave_user_function fcn 
)
inherited
tree_anon_fcn_handle * octave::base_parser::make_anon_fcn_handle ( tree_parameter_list param_list,
tree_statement stmt 
)
inherited
tree_expression * octave::base_parser::make_assign_op ( int  op,
tree_argument_list lhs,
token eq_tok,
tree_expression rhs 
)
inherited
tree_expression * octave::base_parser::make_binary_op ( int  op,
tree_expression op1,
token tok_val,
tree_expression op2 
)
inherited
tree_expression * octave::base_parser::make_boolean_op ( int  op,
tree_expression op1,
token tok_val,
tree_expression op2 
)
inherited
tree_command * octave::base_parser::make_break_command ( token break_tok)
inherited

Definition at line 6713 of file oct-parse.cc.

References c, token::column(), and token::line().

Referenced by octave_push_parse().

tree_classdef * octave::base_parser::make_classdef ( token tok_val,
tree_classdef_attribute_list a,
tree_identifier id,
tree_classdef_superclass_list sc,
tree_classdef_body body,
token end_tok,
octave_comment_list lc 
)
inherited
tree_classdef_enum_block * octave::base_parser::make_classdef_enum_block ( token tok_val,
tree_classdef_attribute_list a,
tree_classdef_enum_list elist,
token end_tok,
octave_comment_list lc 
)
inherited
tree_classdef_events_block * octave::base_parser::make_classdef_events_block ( token tok_val,
tree_classdef_attribute_list a,
tree_classdef_events_list elist,
token end_tok,
octave_comment_list lc 
)
inherited
tree_classdef_methods_block * octave::base_parser::make_classdef_methods_block ( token tok_val,
tree_classdef_attribute_list a,
tree_classdef_methods_list mlist,
token end_tok,
octave_comment_list lc 
)
inherited
tree_classdef_properties_block * octave::base_parser::make_classdef_properties_block ( token tok_val,
tree_classdef_attribute_list a,
tree_classdef_property_list plist,
token end_tok,
octave_comment_list lc 
)
inherited
tree_constant * octave::base_parser::make_constant ( int  op,
token tok_val 
)
inherited
tree_command * octave::base_parser::make_continue_command ( token continue_tok)
inherited

Definition at line 6724 of file oct-parse.cc.

References c, token::column(), and token::line().

Referenced by octave_push_parse().

tree_decl_command * octave::base_parser::make_decl_command ( int  tok,
token tok_val,
tree_decl_init_list lst 
)
inherited
tree_command * octave::base_parser::make_do_until_command ( token until_tok,
tree_statement_list body,
tree_expression expr,
octave_comment_list lc 
)
inherited
tree_if_clause * octave::base_parser::make_elseif_clause ( token elseif_tok,
tree_expression expr,
tree_statement_list list,
octave_comment_list lc 
)
inherited
tree_statement * octave::base_parser::make_end ( const std::string type,
bool  eof,
int  l,
int  c 
)
inherited

Definition at line 7058 of file oct-parse.cc.

References octave::base_parser::make_statement().

Referenced by octave_push_parse().

tree_fcn_handle * octave::base_parser::make_fcn_handle ( token tok_val)
inherited

Definition at line 6263 of file oct-parse.cc.

References c, token::column(), token::line(), retval, and token::text().

Referenced by octave_push_parse().

tree_command * octave::base_parser::make_for_command ( int  tok_id,
token for_tok,
tree_argument_list lhs,
tree_expression expr,
tree_expression maxproc,
tree_statement_list body,
token end_tok,
octave_comment_list lc 
)
inherited
tree_index_expression * octave::base_parser::make_index_expression ( tree_expression expr,
tree_argument_list args,
char  type 
)
inherited
tree_index_expression * octave::base_parser::make_indirect_ref ( tree_expression expr,
const std::string elt 
)
inherited
tree_index_expression * octave::base_parser::make_indirect_ref ( tree_expression expr,
tree_expression field 
)
inherited
tree_funcall * octave::base_parser::make_meta_class_query ( const std::string class_nm)
inherited

Definition at line 7268 of file oct-parse.cc.

References fcn, and symbol_table::find_built_in_function().

Referenced by octave_push_parse().

tree_expression * octave::base_parser::make_postfix_op ( int  op,
tree_expression op1,
token tok_val 
)
inherited
tree_expression * octave::base_parser::make_prefix_op ( int  op,
tree_expression op1,
token tok_val 
)
inherited
tree_command * octave::base_parser::make_return_command ( token return_tok)
inherited

Definition at line 6735 of file oct-parse.cc.

References c, token::column(), and token::line().

Referenced by octave_push_parse().

void octave::base_parser::make_script ( tree_statement_list cmds,
tree_statement end_script 
)
inherited
template<typename T >
tree_statement * octave::base_parser::make_statement ( T *  arg)
inherited

Definition at line 7880 of file oct-parse.cc.

References octave::base_lexer::get_comment().

Referenced by octave::base_parser::make_end(), and octave_push_parse().

tree_statement_list * octave::base_parser::make_statement_list ( tree_statement stmt)
inherited

Definition at line 7888 of file oct-parse.cc.

Referenced by octave_push_parse().

tree_funcall * octave::base_parser::make_superclass_ref ( const std::string method_nm,
const std::string class_nm 
)
inherited

Definition at line 7253 of file oct-parse.cc.

References fcn, and symbol_table::find_built_in_function().

Referenced by octave_push_parse().

tree_switch_case * octave::base_parser::make_switch_case ( token case_tok,
tree_expression expr,
tree_statement_list list,
octave_comment_list lc 
)
inherited
tree_command * octave::base_parser::make_try_command ( token try_tok,
tree_statement_list body,
char  catch_sep,
tree_statement_list cleanup,
token end_tok,
octave_comment_list lc,
octave_comment_list mc 
)
inherited
tree_command * octave::base_parser::make_unwind_command ( token unwind_tok,
tree_statement_list body,
tree_statement_list cleanup,
token end_tok,
octave_comment_list lc,
octave_comment_list mc 
)
inherited
tree_command * octave::base_parser::make_while_command ( token while_tok,
tree_expression expr,
tree_statement_list body,
token end_tok,
octave_comment_list lc 
)
inherited
void octave::base_parser::maybe_warn_assign_as_truth_value ( tree_expression expr)
inherited
void octave::base_parser::maybe_warn_missing_semi ( tree_statement_list t)
inherited
void octave::base_parser::maybe_warn_variable_switch_label ( tree_expression expr)
inherited
push_parser& octave::push_parser::operator= ( const push_parser )
private
void octave::base_parser::recover_from_parsing_function ( void  )
inherited
void octave::base_parser::reset ( void  )
inherited
int octave::push_parser::run ( const std::string input,
bool  eof 
)
tree_statement_list * octave::base_parser::set_stmt_print_flag ( tree_statement_list list,
char  sep,
bool  warn_missing_semi 
)
inherited
octave_user_function * octave::base_parser::start_classdef_external_method ( tree_identifier id,
tree_parameter_list pl 
)
inherited
octave_user_function * octave::base_parser::start_function ( tree_parameter_list param_list,
tree_statement_list body,
tree_statement end_function 
)
inherited
tree_if_command_list * octave::base_parser::start_if_command ( tree_expression expr,
tree_statement_list list 
)
inherited

Definition at line 6746 of file oct-parse.cc.

References octave::base_parser::maybe_warn_assign_as_truth_value(), and t.

Referenced by octave_push_parse().

bool octave::base_parser::validate_array_list ( tree_expression e)
inherited
tree_argument_list * octave::base_parser::validate_matrix_for_assignment ( tree_expression e)
inherited

Member Data Documentation

bool octave::base_parser::autoloading
inherited
tree_classdef* octave::base_parser::classdef_object
inherited

Definition at line 453 of file parse.h.

Referenced by octave_push_parse(), and parse_fcn_file().

std::string octave::base_parser::curr_class_name
inherited
int octave::base_parser::curr_fcn_depth
inherited
std::string octave::base_parser::curr_package_name
inherited
bool octave::base_parser::endfunction_found
inherited
bool octave::base_parser::fcn_file_from_relative_lookup
inherited
std::vector<symbol_table::scope_id> octave::base_parser::function_scopes
inherited
base_lexer& octave::base_parser::lexer
inherited

Definition at line 459 of file parse.h.

Referenced by parse_fcn_file(), run(), and octave::base_parser::~base_parser().

int octave::base_parser::max_fcn_depth
inherited

Definition at line 418 of file parse.h.

Referenced by octave_push_parse(), and octave::base_parser::reset().

std::string octave::base_parser::parse_error_msg
inherited

Definition at line 400 of file parse.h.

Referenced by octave::base_parser::bison_error(), octave::parser::run(), and run().

void* octave::base_parser::parser_state
inherited
bool octave::base_parser::parsing_subfunctions
inherited
octave_function* octave::base_parser::primary_fcn_ptr
inherited
symbol_table::scope_id octave::base_parser::primary_fcn_scope
inherited
tree_statement_list* octave::base_parser::stmt_list
inherited
std::list<std::string> octave::base_parser::subfunction_names
inherited

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