GNU Octave
4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
|
#include "parse.h"
Private Member Functions | |
base_parser (const base_parser &) | |
base_parser & | operator= (const base_parser &) |
octave::base_parser::base_parser | ( | base_lexer & | lxr | ) |
Definition at line 5948 of file oct-parse.cc.
octave::base_parser::~base_parser | ( | void | ) |
Definition at line 5957 of file oct-parse.cc.
References lexer, parser_state, stmt_list, and yypstate_delete.
|
private |
tree_statement_list * octave::base_parser::append_statement_list | ( | tree_statement_list * | list, |
char | sep, | ||
tree_statement * | stmt, | ||
bool | warn_missing_semi | ||
) |
Definition at line 7894 of file oct-parse.cc.
References octave::base_list< elt_type >::append(), list, and set_stmt_print_flag().
Referenced by octave_push_parse().
void octave::base_parser::bison_error | ( | const std::string & | s, |
int | l = -1 , |
||
int | c = -1 |
||
) |
Definition at line 7906 of file oct-parse.cc.
References c, octave::lexical_feedback::current_input_column, octave::lexical_feedback::current_input_line, octave::lexical_feedback::fcn_file_full_name, octave::lexical_feedback::input_line_number, parse_error_msg, octave::lexical_feedback::reading_classdef_file, octave::lexical_feedback::reading_fcn_file, octave::lexical_feedback::reading_script_file, str, and string.
Referenced by end_token_error(), make_assign_op(), make_classdef(), make_for_command(), make_index_expression(), octave_error(), octave_push_parse(), start_classdef_external_method(), validate_array_list(), and validate_matrix_for_assignment().
void octave::base_parser::end_token_error | ( | token * | tok, |
token::end_tok_type | expected | ||
) |
Definition at line 6076 of file oct-parse.cc.
References bison_error(), token::column(), end_token_as_string(), token::ettype(), token::line(), and string.
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_try_command(), make_unwind_command(), make_while_command(), and octave_push_parse().
bool octave::base_parser::end_token_ok | ( | token * | tok, |
token::end_tok_type | expected | ||
) |
Definition at line 6088 of file oct-parse.cc.
References token::ettype(), and token::simple_end.
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_try_command(), make_unwind_command(), make_while_command(), and octave_push_parse().
tree_expression * octave::base_parser::finish_array_list | ( | tree_array_list * | a | ) |
Definition at line 7762 of file oct-parse.cc.
References tree_array_list::accept(), tree_array_list::all_elements_are_constant(), tree::column(), discard_error_messages, discard_warning_messages, frame, tree::line(), action_container::protect_var(), recover_from_exception(), retval, tree_expression::rvalue1(), tree_constant::stash_original_text(), and tmp.
Referenced by finish_cell(), and finish_matrix().
tree_expression * octave::base_parser::finish_cell | ( | tree_cell * | c | ) |
Definition at line 7818 of file oct-parse.cc.
References 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 | ||
) |
Definition at line 7522 of file oct-parse.cc.
References octave_user_function::beginning_column(), octave_user_function::beginning_line(), c, octave_user_function::define_ret_list(), and octave_user_function::stash_leading_comment().
Referenced by octave_push_parse().
tree_expression * octave::base_parser::finish_colon_expression | ( | tree_colon_expression * | e | ) |
Definition at line 6137 of file oct-parse.cc.
References tree_colon_expression::accept(), tree_colon_expression::base(), tree::column(), discard_error_messages, discard_warning_messages, e, frame, tree_colon_expression::increment(), tree_expression::is_constant(), tree_colon_expression::limit(), tree::line(), tree_colon_expression::preserve_base(), action_container::protect_var(), recover_from_exception(), retval, tree_colon_expression::rvalue1(), tree_constant::stash_original_text(), and tmp.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 7166 of file oct-parse.cc.
References symbol_table::cache_name(), curr_fcn_depth, octave_user_function::define_ret_list(), endfunction_found, octave_user_function::fcn_file_name(), file, function_scopes, symbol_table::install_nestfunction(), symbol_table::install_subfunction(), tree_parameter_list::mark_as_formal_parameters(), octave_user_function::mark_as_subfunction(), octave_function::name(), nm, parsing_subfunctions, primary_fcn_scope, octave::lexical_feedback::reading_fcn_file, retval, octave_user_function::scope(), octave_user_function::stash_fcn_location(), octave_user_function::stash_leading_comment(), string, subfunction_names, tmp, and symbol_table::update_nest().
Referenced by octave_push_parse().
tree_if_command * octave::base_parser::finish_if_command | ( | token * | if_tok, |
tree_if_command_list * | list, | ||
token * | end_tok, | ||
octave_comment_list * | lc | ||
) |
Definition at line 6759 of file oct-parse.cc.
References c, tree::column(), token::column(), octave::base_lexer::comment_buf, octave::base_list< elt_type >::empty(), end_token_error(), end_token_ok(), octave::base_list< elt_type >::front(), octave::base_lexer::comment_buffer::get_comment(), token::if_end, tree::line(), token::line(), list, and retval.
Referenced by octave_push_parse().
tree_expression * octave::base_parser::finish_matrix | ( | tree_matrix * | m | ) |
Definition at line 7808 of file oct-parse.cc.
References finish_array_list(), and octave_null_matrix::instance.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 6815 of file oct-parse.cc.
References c, tree::column(), token::column(), octave::base_lexer::comment_buf, octave::base_list< elt_type >::empty(), end_token_error(), end_token_ok(), octave::base_list< elt_type >::front(), octave::base_lexer::comment_buffer::get_comment(), tree::line(), token::line(), list, retval, and token::switch_end.
Referenced by octave_push_parse().
octave_user_function * octave::base_parser::frob_function | ( | const std::string & | fname, |
octave_user_function * | fcn | ||
) |
Definition at line 7066 of file oct-parse.cc.
References autoloading, curr_class_name, curr_fcn_depth, octave::sys::file_ops::dir_sep_chars(), octave_function::document(), fcn, fcn_file_from_relative_lookup, octave::lexical_feedback::fcn_file_full_name, octave_user_function::fcn_file_name(), octave::lexical_feedback::fcn_file_name, fname, octave::lexical_feedback::force_script, fs, function_scopes, octave::lexical_feedback::help_text, input_from_tmp_history_file, octave::sys::base_file_stat::is_newer(), octave_user_function::mark_as_class_constructor(), octave_user_function::mark_as_class_method(), octave_user_function::mark_as_system_fcn_file(), octave_function::mark_relative(), nm, now, octave::lexical_feedback::parsing_class_method, parsing_subfunctions, primary_fcn_ptr, primary_fcn_scope, octave::lexical_feedback::reading_classdef_file, octave::lexical_feedback::reading_fcn_file, octave::lexical_feedback::reading_script_file, octave_function::stash_dispatch_class(), octave_user_function::stash_fcn_file_name(), octave_user_function::stash_fcn_file_time(), octave_user_function::stash_function_name(), octave_user_function::stash_parent_fcn_name(), octave_user_function::stash_parent_fcn_scope(), string, warning(), and warning_with_id().
Referenced by octave_push_parse().
tree_anon_fcn_handle * octave::base_parser::make_anon_fcn_handle | ( | tree_parameter_list * | param_list, |
tree_statement * | stmt | ||
) |
Definition at line 6276 of file oct-parse.cc.
References c, octave::lexical_feedback::symbol_table_context::curr_scope(), octave::lexical_feedback::current_input_column, octave::lexical_feedback::input_line_number, tree_statement_list::mark_as_anon_function_body(), octave::lexical_feedback::symbol_table_context::pop(), retval, tree_statement::set_print_flag(), and octave::lexical_feedback::symtab_context.
Referenced by octave_push_parse().
tree_expression * octave::base_parser::make_assign_op | ( | int | op, |
tree_argument_list * | lhs, | ||
token * | eq_tok, | ||
tree_expression * | rhs | ||
) |
Definition at line 6873 of file oct-parse.cc.
References ADD_EQ, AND_EQ, bison_error(), c, token::column(), DIV_EQ, EDIV_EQ, ELEFTDIV_EQ, EMUL_EQ, EPOW_EQ, tree_expression::is_identifier(), tree_expression::is_index_expression(), octave::is_keyword(), tree_argument_list::is_simple_assign_lhs(), LEFTDIV_EQ, token::line(), 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(), string, SUB_EQ, t, tmp, octave_value::unknown_assign_op, and tree_argument_list::variable_names().
Referenced by octave_push_parse().
tree_expression * octave::base_parser::make_binary_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val, | ||
tree_expression * | op2 | ||
) |
Definition at line 6307 of file oct-parse.cc.
References c, 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, t, and octave_value::unknown_binary_op.
Referenced by octave_push_parse().
tree_expression * octave::base_parser::make_boolean_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val, | ||
tree_expression * | op2 | ||
) |
Definition at line 6400 of file oct-parse.cc.
References tree_boolean_expression::bool_and, tree_boolean_expression::bool_or, c, token::column(), EXPR_AND_AND, EXPR_OR_OR, token::line(), panic_impossible, and t.
Referenced by octave_push_parse().
tree_command * octave::base_parser::make_break_command | ( | token * | break_tok | ) |
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 | ||
) |
Definition at line 7287 of file oct-parse.cc.
References a, bison_error(), c, token::classdef_end, token::column(), octave::base_lexer::comment_buf, curr_package_name, octave::sys::file_ops::dir_sep_chars(), end_token_error(), end_token_ok(), octave::lexical_feedback::fcn_file_name, octave::base_lexer::comment_buffer::get_comment(), id, token::line(), nm, retval, sc, string, and token::switch_end.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 7441 of file oct-parse.cc.
References a, c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), token::enumeration_end, octave::base_lexer::comment_buffer::get_comment(), token::line(), and retval.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 7409 of file oct-parse.cc.
References a, c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), token::events_end, octave::base_lexer::comment_buffer::get_comment(), token::line(), and retval.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 7377 of file oct-parse.cc.
References a, c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), octave::base_lexer::comment_buffer::get_comment(), token::line(), token::methods_end, and retval.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 7345 of file oct-parse.cc.
References a, c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), octave::base_lexer::comment_buffer::get_comment(), token::line(), token::properties_end, and retval.
Referenced by octave_push_parse().
tree_constant * octave::base_parser::make_constant | ( | int | op, |
token * | tok_val | ||
) |
Definition at line 6200 of file oct-parse.cc.
References c, token::column(), DQ_STRING, IMAG_NUM, octave_null_str::instance, octave_null_sq_str::instance, token::line(), NUM, token::number(), panic_impossible, retval, SQ_STRING, tree_constant::stash_original_text(), string, token::text(), token::text_rep(), tmp, and undo_string_escapes().
Referenced by octave_push_parse().
tree_command * octave::base_parser::make_continue_command | ( | token * | continue_tok | ) |
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 | ||
) |
Definition at line 7641 of file oct-parse.cc.
References c, token::column(), curr_fcn_depth, octave::lexical_feedback::fcn_file_full_name, GLOBAL, token::line(), panic_impossible, PERSISTENT, octave::lexical_feedback::reading_script_file, retval, and warning().
Referenced by octave_push_parse().
tree_command * octave::base_parser::make_do_until_command | ( | token * | until_tok, |
tree_statement_list * | body, | ||
tree_expression * | expr, | ||
octave_comment_list * | lc | ||
) |
Definition at line 6629 of file oct-parse.cc.
References c, token::column(), octave::base_lexer::comment_buf, octave::base_lexer::comment_buffer::get_comment(), token::line(), octave::lexical_feedback::looping, and maybe_warn_assign_as_truth_value().
Referenced by octave_push_parse().
tree_if_clause * octave::base_parser::make_elseif_clause | ( | token * | elseif_tok, |
tree_expression * | expr, | ||
tree_statement_list * | list, | ||
octave_comment_list * | lc | ||
) |
Definition at line 6799 of file oct-parse.cc.
References c, token::column(), token::line(), and maybe_warn_assign_as_truth_value().
Referenced by octave_push_parse().
tree_statement * octave::base_parser::make_end | ( | const std::string & | type, |
bool | eof, | ||
int | l, | ||
int | c | ||
) |
Definition at line 7058 of file oct-parse.cc.
References make_statement().
Referenced by octave_push_parse().
tree_fcn_handle * octave::base_parser::make_fcn_handle | ( | token * | tok_val | ) |
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 | ||
) |
Definition at line 6649 of file oct-parse.cc.
References bison_error(), c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), token::for_end, octave::base_lexer::comment_buffer::get_comment(), octave::base_list< elt_type >::length(), token::line(), octave::lexical_feedback::looping, tree_expression::mark_as_for_cmd_expr(), PARFOR, token::parfor_end, tree_argument_list::remove_front(), retval, and tmp.
Referenced by octave_push_parse().
tree_index_expression * octave::base_parser::make_index_expression | ( | tree_expression * | expr, |
tree_argument_list * | args, | ||
char | type | ||
) |
Definition at line 7541 of file oct-parse.cc.
References tree_index_expression::append(), bison_error(), c, tree::column(), tree_argument_list::has_magic_tilde(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), retval, tree_expression::set_postfix_index(), and tmp.
Referenced by octave_push_parse().
tree_index_expression * octave::base_parser::make_indirect_ref | ( | tree_expression * | expr, |
const std::string & | elt | ||
) |
Definition at line 7581 of file oct-parse.cc.
References tree_index_expression::append(), c, tree::column(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), octave::lexical_feedback::looking_at_indirect_ref, retval, tree_expression::set_postfix_index(), and tmp.
Referenced by octave_push_parse().
tree_index_expression * octave::base_parser::make_indirect_ref | ( | tree_expression * | expr, |
tree_expression * | field | ||
) |
Definition at line 7611 of file oct-parse.cc.
References tree_index_expression::append(), c, tree::column(), tree_expression::is_index_expression(), tree_expression::is_postfix_indexed(), tree::line(), octave::lexical_feedback::looking_at_indirect_ref, retval, tree_expression::set_postfix_index(), and tmp.
tree_funcall * octave::base_parser::make_meta_class_query | ( | const std::string & | class_nm | ) |
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 | ||
) |
Definition at line 6469 of file oct-parse.cc.
References c, 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, t, TRANSPOSE, and octave_value::unknown_unary_op.
Referenced by octave_push_parse().
tree_expression * octave::base_parser::make_prefix_op | ( | int | op, |
tree_expression * | op1, | ||
token * | tok_val | ||
) |
Definition at line 6429 of file oct-parse.cc.
References c, token::column(), EXPR_NOT, 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, t, and octave_value::unknown_unary_op.
Referenced by octave_push_parse().
tree_command * octave::base_parser::make_return_command | ( | token * | return_tok | ) |
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 | ||
) |
Definition at line 7005 of file oct-parse.cc.
References octave::base_list< elt_type >::append(), octave::lexical_feedback::fcn_file_full_name, octave::lexical_feedback::fcn_file_name, octave::lexical_feedback::help_text, now, primary_fcn_ptr, and octave_user_script::stash_fcn_file_time().
Referenced by octave_push_parse().
tree_statement * octave::base_parser::make_statement | ( | T * | arg | ) |
Definition at line 7880 of file oct-parse.cc.
References octave::base_lexer::get_comment().
Referenced by make_end(), and octave_push_parse().
tree_statement_list * octave::base_parser::make_statement_list | ( | tree_statement * | stmt | ) |
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 | ||
) |
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 | ||
) |
Definition at line 6857 of file oct-parse.cc.
References c, token::column(), token::line(), and maybe_warn_variable_switch_label().
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 6538 of file oct-parse.cc.
References c, token::column(), octave::base_lexer::comment_buf, octave::base_list< elt_type >::empty(), end_token_error(), end_token_ok(), tree_statement::expression(), octave::base_list< elt_type >::front(), octave::base_lexer::comment_buffer::get_comment(), tree_expression::is_identifier(), token::line(), octave::base_list< elt_type >::pop_front(), retval, tree_statement::set_expression(), and token::try_catch_end.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 6505 of file oct-parse.cc.
References c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), octave::base_lexer::comment_buffer::get_comment(), token::line(), retval, and token::unwind_protect_end.
Referenced by octave_push_parse().
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 | ||
) |
Definition at line 6594 of file oct-parse.cc.
References c, token::column(), octave::base_lexer::comment_buf, end_token_error(), end_token_ok(), octave::base_lexer::comment_buffer::get_comment(), token::line(), octave::lexical_feedback::looping, maybe_warn_assign_as_truth_value(), retval, and token::while_end.
Referenced by octave_push_parse().
void octave::base_parser::maybe_warn_assign_as_truth_value | ( | tree_expression * | expr | ) |
Definition at line 6099 of file oct-parse.cc.
References tree::column(), octave::lexical_feedback::fcn_file_full_name, tree_expression::is_assignment_expression(), tree::line(), tree_expression::paren_count(), and warning_with_id().
Referenced by make_do_until_command(), make_elseif_clause(), make_while_command(), and start_if_command().
void octave::base_parser::maybe_warn_missing_semi | ( | tree_statement_list * | t | ) |
Definition at line 7826 of file oct-parse.cc.
References octave::base_list< elt_type >::back(), tree_statement::column(), curr_fcn_depth, octave::lexical_feedback::fcn_file_full_name, tree_statement::is_expression(), tree_statement::line(), tmp, and warning_with_id().
Referenced by set_stmt_print_flag().
void octave::base_parser::maybe_warn_variable_switch_label | ( | tree_expression * | expr | ) |
Definition at line 6119 of file oct-parse.cc.
References tree::column(), octave::lexical_feedback::fcn_file_full_name, tree_expression::is_constant(), tree::line(), and warning_with_id().
Referenced by make_switch_case().
|
private |
void octave::base_parser::recover_from_parsing_function | ( | void | ) |
Definition at line 7235 of file oct-parse.cc.
References curr_fcn_depth, octave::lexical_feedback::defining_func, function_scopes, octave::lexical_feedback::looking_at_parameter_list, octave::lexical_feedback::looking_at_return_list, octave::lexical_feedback::parsed_function_name, parsing_subfunctions, octave::lexical_feedback::symbol_table_context::pop(), octave::lexical_feedback::reading_fcn_file, and octave::lexical_feedback::symtab_context.
Referenced by octave_push_parse().
void octave::base_parser::reset | ( | void | ) |
Definition at line 5975 of file oct-parse.cc.
References autoloading, curr_class_name, curr_fcn_depth, curr_package_name, endfunction_found, fcn_file_from_relative_lookup, function_scopes, max_fcn_depth, parser_state, parsing_subfunctions, primary_fcn_ptr, primary_fcn_scope, octave::lexer::reset(), stmt_list, subfunction_names, yypstate_delete, and yypstate_new.
Referenced by bp_table::condition_valid(), and get_debug_input().
tree_statement_list * octave::base_parser::set_stmt_print_flag | ( | tree_statement_list * | list, |
char | sep, | ||
bool | warn_missing_semi | ||
) |
Definition at line 7841 of file oct-parse.cc.
References octave::base_list< elt_type >::back(), tree_statement::is_null_statement(), list, maybe_warn_missing_semi(), octave::base_list< elt_type >::pop_back(), tree_statement::set_print_flag(), tmp, and warning().
Referenced by append_statement_list(), and octave_push_parse().
octave_user_function * octave::base_parser::start_classdef_external_method | ( | tree_identifier * | id, |
tree_parameter_list * | pl | ||
) |
Definition at line 7473 of file oct-parse.cc.
References bison_error(), c, curr_class_name, id, retval, octave_user_function::stash_fcn_location(), octave_user_function::stash_function_name(), and string.
Referenced by octave_push_parse().
octave_user_function * octave::base_parser::start_function | ( | tree_parameter_list * | param_list, |
tree_statement_list * | body, | ||
tree_statement * | end_function | ||
) |
Definition at line 7030 of file oct-parse.cc.
References octave::base_list< elt_type >::append(), tree_statement::column(), octave::base_lexer::comment_buf, octave::lexical_feedback::symbol_table_context::curr_scope(), fcn, octave::base_lexer::comment_buffer::get_comment(), tree_statement::line(), octave_user_function::stash_fcn_end_location(), octave_user_function::stash_trailing_comment(), and octave::lexical_feedback::symtab_context.
Referenced by octave_push_parse().
tree_if_command_list * octave::base_parser::start_if_command | ( | tree_expression * | expr, |
tree_statement_list * | list | ||
) |
Definition at line 6746 of file oct-parse.cc.
References maybe_warn_assign_as_truth_value(), and t.
Referenced by octave_push_parse().
bool octave::base_parser::validate_array_list | ( | tree_expression * | e | ) |
Definition at line 7677 of file oct-parse.cc.
References octave::base_list< elt_type >::begin(), bison_error(), e, octave::base_list< elt_type >::end(), tree_argument_list::has_magic_tilde(), tree_expression::is_matrix(), retval, and row.
Referenced by octave_push_parse().
tree_argument_list * octave::base_parser::validate_matrix_for_assignment | ( | tree_expression * | e | ) |
Definition at line 7704 of file oct-parse.cc.
References bison_error(), e, octave::base_list< elt_type >::front(), tree_expression::is_constant(), octave_value::is_empty(), tree_expression::is_matrix(), tree_argument_list::is_valid_lvalue_list(), tree_argument_list::mark_as_simple_assign_lhs(), octave::lexical_feedback::mark_as_variables(), octave::base_list< elt_type >::pop_front(), retval, tree_expression::rvalue1(), octave::base_list< elt_type >::size(), tmp, and tree_argument_list::variable_names().
Referenced by octave_push_parse().
bool octave::base_parser::autoloading |
Definition at line 406 of file parse.h.
Referenced by frob_function(), parse_fcn_file(), and reset().
tree_classdef* octave::base_parser::classdef_object |
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 |
Definition at line 433 of file parse.h.
Referenced by frob_function(), parse_fcn_file(), reset(), and start_classdef_external_method().
int octave::base_parser::curr_fcn_depth |
Definition at line 425 of file parse.h.
Referenced by finish_function(), frob_function(), make_decl_command(), maybe_warn_missing_semi(), octave_push_parse(), recover_from_parsing_function(), and reset().
std::string octave::base_parser::curr_package_name |
Definition at line 437 of file parse.h.
Referenced by make_classdef(), parse_fcn_file(), and reset().
bool octave::base_parser::endfunction_found |
Definition at line 403 of file parse.h.
Referenced by finish_function(), octave_push_parse(), parse_fcn_file(), and reset().
bool octave::base_parser::fcn_file_from_relative_lookup |
Definition at line 410 of file parse.h.
Referenced by frob_function(), parse_fcn_file(), and reset().
std::vector<symbol_table::scope_id> octave::base_parser::function_scopes |
Definition at line 442 of file parse.h.
Referenced by finish_function(), frob_function(), octave_push_parse(), recover_from_parsing_function(), and reset().
base_lexer& octave::base_parser::lexer |
Definition at line 459 of file parse.h.
Referenced by parse_fcn_file(), octave::push_parser::run(), and ~base_parser().
int octave::base_parser::max_fcn_depth |
Definition at line 418 of file parse.h.
Referenced by octave_push_parse(), and reset().
std::string octave::base_parser::parse_error_msg |
Definition at line 400 of file parse.h.
Referenced by bison_error(), octave::parser::run(), and octave::push_parser::run().
void* octave::base_parser::parser_state |
Definition at line 462 of file parse.h.
Referenced by reset(), octave::parser::run(), octave::push_parser::run(), and ~base_parser().
bool octave::base_parser::parsing_subfunctions |
Definition at line 414 of file parse.h.
Referenced by finish_function(), frob_function(), octave_push_parse(), parse_fcn_file(), recover_from_parsing_function(), and reset().
octave_function* octave::base_parser::primary_fcn_ptr |
Definition at line 445 of file parse.h.
Referenced by frob_function(), make_script(), parse_fcn_file(), and reset().
symbol_table::scope_id octave::base_parser::primary_fcn_scope |
Definition at line 429 of file parse.h.
Referenced by finish_function(), frob_function(), octave_push_parse(), and reset().
tree_statement_list* octave::base_parser::stmt_list |
Definition at line 456 of file parse.h.
Referenced by bp_table::condition_valid(), get_debug_input(), octave_push_parse(), reset(), and ~base_parser().
std::list<std::string> octave::base_parser::subfunction_names |
Definition at line 450 of file parse.h.
Referenced by finish_function(), parse_fcn_file(), and reset().