#include "parse.h"
Classes | |
class | parent_scope_info |
Protected Attributes | |
bool | m_autoloading |
std::shared_ptr< tree_classdef > | m_classdef_object |
std::string | m_curr_class_name |
int | m_curr_fcn_depth |
std::string | m_curr_package_name |
bool | m_endfunction_found |
bool | m_fcn_file_from_relative_lookup |
parent_scope_info | m_function_scopes |
base_lexer & | m_lexer |
int | m_max_fcn_depth |
std::string | m_parse_error_msg |
void * | m_parser_state |
bool | m_parsing_local_functions |
bool | m_parsing_subfunctions |
octave_value | m_primary_fcn |
symbol_scope | m_primary_fcn_scope |
std::shared_ptr< tree_statement_list > | m_stmt_list |
std::list< std::string > | m_subfunction_names |
Private Member Functions | |
OCTINTERP_API void | maybe_warn_assign_as_truth_value (tree_expression *expr) |
OCTINTERP_API void | maybe_warn_missing_semi (tree_statement_list *) |
OCTINTERP_API void | maybe_warn_variable_switch_label (tree_expression *expr) |
Friends | |
OCTINTERP_API octave_value | parse_fcn_file (interpreter &interp, const std::string &full_file, const std::string &file, const std::string &dir_name, const std::string &dispatch_type, const std::string &package_name, bool require_file, bool force_script, bool autoload, bool relative_lookup) |
base_parser::base_parser | ( | base_lexer & | lxr | ) |
Definition at line 6721 of file oct-parse.cc.
|
delete |
|
virtual |
Definition at line 6731 of file oct-parse.cc.
References m_lexer, m_parser_state, yypstate, and yypstate_delete.
tree_args_block_validation_list * base_parser::append_args_validation_list | ( | tree_args_block_validation_list * | list, |
tree_arg_validation * | arg_validation | ||
) |
Definition at line 8371 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_argument_list * base_parser::append_argument_list | ( | tree_argument_list * | list, |
tree_expression * | expr | ||
) |
Definition at line 9541 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_cell * base_parser::append_cell_row | ( | tree_cell * | cell, |
tree_argument_list * | row | ||
) |
Definition at line 9423 of file oct-parse.cc.
References list_append(), and make_cell().
Referenced by octave_push_parse().
tree_classdef_attribute_list * base_parser::append_classdef_attribute | ( | tree_classdef_attribute_list * | list, |
tree_classdef_attribute * | elt | ||
) |
Definition at line 8781 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_enum_list * base_parser::append_classdef_enum | ( | tree_classdef_enum_list * | list, |
tree_classdef_enum * | elt | ||
) |
Definition at line 8734 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_body * base_parser::append_classdef_enum_block | ( | tree_classdef_body * | body, |
tree_classdef_enum_block * | block | ||
) |
Definition at line 8833 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_events_list * base_parser::append_classdef_event | ( | tree_classdef_events_list * | list, |
tree_classdef_event * | elt | ||
) |
Definition at line 8727 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_body * base_parser::append_classdef_events_block | ( | tree_classdef_body * | body, |
tree_classdef_events_block * | block | ||
) |
Definition at line 8826 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_methods_list * base_parser::append_classdef_method | ( | tree_classdef_methods_list * | list, |
tree_function_def * | fcn_def | ||
) |
Definition at line 8921 of file oct-parse.cc.
References tree_function_def::function(), and list_append().
Referenced by octave_push_parse().
tree_classdef_body * base_parser::append_classdef_methods_block | ( | tree_classdef_body * | body, |
tree_classdef_methods_block * | block | ||
) |
Definition at line 8819 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_body * base_parser::append_classdef_properties_block | ( | tree_classdef_body * | body, |
tree_classdef_properties_block * | block | ||
) |
Definition at line 8812 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_property_list * base_parser::append_classdef_property | ( | tree_classdef_property_list * | list, |
tree_classdef_property * | elt | ||
) |
Definition at line 8720 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_classdef_superclass_list * base_parser::append_classdef_superclass | ( | tree_classdef_superclass_list * | list, |
tree_classdef_superclass * | elt | ||
) |
Definition at line 8753 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_decl_init_list * base_parser::append_decl_init_list | ( | tree_decl_init_list * | list, |
tree_decl_elt * | elt | ||
) |
Definition at line 9150 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_statement_list * base_parser::append_function_body | ( | tree_statement_list * | body, |
tree_statement_list * | list | ||
) |
Definition at line 8297 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_if_command_list * base_parser::append_if_clause | ( | tree_if_command_list * | list, |
tree_if_clause * | clause | ||
) |
Definition at line 7746 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_matrix * base_parser::append_matrix_row | ( | tree_matrix * | matrix, |
tree_argument_list * | row | ||
) |
Definition at line 9396 of file oct-parse.cc.
References list_append(), and make_matrix().
Referenced by octave_push_parse().
tree_parameter_list * base_parser::append_parameter_list | ( | tree_parameter_list * | list, |
tree_decl_elt * | t | ||
) |
Definition at line 9568 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
tree_parameter_list * base_parser::append_parameter_list | ( | tree_parameter_list * | list, |
tree_identifier * | id | ||
) |
Definition at line 9575 of file oct-parse.cc.
References list_append().
tree_statement_list * base_parser::append_statement_list | ( | tree_statement_list * | list, |
char | sep, | ||
tree_statement * | stmt, | ||
bool | warn_missing_semi | ||
) |
Definition at line 9525 of file oct-parse.cc.
References list_append(), and set_stmt_print_flag().
Referenced by octave_push_parse().
tree_switch_case_list * base_parser::append_switch_case | ( | tree_switch_case_list * | list, |
tree_switch_case * | elt | ||
) |
Definition at line 7827 of file oct-parse.cc.
References list_append().
Referenced by octave_push_parse().
|
inline |
Definition at line 178 of file parse.h.
Referenced by tree_evaluator::eval_string().
void base_parser::bison_error | ( | const parse_exception & | pe | ) |
Definition at line 9686 of file oct-parse.cc.
References bison_error(), parse_exception::column(), parse_exception::line(), and parse_exception::message().
void base_parser::bison_error | ( | const std::list< parse_exception > & | pe | ) |
Definition at line 9692 of file oct-parse.cc.
References bison_error(), parse_exception::column(), parse_exception::line(), and parse_exception::message().
void base_parser::bison_error | ( | const std::string & | s | ) |
Definition at line 9616 of file oct-parse.cc.
References lexical_feedback::m_filepos, and m_lexer.
Referenced by bison_error(), end_token_error(), finish_classdef_file(), finish_input(), make_anon_fcn_handle(), make_assign_op(), make_break_command(), make_classdef(), make_continue_command(), make_fcn_name(), make_for_command(), make_index_expression(), octave_error(), octave_push_parse(), push_fcn_symtab(), start_classdef_external_method(), validate_array_list(), validate_matrix_for_assignment(), validate_param_list(), and validate_primary_fcn().
void base_parser::bison_error | ( | const std::string & | s, |
const filepos & | pos | ||
) |
Definition at line 9622 of file oct-parse.cc.
References bison_error(), filepos::column(), and filepos::line().
void base_parser::bison_error | ( | const std::string & | s, |
int | line, | ||
int | column | ||
) |
Definition at line 9628 of file oct-parse.cc.
References get_file_line(), len, lexical_feedback::m_current_input_line, lexical_feedback::m_fcn_file_full_name, m_lexer, m_parse_error_msg, lexical_feedback::m_reading_classdef_file, lexical_feedback::m_reading_fcn_file, and lexical_feedback::m_reading_script_file.
|
inline |
|
inline |
void base_parser::disallow_command_syntax | ( | void | ) |
Definition at line 9582 of file oct-parse.cc.
References lexical_feedback::m_allow_command_syntax, and m_lexer.
Referenced by tree_evaluator::eval_string().
void base_parser::end_token_error | ( | token * | tok, |
token::end_tok_type | expected | ||
) |
Definition at line 6869 of file oct-parse.cc.
References token::beg_pos(), bison_error(), end_token_as_string(), and token::ettype().
Referenced by finish_if_command(), finish_switch_command(), make_classdef(), make_classdef_enum_block(), make_classdef_events_block(), make_classdef_methods_block(), make_classdef_properties_block(), make_for_command(), make_spmd_command(), make_try_command(), make_unwind_command(), make_while_command(), and octave_push_parse().
bool base_parser::end_token_ok | ( | token * | tok, |
token::end_tok_type | expected | ||
) |
Definition at line 6881 of file oct-parse.cc.
References token::ettype(), and token::simple_end.
Referenced by finish_if_command(), finish_switch_command(), make_arguments_block(), make_classdef(), make_classdef_enum_block(), make_classdef_events_block(), make_classdef_methods_block(), make_classdef_properties_block(), make_for_command(), make_spmd_command(), make_try_command(), make_unwind_command(), make_while_command(), and octave_push_parse().
|
inline |
Definition at line 224 of file parse.h.
Referenced by octave_push_parse().
tree_expression * base_parser::finish_array_list | ( | tree_array_list * | a, |
token * | open_delim, | ||
token * | close_delim | ||
) |
Definition at line 9316 of file oct-parse.cc.
References __get_interpreter__(), tree_array_list::accept(), tree_array_list::all_elements_are_constant(), token::column(), error_system::discard_warning_messages(), tree_expression::evaluate(), interpreter::get_error_system(), interpreter::get_evaluator(), error_system::last_warning_message(), token::line(), interpreter::recover_from_exception(), error_system::set_discard_warning_messages(), error_system::set_last_warning_message(), tree::set_location(), and tree_constant::stash_original_text().
Referenced by finish_cell(), and finish_matrix().
tree_expression * base_parser::finish_cell | ( | tree_cell * | c, |
token * | open_delim, | ||
token * | close_delim | ||
) |
Definition at line 9407 of file oct-parse.cc.
References token::column(), finish_array_list(), and token::line().
Referenced by octave_push_parse().
tree_function_def * base_parser::finish_classdef_external_method | ( | octave_user_function * | fcn, |
tree_parameter_list * | ret_list, | ||
comment_list * | cl | ||
) |
Definition at line 8889 of file oct-parse.cc.
References octave_user_function::beginning_column(), octave_user_function::beginning_line(), octave_user_function::define_ret_list(), tree_parameter_list::out, and octave_user_function::stash_leading_comment().
Referenced by octave_push_parse().
bool base_parser::finish_classdef_file | ( | tree_classdef * | cls, |
tree_statement_list * | local_fcns | ||
) |
Definition at line 8937 of file oct-parse.cc.
References __get_symbol_table__(), tree_classdef::accept(), tree_function_def::accept(), bison_error(), parse_tree_validator::error_list(), octave_user_code::fcn_file_name(), tree_function_def::function(), symbol_table::install_local_function(), m_classdef_object, m_lexer, lexical_feedback::m_reading_classdef_file, octave_function::name(), parse_tree_validator::ok(), and octave_value::user_function_value().
Referenced by octave_push_parse().
tree_function_def * base_parser::finish_function | ( | tree_parameter_list * | ret_list, |
octave_user_function * | fcn, | ||
comment_list * | lc, | ||
int | l, | ||
int | c | ||
) |
Definition at line 8202 of file oct-parse.cc.
References symbol_scope::cache_dir_name(), symbol_scope::cache_fcn_file_name(), symbol_scope::cache_fcn_name(), octave_user_code::cache_function_text(), symbol_scope::cache_name(), octave_user_function::define_ret_list(), octave_user_code::fcn_file_name(), symbol_scope::install_nestfunction(), symbol_scope::install_subfunction(), lexical_feedback::m_buffer_function_text, m_curr_fcn_depth, lexical_feedback::m_dir_name, m_endfunction_found, m_function_scopes, lexical_feedback::m_function_text, m_lexer, m_parsing_subfunctions, m_primary_fcn_scope, lexical_feedback::m_reading_fcn_file, m_subfunction_names, tree_parameter_list::mark_as_formal_parameters(), octave_user_function::mark_as_nested_function(), octave_user_function::mark_as_subfunction(), octave_function::name(), tree_parameter_list::out, base_parser::parent_scope_info::parent_scope(), octave_user_code::scope(), symbol_scope::set_nesting_depth(), symbol_scope::set_parent(), symbol_scope::set_primary_parent(), base_parser::parent_scope_info::size(), octave_user_function::stash_fcn_location(), octave_user_function::stash_leading_comment(), octave_user_code::time_parsed(), and symbol_scope::update_nest().
Referenced by make_function().
tree_if_command * base_parser::finish_if_command | ( | token * | if_tok, |
tree_if_command_list * | list, | ||
token * | end_tok, | ||
comment_list * | lc | ||
) |
Definition at line 7682 of file oct-parse.cc.
References tree::column(), token::column(), base_list< elt_type >::empty(), end_token_error(), end_token_ok(), base_list< elt_type >::front(), base_lexer::comment_buffer::get_comment(), token::if_end, tree::line(), token::line(), base_lexer::m_comment_buf, and m_lexer.
Referenced by octave_push_parse().
bool base_parser::finish_input | ( | tree_statement_list * | lst, |
bool | at_eof = false |
||
) |
Definition at line 9959 of file oct-parse.cc.
References tree_statement_list::accept(), bison_error(), parse_tree_validator::error_list(), lexical_feedback::m_end_of_input, m_lexer, parse_tree_validator::ok(), and statement_list().
Referenced by octave_push_parse().
tree_expression * base_parser::finish_matrix | ( | tree_matrix * | m, |
token * | open_delim, | ||
token * | close_delim | ||
) |
Definition at line 9380 of file oct-parse.cc.
References token::column(), finish_array_list(), octave_null_matrix::instance, token::line(), and m.
Referenced by octave_push_parse().
tree_switch_command * base_parser::finish_switch_command | ( | token * | switch_tok, |
tree_expression * | expr, | ||
tree_switch_case_list * | list, | ||
token * | end_tok, | ||
comment_list * | lc | ||
) |
Definition at line 7755 of file oct-parse.cc.
References tree::column(), token::column(), base_list< elt_type >::empty(), end_token_error(), end_token_ok(), base_list< elt_type >::front(), base_lexer::comment_buffer::get_comment(), tree::line(), token::line(), base_lexer::m_comment_buf, m_lexer, and token::switch_end.
Referenced by octave_push_parse().
OCTINTERP_API octave_user_function* base_parser::frob_function | ( | tree_identifier * | id, |
octave_user_function * | fcn | ||
) |
|
inline |
tree_anon_fcn_handle * base_parser::make_anon_fcn_handle | ( | tree_parameter_list * | param_list, |
tree_expression * | expr, | ||
const filepos & | at_pos | ||
) |
Definition at line 7002 of file oct-parse.cc.
References tree_anon_fcn_handle::accept(), bison_error(), symbol_scope::cache_name(), filepos::column(), anon_fcn_validator::column(), lexical_feedback::symbol_table_context::curr_scope(), base_lexer::input_from_eval_string(), base_lexer::input_from_terminal(), filepos::line(), anon_fcn_validator::line(), lexical_feedback::m_fcn_file_full_name, m_lexer, lexical_feedback::m_symtab_context, symbol_scope::mark_static(), anon_fcn_validator::message(), anon_fcn_validator::ok(), lexical_feedback::symbol_table_context::parent_scope(), lexical_feedback::symbol_table_context::pop(), and tree_expression::set_print_flag().
Referenced by octave_push_parse().
tree_arg_size_spec * base_parser::make_arg_size_spec | ( | tree_argument_list * | size_args | ) |
Definition at line 8378 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_arg_validation * base_parser::make_arg_validation | ( | tree_arg_size_spec * | size_spec, |
tree_identifier * | class_name, | ||
tree_arg_validation_fcns * | validation_fcns, | ||
tree_expression * | default_value | ||
) |
Definition at line 8343 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_arg_validation_fcns * base_parser::make_arg_validation_fcns | ( | tree_argument_list * | fcn_args | ) |
Definition at line 8386 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_args_block_attribute_list * base_parser::make_args_attribute_list | ( | tree_identifier * | attribute_name | ) |
Definition at line 8356 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_args_block_validation_list * base_parser::make_args_validation_list | ( | tree_arg_validation * | arg_validation | ) |
Definition at line 8365 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_argument_list * base_parser::make_argument_list | ( | tree_expression * | expr | ) |
Definition at line 9535 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_arguments_block * base_parser::make_arguments_block | ( | token * | arguments_tok, |
tree_args_block_attribute_list * | attr_list, | ||
tree_args_block_validation_list * | validation_list, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8313 of file oct-parse.cc.
References token::arguments_end, token::beg_pos(), filepos::column(), end_token_ok(), and filepos::line().
Referenced by octave_push_parse().
tree_expression * base_parser::make_assign_op | ( | int | op, |
tree_argument_list * | lhs, | ||
token * | eq_tok, | ||
tree_expression * | rhs | ||
) |
Definition at line 7836 of file oct-parse.cc.
References ADD_EQ, AND_EQ, token::beg_pos(), bison_error(), token::column(), DIV_EQ, EDIV_EQ, ELEFTDIV_EQ, EMUL_EQ, EPOW_EQ, tree_expression::is_identifier(), tree_expression::is_index_expression(), tree_argument_list::is_simple_assign_lhs(), iskeyword(), LEFTDIV_EQ, token::line(), m_lexer, lexical_feedback::mark_as_variable(), lexical_feedback::mark_as_variables(), MUL_EQ, tree_expression::name(), octave_value::op_add_eq, octave_value::op_asn_eq, octave_value::op_div_eq, octave_value::op_el_and_eq, octave_value::op_el_div_eq, octave_value::op_el_ldiv_eq, octave_value::op_el_mul_eq, octave_value::op_el_or_eq, octave_value::op_el_pow_eq, octave_value::op_ldiv_eq, octave_value::op_mul_eq, octave_value::op_pow_eq, octave_value::op_sub_eq, OR_EQ, panic_impossible, POW_EQ, tree_argument_list::remove_front(), SUB_EQ, octave_value::unknown_assign_op, and tree_argument_list::variable_names().
Referenced by octave_push_parse().
tree_expression * base_parser::make_binary_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val, | ||
tree_expression * | op2 | ||
) |
Definition at line 7148 of file oct-parse.cc.
References token::column(), EDIV, ELEFTDIV, EMUL, EPOW, EXPR_AND, EXPR_EQ, EXPR_GE, EXPR_GT, EXPR_LE, EXPR_LT, EXPR_NE, EXPR_OR, LEFTDIV, token::line(), maybe_compound_binary_expression(), octave_value::op_add, octave_value::op_div, octave_value::op_el_and, octave_value::op_el_div, octave_value::op_el_ldiv, octave_value::op_el_mul, octave_value::op_el_or, octave_value::op_el_pow, octave_value::op_eq, octave_value::op_ge, octave_value::op_gt, octave_value::op_ldiv, octave_value::op_le, octave_value::op_lt, octave_value::op_mul, octave_value::op_ne, octave_value::op_pow, octave_value::op_sub, panic_impossible, POW, and octave_value::unknown_binary_op.
Referenced by octave_push_parse().
tree_black_hole * base_parser::make_black_hole | ( | void | ) |
Definition at line 6981 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_expression * base_parser::make_boolean_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val, | ||
tree_expression * | op2 | ||
) |
Definition at line 7276 of file oct-parse.cc.
References tree_boolean_expression::bool_and, tree_boolean_expression::bool_or, token::column(), EXPR_AND_AND, EXPR_OR_OR, token::line(), and panic_impossible.
Referenced by octave_push_parse().
tree_command * base_parser::make_break_command | ( | token * | break_tok | ) |
Definition at line 7594 of file oct-parse.cc.
References bison_error(), token::column(), token::line(), m_lexer, and lexical_feedback::m_looping.
Referenced by octave_push_parse().
tree_cell * base_parser::make_cell | ( | tree_argument_list * | row | ) |
Definition at line 9417 of file oct-parse.cc.
Referenced by append_cell_row(), and octave_push_parse().
tree_classdef * 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, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8422 of file oct-parse.cc.
References bison_error(), token::classdef_end, token::column(), lexical_feedback::symbol_table_context::curr_scope(), dir_sep_chars, end_token_error(), end_token_ok(), token::line(), m_curr_package_name, lexical_feedback::m_fcn_file_full_name, lexical_feedback::m_fcn_file_name, m_lexer, lexical_feedback::m_symtab_context, lexical_feedback::symbol_table_context::pop(), and token::switch_end.
Referenced by octave_push_parse().
tree_classdef_attribute * base_parser::make_classdef_attribute | ( | tree_identifier * | id, |
tree_expression * | expr = nullptr |
||
) |
Definition at line 8766 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_attribute_list * base_parser::make_classdef_attribute_list | ( | tree_classdef_attribute * | attr | ) |
Definition at line 8760 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_body * base_parser::make_classdef_body | ( | tree_classdef_enum_block * | enb | ) |
Definition at line 8806 of file oct-parse.cc.
tree_classdef_body * base_parser::make_classdef_body | ( | tree_classdef_events_block * | evb | ) |
Definition at line 8800 of file oct-parse.cc.
tree_classdef_body * base_parser::make_classdef_body | ( | tree_classdef_methods_block * | mb | ) |
Definition at line 8794 of file oct-parse.cc.
tree_classdef_body * base_parser::make_classdef_body | ( | tree_classdef_properties_block * | pb | ) |
Definition at line 8788 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_enum * base_parser::make_classdef_enum | ( | tree_identifier * | id, |
tree_expression * | expr, | ||
comment_list * | lc | ||
) |
Definition at line 8713 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_enum_block * base_parser::make_classdef_enum_block | ( | token * | tok_val, |
tree_classdef_attribute_list * | a, | ||
tree_classdef_enum_list * | elist, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8674 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), token::enumeration_end, and token::line().
Referenced by octave_push_parse().
tree_classdef_enum_list * base_parser::make_classdef_enum_list | ( | tree_classdef_enum * | e | ) |
Definition at line 8707 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_event * base_parser::make_classdef_event | ( | comment_list * | lc, |
tree_identifier * | id | ||
) |
Definition at line 8658 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_events_block * base_parser::make_classdef_events_block | ( | token * | tok_val, |
tree_classdef_attribute_list * | a, | ||
tree_classdef_events_list * | elist, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8619 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), token::events_end, and token::line().
Referenced by octave_push_parse().
tree_classdef_events_list * base_parser::make_classdef_events_list | ( | tree_classdef_event * | e | ) |
Definition at line 8652 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_methods_block * base_parser::make_classdef_methods_block | ( | token * | tok_val, |
tree_classdef_attribute_list * | a, | ||
tree_classdef_methods_list * | mlist, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8578 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), token::line(), and token::methods_end.
Referenced by octave_push_parse().
tree_classdef_methods_list * base_parser::make_classdef_methods_list | ( | tree_function_def * | fcn_def | ) |
Definition at line 8908 of file oct-parse.cc.
References tree_function_def::function().
Referenced by octave_push_parse().
tree_classdef_properties_block * base_parser::make_classdef_properties_block | ( | token * | tok_val, |
tree_classdef_attribute_list * | a, | ||
tree_classdef_property_list * | plist, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 8499 of file oct-parse.cc.
References base_list< elt_type >::back(), token::column(), tree_classdef_property::doc_string(), end_token_error(), end_token_ok(), base_list< elt_type >::front(), tree_classdef_property::have_doc_string(), comment_elt::is_end_of_line(), token::line(), token::properties_end, and comment_elt::text().
Referenced by octave_push_parse().
tree_classdef_property * base_parser::make_classdef_property | ( | comment_list * | lc, |
tree_identifier * | id, | ||
tree_arg_validation * | av | ||
) |
Definition at line 8561 of file oct-parse.cc.
References tree_arg_validation::arg_name(), tree_arg_validation::class_name(), tree_arg_validation::size_spec(), tree_arg_validation::validation_fcns(), and warning().
Referenced by octave_push_parse().
tree_classdef_property_list * base_parser::make_classdef_property_list | ( | tree_classdef_property * | prop | ) |
Definition at line 8555 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_classdef_superclass * base_parser::make_classdef_superclass | ( | token * | fqident | ) |
Definition at line 8747 of file oct-parse.cc.
References token::text().
Referenced by octave_push_parse().
tree_classdef_superclass_list * base_parser::make_classdef_superclass_list | ( | tree_classdef_superclass * | sc | ) |
Definition at line 8741 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_expression * base_parser::make_colon_expression | ( | tree_expression * | base, |
tree_expression * | limit, | ||
tree_expression * | incr = nullptr |
||
) |
Definition at line 7068 of file oct-parse.cc.
References __get_interpreter__(), tree_colon_expression::accept(), tree::column(), error_system::discard_warning_messages(), tree_colon_expression::evaluate(), interpreter::get_error_system(), interpreter::get_evaluator(), tree_expression::is_constant(), error_system::last_warning_message(), tree::line(), interpreter::recover_from_exception(), error_system::set_discard_warning_messages(), error_system::set_last_warning_message(), and tree_constant::stash_original_text().
Referenced by octave_push_parse().
tree_constant * base_parser::make_constant | ( | token * | tok_val | ) |
Definition at line 6920 of file oct-parse.cc.
References token::column(), DQ_STRING, octave_null_str::instance, octave_null_sq_str::instance, token::line(), octave_value::magic_colon_t, NUMBER, token::number(), panic_impossible, SQ_STRING, tree_constant::stash_original_text(), token::text(), token::text_rep(), token::token_value(), and undo_string_escapes().
Referenced by octave_push_parse().
tree_command * base_parser::make_continue_command | ( | token * | continue_tok | ) |
Definition at line 7611 of file oct-parse.cc.
References bison_error(), token::column(), token::line(), m_lexer, and lexical_feedback::m_looping.
Referenced by octave_push_parse().
tree_decl_command * base_parser::make_decl_command | ( | int | tok, |
token * | tok_val, | ||
tree_decl_init_list * | lst | ||
) |
Definition at line 9099 of file oct-parse.cc.
References token::column(), GLOBAL, token::line(), m_curr_fcn_depth, lexical_feedback::m_fcn_file_full_name, m_lexer, lexical_feedback::m_reading_script_file, lexical_feedback::mark_as_variables(), tree_decl_command::mark_global(), tree_decl_command::mark_persistent(), panic_impossible, PERSISTENT, tree_decl_init_list::variable_names(), and warning().
Referenced by octave_push_parse().
tree_decl_elt * base_parser::make_decl_elt | ( | tree_identifier * | id, |
token * | eq_op = nullptr , |
||
tree_expression * | expr = nullptr |
||
) |
Definition at line 9157 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_decl_init_list * base_parser::make_decl_init_list | ( | tree_decl_elt * | elt | ) |
Definition at line 9144 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_switch_case * base_parser::make_default_switch_case | ( | token * | default_tok, |
comment_list * | lc, | ||
tree_statement_list * | list | ||
) |
Definition at line 7817 of file oct-parse.cc.
References token::column(), and token::line().
Referenced by octave_push_parse().
tree_command * base_parser::make_do_until_command | ( | token * | until_tok, |
tree_statement_list * | body, | ||
tree_expression * | expr, | ||
comment_list * | lc | ||
) |
Definition at line 7506 of file oct-parse.cc.
References token::column(), base_lexer::comment_buffer::get_comment(), token::line(), base_lexer::m_comment_buf, m_lexer, lexical_feedback::m_looping, and maybe_warn_assign_as_truth_value().
Referenced by octave_push_parse().
tree_if_clause * base_parser::make_else_clause | ( | token * | else_tok, |
comment_list * | lc, | ||
tree_statement_list * | list | ||
) |
Definition at line 7736 of file oct-parse.cc.
References token::column(), and token::line().
Referenced by octave_push_parse().
tree_if_clause * base_parser::make_elseif_clause | ( | token * | elseif_tok, |
tree_expression * | expr, | ||
tree_statement_list * | list, | ||
comment_list * | lc | ||
) |
Definition at line 7722 of file oct-parse.cc.
References token::column(), token::line(), and maybe_warn_assign_as_truth_value().
Referenced by octave_push_parse().
tree_statement * base_parser::make_end | ( | const std::string & | type, |
bool | eof, | ||
const filepos & | beg_pos, | ||
const filepos & | end_pos | ||
) |
Definition at line 8192 of file oct-parse.cc.
References filepos::column(), filepos::line(), and make_statement().
Referenced by octave_push_parse().
tree_fcn_handle * base_parser::make_fcn_handle | ( | token * | tok_val | ) |
Definition at line 6989 of file oct-parse.cc.
References token::column(), token::line(), and token::text().
Referenced by octave_push_parse().
tree_identifier * base_parser::make_fcn_name | ( | tree_identifier * | id | ) |
Definition at line 8000 of file oct-parse.cc.
References bison_error(), symbol_scope::cache_name(), tree::column(), lexical_feedback::symbol_table_context::curr_scope(), tree::line(), m_curr_fcn_depth, lexical_feedback::m_fcn_file_name, m_function_scopes, m_lexer, lexical_feedback::m_maybe_classdef_get_set_method, lexical_feedback::m_parsed_function_name, m_parsing_local_functions, lexical_feedback::m_symtab_context, tree_identifier::name(), and base_parser::parent_scope_info::name_current_scope().
Referenced by octave_push_parse().
tree_command * 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, | ||
comment_list * | lc | ||
) |
Definition at line 7526 of file oct-parse.cc.
References bison_error(), token::column(), end_token_error(), end_token_ok(), token::for_end, base_lexer::comment_buffer::get_comment(), base_list< elt_type >::length(), token::line(), base_lexer::m_comment_buf, m_lexer, lexical_feedback::m_looping, tree_expression::mark_as_for_cmd_expr(), lexical_feedback::mark_as_variable(), lexical_feedback::mark_as_variables(), tree_expression::name(), PARFOR, token::parfor_end, tree_argument_list::remove_front(), and tree_argument_list::variable_names().
Referenced by octave_push_parse().
tree_function_def * base_parser::make_function | ( | token * | fcn_tok, |
tree_parameter_list * | ret_list, | ||
tree_identifier * | id, | ||
tree_parameter_list * | param_list, | ||
tree_statement_list * | body, | ||
tree_statement * | end_fcn_stmt, | ||
comment_list * | lc | ||
) |
Definition at line 8034 of file oct-parse.cc.
References token::column(), finish_function(), token::line(), recover_from_parsing_function(), and start_function().
Referenced by octave_push_parse().
tree_identifier * base_parser::make_identifier | ( | token * | ident | ) |
Definition at line 9432 of file oct-parse.cc.
References token::column(), lexical_feedback::symbol_table_context::curr_scope(), symbol_scope::insert(), token::line(), m_lexer, lexical_feedback::m_symtab_context, and token::text().
Referenced by octave_push_parse().
tree_index_expression * base_parser::make_index_expression | ( | tree_expression * | expr, |
tree_argument_list * | args, | ||
char | type | ||
) |
Definition at line 9003 of file oct-parse.cc.
References tree_index_expression::append(), bison_error(), tree::column(), tree_argument_list::has_magic_tilde(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), and tree_expression::set_postfix_index().
Referenced by octave_push_parse().
tree_index_expression * base_parser::make_indirect_ref | ( | tree_expression * | expr, |
const std::string & | elt | ||
) |
Definition at line 9041 of file oct-parse.cc.
References tree_index_expression::append(), tree::column(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), m_lexer, lexical_feedback::m_looking_at_indirect_ref, and tree_expression::set_postfix_index().
Referenced by octave_push_parse().
tree_index_expression * base_parser::make_indirect_ref | ( | tree_expression * | expr, |
tree_expression * | field | ||
) |
Definition at line 9070 of file oct-parse.cc.
References tree::column(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), list_append(), m_lexer, lexical_feedback::m_looking_at_indirect_ref, and tree_expression::set_postfix_index().
tree_matrix * base_parser::make_matrix | ( | tree_argument_list * | row | ) |
Definition at line 9390 of file oct-parse.cc.
Referenced by append_matrix_row(), and octave_push_parse().
tree_metaclass_query * base_parser::make_metaclass_query | ( | token * | metaquery | ) |
Definition at line 9461 of file oct-parse.cc.
References token::column(), token::line(), and token::text().
Referenced by octave_push_parse().
tree_classdef_attribute * base_parser::make_not_classdef_attribute | ( | tree_identifier * | id | ) |
Definition at line 8775 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_parameter_list * base_parser::make_parameter_list | ( | tree_parameter_list::in_or_out | io | ) |
Definition at line 9548 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_parameter_list * base_parser::make_parameter_list | ( | tree_parameter_list::in_or_out | io, |
tree_decl_elt * | t | ||
) |
Definition at line 9554 of file oct-parse.cc.
tree_parameter_list * base_parser::make_parameter_list | ( | tree_parameter_list::in_or_out | io, |
tree_identifier * | id | ||
) |
Definition at line 9561 of file oct-parse.cc.
tree_expression * base_parser::make_postfix_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val | ||
) |
Definition at line 7346 of file oct-parse.cc.
References token::column(), HERMITIAN, token::line(), MINUS_MINUS, octave_value::op_decr, octave_value::op_hermitian, octave_value::op_incr, octave_value::op_transpose, panic_impossible, PLUS_PLUS, TRANSPOSE, and octave_value::unknown_unary_op.
Referenced by octave_push_parse().
tree_expression * base_parser::make_prefix_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val | ||
) |
Definition at line 7305 of file oct-parse.cc.
References token::column(), token::line(), MINUS_MINUS, octave_value::op_decr, octave_value::op_incr, octave_value::op_not, octave_value::op_uminus, octave_value::op_uplus, panic_impossible, PLUS_PLUS, and octave_value::unknown_unary_op.
Referenced by octave_push_parse().
tree_command * base_parser::make_return_command | ( | token * | return_tok | ) |
Definition at line 7628 of file oct-parse.cc.
References token::column(), and token::line().
Referenced by octave_push_parse().
void base_parser::make_script | ( | tree_statement_list * | cmds, |
tree_statement * | end_script | ||
) |
Definition at line 7969 of file oct-parse.cc.
References base_list< elt_type >::append(), symbol_scope::cache_dir_name(), symbol_scope::cache_fcn_file_name(), symbol_scope::cache_name(), lexical_feedback::symbol_table_context::curr_scope(), lexical_feedback::m_dir_name, lexical_feedback::m_fcn_file_full_name, lexical_feedback::m_fcn_file_name, lexical_feedback::m_help_text, m_lexer, m_primary_fcn, lexical_feedback::m_symtab_context, octave_value(), lexical_feedback::symbol_table_context::pop(), octave_function::stash_dir_name(), and octave_user_code::stash_fcn_file_time().
Referenced by octave_push_parse().
tree_spmd_command * base_parser::make_spmd_command | ( | token * | spmd_tok, |
tree_statement_list * | body, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | tc | ||
) |
Definition at line 7639 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), token::line(), and token::spmd_end.
Referenced by octave_push_parse().
tree_statement* base_parser::make_statement | ( | T * | arg | ) |
Definition at line 9511 of file oct-parse.cc.
References base_lexer::get_comment(), and m_lexer.
OCTINTERP_API tree_statement* base_parser::make_statement | ( | T * | arg | ) |
Referenced by make_end(), and octave_push_parse().
tree_statement_list * base_parser::make_statement_list | ( | tree_statement * | stmt | ) |
Definition at line 9519 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_superclass_ref * base_parser::make_superclass_ref | ( | token * | superclassref | ) |
Definition at line 9449 of file oct-parse.cc.
References token::column(), token::line(), token::superclass_class_name(), and token::superclass_method_name().
Referenced by octave_push_parse().
tree_switch_case * base_parser::make_switch_case | ( | token * | case_tok, |
tree_expression * | expr, | ||
tree_statement_list * | list, | ||
comment_list * | lc | ||
) |
Definition at line 7803 of file oct-parse.cc.
References token::column(), token::line(), and maybe_warn_variable_switch_label().
Referenced by octave_push_parse().
tree_switch_case_list * base_parser::make_switch_case_list | ( | tree_switch_case * | switch_case | ) |
Definition at line 7795 of file oct-parse.cc.
Referenced by octave_push_parse().
tree_command * base_parser::make_try_command | ( | token * | try_tok, |
tree_statement_list * | body, | ||
char | catch_sep, | ||
tree_statement_list * | cleanup, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | mc | ||
) |
Definition at line 7415 of file oct-parse.cc.
References token::column(), base_list< elt_type >::empty(), end_token_error(), end_token_ok(), tree_statement::expression(), base_list< elt_type >::front(), base_lexer::comment_buffer::get_comment(), tree_expression::is_identifier(), token::line(), base_lexer::m_comment_buf, m_lexer, base_list< elt_type >::pop_front(), tree_statement::set_expression(), and token::try_catch_end.
Referenced by octave_push_parse().
tree_command * base_parser::make_unwind_command | ( | token * | unwind_tok, |
tree_statement_list * | body, | ||
tree_statement_list * | cleanup, | ||
token * | end_tok, | ||
comment_list * | lc, | ||
comment_list * | mc | ||
) |
Definition at line 7382 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), base_lexer::comment_buffer::get_comment(), token::line(), base_lexer::m_comment_buf, m_lexer, and token::unwind_protect_end.
Referenced by octave_push_parse().
tree_command * base_parser::make_while_command | ( | token * | while_tok, |
tree_expression * | expr, | ||
tree_statement_list * | body, | ||
token * | end_tok, | ||
comment_list * | lc | ||
) |
Definition at line 7471 of file oct-parse.cc.
References token::column(), end_token_error(), end_token_ok(), base_lexer::comment_buffer::get_comment(), token::line(), base_lexer::m_comment_buf, m_lexer, lexical_feedback::m_looping, maybe_warn_assign_as_truth_value(), and token::while_end.
Referenced by octave_push_parse().
void base_parser::maybe_convert_to_braindead_shortcircuit | ( | tree_expression *& | expr | ) |
Definition at line 7239 of file oct-parse.cc.
References tree::column(), tree_expression::is_binary_expression(), tree_binary_expression::lhs(), tree::line(), octave_value::op_el_and, octave_value::op_el_or, tree_binary_expression::op_type(), tree_binary_expression::preserve_operands(), and tree_binary_expression::rhs().
Referenced by octave_push_parse().
|
private |
Definition at line 10013 of file oct-parse.cc.
References tree::column(), tree_expression::is_assignment_expression(), tree::line(), lexical_feedback::m_fcn_file_full_name, m_lexer, tree_expression::paren_count(), and warning_with_id().
Referenced by make_do_until_command(), make_elseif_clause(), make_while_command(), and start_if_command().
|
private |
Definition at line 10049 of file oct-parse.cc.
References base_list< elt_type >::back(), tree_statement::column(), tree_statement::is_expression(), tree_statement::line(), m_curr_fcn_depth, lexical_feedback::m_fcn_file_full_name, m_lexer, and warning_with_id().
Referenced by set_stmt_print_flag().
|
private |
Definition at line 10033 of file oct-parse.cc.
References tree::column(), tree_expression::is_constant(), tree::line(), lexical_feedback::m_fcn_file_full_name, m_lexer, and warning_with_id().
Referenced by make_switch_case().
|
delete |
|
inline |
Definition at line 209 of file parse.h.
Referenced by octave_push_parse().
|
inline |
|
inline |
bool base_parser::push_fcn_symtab | ( | void | ) |
Definition at line 6889 of file oct-parse.cc.
References bison_error(), lexical_feedback::symbol_table_context::curr_scope(), m_curr_fcn_depth, m_function_scopes, m_lexer, m_max_fcn_depth, m_parsing_subfunctions, m_primary_fcn_scope, lexical_feedback::m_reading_script_file, lexical_feedback::m_symtab_context, symbol_scope::mark_primary_fcn_scope(), lexical_feedback::symbol_table_context::push(), and base_parser::parent_scope_info::push().
Referenced by octave_push_parse().
void base_parser::recover_from_parsing_function | ( | void | ) |
Definition at line 8394 of file oct-parse.cc.
References m_curr_fcn_depth, lexical_feedback::m_defining_fcn, m_function_scopes, m_lexer, lexical_feedback::m_looking_at_parameter_list, lexical_feedback::m_looking_at_return_list, lexical_feedback::m_parsed_function_name, m_parsing_subfunctions, lexical_feedback::m_reading_fcn_file, lexical_feedback::m_symtab_context, lexical_feedback::symbol_table_context::pop(), and base_parser::parent_scope_info::pop().
Referenced by make_function().
void base_parser::reset | ( | void | ) |
Definition at line 6747 of file oct-parse.cc.
References base_parser::parent_scope_info::clear(), m_autoloading, m_classdef_object, m_curr_class_name, m_curr_fcn_depth, m_curr_package_name, m_endfunction_found, m_fcn_file_from_relative_lookup, m_function_scopes, m_lexer, m_max_fcn_depth, m_parser_state, m_parsing_local_functions, m_parsing_subfunctions, m_primary_fcn, m_primary_fcn_scope, m_stmt_list, m_subfunction_names, octave_value(), base_lexer::reset(), yypstate, yypstate_delete, and yypstate_new.
Referenced by bp_table::condition_valid(), tree_evaluator::eval_string(), text_parser::parse(), and debugger::repl().
|
pure virtual |
Implemented in push_parser, and parser.
tree_statement_list * base_parser::set_stmt_print_flag | ( | tree_statement_list * | list, |
char | sep, | ||
bool | warn_missing_semi | ||
) |
Definition at line 9472 of file oct-parse.cc.
References base_list< elt_type >::back(), tree_statement::is_null_statement(), maybe_warn_missing_semi(), base_list< elt_type >::pop_back(), tree_statement::set_print_flag(), and warning().
Referenced by append_statement_list(), and octave_push_parse().
octave_user_function * base_parser::start_classdef_external_method | ( | tree_identifier * | id, |
tree_parameter_list * | pl | ||
) |
Definition at line 8840 of file oct-parse.cc.
References bison_error(), m_curr_class_name, octave_function::name(), octave_user_function::stash_fcn_location(), and octave_user_function::stash_function_name().
Referenced by octave_push_parse().
octave_user_function * base_parser::start_function | ( | tree_identifier * | id, |
tree_parameter_list * | param_list, | ||
tree_statement_list * | body, | ||
tree_statement * | end_function | ||
) |
Definition at line 8058 of file oct-parse.cc.
References base_list< elt_type >::append(), tree_statement::column(), lexical_feedback::symbol_table_context::curr_scope(), dir_sep_chars, octave_function::document(), octave_user_code::fcn_file_name(), base_lexer::comment_buffer::get_comment(), base_lexer::input_from_tmp_history_file(), tree_statement::line(), m_autoloading, base_lexer::m_comment_buf, m_curr_class_name, m_curr_fcn_depth, lexical_feedback::m_dir_name, m_fcn_file_from_relative_lookup, lexical_feedback::m_fcn_file_full_name, lexical_feedback::m_fcn_file_name, lexical_feedback::m_force_script, lexical_feedback::m_help_text, m_lexer, lexical_feedback::m_package_name, lexical_feedback::m_parsing_class_method, lexical_feedback::m_parsing_classdef, lexical_feedback::m_parsing_classdef_get_method, lexical_feedback::m_parsing_classdef_set_method, m_parsing_subfunctions, m_primary_fcn, lexical_feedback::m_reading_classdef_file, lexical_feedback::m_reading_fcn_file, lexical_feedback::m_reading_script_file, lexical_feedback::m_symtab_context, octave_user_function::mark_as_classdef_constructor(), octave_user_function::mark_as_classdef_method(), octave_user_function::mark_as_legacy_constructor(), octave_user_function::mark_as_legacy_method(), octave_user_function::mark_as_system_fcn_file(), octave_function::mark_relative(), octave_function::name(), octave_value(), octave_function::stash_dir_name(), octave_function::stash_dispatch_class(), octave_user_function::stash_fcn_end_location(), octave_user_code::stash_fcn_file_name(), octave_user_code::stash_fcn_file_time(), octave_user_function::stash_function_name(), octave_function::stash_package_name(), octave_user_function::stash_trailing_comment(), warning(), and warning_with_id().
Referenced by make_function().
tree_if_command_list * base_parser::start_if_command | ( | tree_expression * | expr, |
tree_statement_list * | list | ||
) |
Definition at line 7667 of file oct-parse.cc.
References maybe_warn_assign_as_truth_value().
Referenced by octave_push_parse().
void base_parser::statement_list | ( | std::shared_ptr< tree_statement_list > & | lst | ) |
Definition at line 6849 of file oct-parse.cc.
References m_stmt_list.
Referenced by bp_table::condition_valid(), tree_evaluator::eval_string(), and debugger::repl().
|
inline |
Definition at line 194 of file parse.h.
Referenced by finish_input().
bool base_parser::validate_array_list | ( | tree_expression * | e | ) |
Definition at line 9231 of file oct-parse.cc.
References bison_error(), and tree_expression::is_matrix().
Referenced by octave_push_parse().
tree_argument_list * base_parser::validate_matrix_for_assignment | ( | tree_expression * | e | ) |
Definition at line 9256 of file oct-parse.cc.
References __get_evaluator__(), bison_error(), tree_expression::evaluate(), base_list< elt_type >::front(), tree_expression::is_constant(), tree_expression::is_matrix(), tree_argument_list::is_valid_lvalue_list(), octave_value::isempty(), m_lexer, tree_argument_list::mark_as_simple_assign_lhs(), lexical_feedback::mark_as_variables(), base_list< elt_type >::pop_front(), base_list< elt_type >::size(), and tree_argument_list::variable_names().
Referenced by octave_push_parse().
bool base_parser::validate_param_list | ( | tree_parameter_list * | lst, |
tree_parameter_list::in_or_out | type | ||
) |
Definition at line 9164 of file oct-parse.cc.
References base_list< elt_type >::back(), bison_error(), base_list< elt_type >::end(), base_list< elt_type >::erase(), tree_decl_elt::ident(), tree_parameter_list::in, tree_identifier::is_black_hole(), iskeyword(), len, base_list< elt_type >::length(), tree_parameter_list::mark_varargs(), tree_parameter_list::mark_varargs_only(), and tree_identifier::name().
Referenced by octave_push_parse().
bool base_parser::validate_primary_fcn | ( | void | ) |
Definition at line 9988 of file oct-parse.cc.
References octave_function::accept(), bison_error(), parse_tree_validator::error_list(), m_primary_fcn, parse_tree_validator::ok(), and octave_value::user_code_value().
Referenced by octave_push_parse().
|
friend |
Definition at line 9860 of file oct-parse.cc.
|
protected |
Definition at line 745 of file parse.h.
Referenced by reset(), and start_function().
|
protected |
Definition at line 795 of file parse.h.
Referenced by finish_classdef_file(), and reset().
|
protected |
Definition at line 777 of file parse.h.
Referenced by reset(), start_classdef_external_method(), and start_function().
|
protected |
Definition at line 769 of file parse.h.
Referenced by finish_function(), make_decl_command(), make_fcn_name(), maybe_warn_missing_semi(), push_fcn_symtab(), recover_from_parsing_function(), reset(), and start_function().
|
protected |
Definition at line 781 of file parse.h.
Referenced by make_classdef(), and reset().
|
protected |
Definition at line 742 of file parse.h.
Referenced by finish_function(), and reset().
|
protected |
Definition at line 749 of file parse.h.
Referenced by reset(), and start_function().
|
protected |
Definition at line 784 of file parse.h.
Referenced by finish_function(), make_fcn_name(), push_fcn_symtab(), recover_from_parsing_function(), and reset().
|
protected |
Definition at line 801 of file parse.h.
Referenced by ~base_parser(), bison_error(), disallow_command_syntax(), finish_classdef_file(), finish_function(), finish_if_command(), finish_input(), finish_switch_command(), make_anon_fcn_handle(), make_assign_op(), make_break_command(), make_classdef(), make_continue_command(), make_decl_command(), make_do_until_command(), make_fcn_name(), make_for_command(), make_identifier(), make_indirect_ref(), make_script(), make_statement(), make_try_command(), make_unwind_command(), make_while_command(), maybe_warn_assign_as_truth_value(), maybe_warn_missing_semi(), maybe_warn_variable_switch_label(), push_fcn_symtab(), recover_from_parsing_function(), reset(), push_parser::run(), parser::run(), start_function(), and validate_matrix_for_assignment().
|
protected |
Definition at line 762 of file parse.h.
Referenced by push_fcn_symtab(), and reset().
|
protected |
Definition at line 739 of file parse.h.
Referenced by bison_error(), push_parser::run(), and parser::run().
|
protected |
Definition at line 804 of file parse.h.
Referenced by ~base_parser(), reset(), push_parser::run(), and parser::run().
|
protected |
Definition at line 758 of file parse.h.
Referenced by make_fcn_name(), and reset().
|
protected |
Definition at line 753 of file parse.h.
Referenced by finish_function(), push_fcn_symtab(), recover_from_parsing_function(), reset(), and start_function().
|
protected |
Definition at line 787 of file parse.h.
Referenced by make_script(), reset(), start_function(), and validate_primary_fcn().
|
protected |
Definition at line 773 of file parse.h.
Referenced by finish_function(), push_fcn_symtab(), and reset().
|
protected |
Definition at line 798 of file parse.h.
Referenced by reset(), and statement_list().
|
protected |
Definition at line 792 of file parse.h.
Referenced by finish_function(), and reset().