GNU Octave  3.8.0
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 | Protected Attributes | Private Member Functions | List of all members
tree_expression Class Reference

#include "pt-exp.h"

Inheritance diagram for tree_expression:
Inheritance graph
[legend]
Collaboration diagram for tree_expression:
Collaboration graph
[legend]

Public Member Functions

 tree_expression (int l=-1, int c=-1)
virtual ~tree_expression (void)
virtual void accept (tree_walker &tw)=0
virtual int column (void) const
void column (int c)
virtual void copy_base (const tree_expression &e)
virtual void delete_breakpoint (void)
virtual tree_expressiondup (symbol_table::scope_id, symbol_table::context_id context) const =0
virtual bool has_magic_end (void) const =0
virtual bool is_assignment_expression (void) const
virtual bool is_binary_expression (void) const
virtual bool is_boolean_expression (void) const
bool is_breakpoint (void) const
virtual bool is_cell (void) const
virtual bool is_constant (void) const
virtual bool is_identifier (void) const
virtual bool is_index_expression (void) const
virtual bool is_logically_true (const char *)
virtual bool is_matrix (void) const
bool is_postfix_indexed (void) const
virtual bool is_prefix_expression (void) const
virtual bool is_unary_expression (void) const
virtual int line (void) const
void line (int l)
virtual octave_lvalue lvalue (void)
virtual bool lvalue_ok (void) const
virtual void mark_braindead_shortcircuit (const std::string &)
tree_expressionmark_in_parens (void)
tree_expressionmark_postfix_indexed (void)
virtual std::string name (void) const
virtual std::string oper (void) const
virtual std::string original_text (void) const
int paren_count (void) const
bool print_result (void) const
virtual octave_value_list rvalue (int nargout)
virtual octave_value_list rvalue (int nargout, const std::list< octave_lvalue > *lvalue_list)
virtual octave_value rvalue1 (int nargout=1)
virtual bool rvalue_ok (void) const
virtual void set_breakpoint (void)
void set_location (int l, int c)
tree_expressionset_print_flag (bool print)
std::string str_print_code (void)

Protected Attributes

int num_parens
bool postfix_indexed
bool print_flag

Private Member Functions

 tree_expression (const tree_expression &)
tree_expressionoperator= (const tree_expression &)

Detailed Description

Definition at line 37 of file pt-exp.h.

Constructor & Destructor Documentation

tree_expression::tree_expression ( int  l = -1,
int  c = -1 
)
inline

Definition at line 42 of file pt-exp.h.

virtual tree_expression::~tree_expression ( void  )
inlinevirtual

Definition at line 46 of file pt-exp.h.

tree_expression::tree_expression ( const tree_expression )
private

Member Function Documentation

virtual void tree::accept ( tree_walker tw)
pure virtualinherited

Implemented in tree_complex_for_command, tree_switch_command, tree_persistent_command, tree_simple_for_command, tree_global_command, tree_switch_case, tree_do_until_command, tree_postfix_expression, tree_multi_assignment, tree_if_command, tree_anon_fcn_handle, tree_unwind_protect_command, tree_identifier, tree_function_def, tree_prefix_expression, tree_binary_expression, tree_statement, tree_return_command, tree_colon_expression, tree_index_expression, tree_while_command, tree_constant, tree_simple_assignment, tree_no_op_command, tree_fcn_handle, tree_continue_command, tree_try_catch_command, tree_if_clause, tree_array_list, tree_matrix, tree_cell, and tree_break_command.

Referenced by tree_print_code::print_fcn_handle_body(), tree::str_print_code(), jit_convert::visit(), tree_print_code::visit_argument_list(), tree_checker::visit_binary_expression(), tree_print_code::visit_binary_expression(), tree_checker::visit_colon_expression(), tree_print_code::visit_colon_expression(), tree_checker::visit_complex_for_command(), tree_print_code::visit_complex_for_command(), tree_checker::visit_decl_elt(), tree_print_code::visit_decl_elt(), tree_checker::visit_do_until_command(), tree_print_code::visit_do_until_command(), tree_checker::visit_if_clause(), tree_print_code::visit_if_clause(), tree_checker::visit_index_expression(), tree_print_code::visit_index_expression(), tree_checker::visit_multi_assignment(), tree_print_code::visit_multi_assignment(), tree_checker::visit_postfix_expression(), tree_print_code::visit_postfix_expression(), tree_checker::visit_prefix_expression(), tree_print_code::visit_prefix_expression(), tree_checker::visit_simple_assignment(), tree_print_code::visit_simple_assignment(), tree_checker::visit_simple_for_command(), tree_print_code::visit_simple_for_command(), tree_checker::visit_statement(), tree_evaluator::visit_statement(), tree_breakpoint::visit_statement(), tree_print_code::visit_statement(), tree_checker::visit_switch_case(), tree_print_code::visit_switch_case(), tree_checker::visit_switch_command(), tree_print_code::visit_switch_command(), tree_checker::visit_while_command(), and tree_print_code::visit_while_command().

virtual int tree::column ( void  ) const
inlinevirtualinherited
void tree::column ( int  c)
inlineinherited

Definition at line 51 of file pt.h.

virtual void tree_expression::copy_base ( const tree_expression e)
inlinevirtual
virtual void tree::delete_breakpoint ( void  )
inlinevirtualinherited

Reimplemented in tree_statement.

Definition at line 61 of file pt.h.

Referenced by tree_statement::delete_breakpoint(), and tree_breakpoint::take_action().

virtual tree_expression* tree_expression::dup ( symbol_table::scope_id  ,
symbol_table::context_id  context 
) const
pure virtual
virtual bool tree_expression::has_magic_end ( void  ) const
pure virtual
virtual bool tree_expression::is_assignment_expression ( void  ) const
inlinevirtual

Reimplemented in tree_multi_assignment, and tree_simple_assignment.

Definition at line 63 of file pt-exp.h.

Referenced by tree_evaluator::visit_statement(), and jit_convert::visit_statement().

virtual bool tree_expression::is_binary_expression ( void  ) const
inlinevirtual

Reimplemented in tree_binary_expression.

Definition at line 69 of file pt-exp.h.

virtual bool tree_expression::is_boolean_expression ( void  ) const
inlinevirtual

Reimplemented in tree_boolean_expression.

Definition at line 71 of file pt-exp.h.

bool tree::is_breakpoint ( void  ) const
inlineinherited
virtual bool tree_expression::is_cell ( void  ) const
inlinevirtual

Reimplemented in tree_cell.

Definition at line 57 of file pt-exp.h.

virtual bool tree_expression::is_constant ( void  ) const
inlinevirtual

Reimplemented in tree_constant.

Definition at line 53 of file pt-exp.h.

Referenced by tree_argument_list::all_elements_are_constant(), and octave_fcn_binder::maybe_binder().

virtual bool tree_expression::is_identifier ( void  ) const
inlinevirtual
virtual bool tree_expression::is_index_expression ( void  ) const
inlinevirtual
bool tree_expression::is_logically_true ( const char warn_for)
virtual
virtual bool tree_expression::is_matrix ( void  ) const
inlinevirtual

Reimplemented in tree_matrix.

Definition at line 55 of file pt-exp.h.

bool tree_expression::is_postfix_indexed ( void  ) const
inline

Definition at line 90 of file pt-exp.h.

Referenced by tree_identifier::rvalue().

virtual bool tree_expression::is_prefix_expression ( void  ) const
inlinevirtual

Definition at line 65 of file pt-exp.h.

virtual bool tree_expression::is_unary_expression ( void  ) const
inlinevirtual

Reimplemented in tree_unary_expression.

Definition at line 67 of file pt-exp.h.

Referenced by strip_not(), and strip_trans_herm().

virtual int tree::line ( void  ) const
inlinevirtualinherited

Reimplemented in tree_colon_expression, and tree_statement.

Definition at line 45 of file pt.h.

Referenced by tree_breakpoint::do_decl_command(), tree_try_catch_command::dup(), tree_while_command::dup(), tree_binary_expression::dup(), tree_prefix_expression::dup(), tree_unwind_protect_command::dup(), tree_anon_fcn_handle::dup(), tree_if_command::dup(), tree_postfix_expression::dup(), tree_do_until_command::dup(), tree_boolean_expression::dup(), tree_global_command::dup(), tree_simple_for_command::dup(), tree_persistent_command::dup(), tree_switch_command::dup(), tree_complex_for_command::dup(), tree_identifier::eval_undefined_error(), tree_statement::line(), tree_colon_expression::line(), tree_breakpoint::take_action(), tree_checker::visit_argument_list(), tree_breakpoint::visit_break_command(), tree_checker::visit_complex_for_command(), tree_breakpoint::visit_complex_for_command(), tree_breakpoint::visit_continue_command(), tree_breakpoint::visit_do_until_command(), tree_evaluator::visit_if_command_list(), tree_breakpoint::visit_if_command_list(), tree_breakpoint::visit_no_op_command(), tree_breakpoint::visit_return_command(), tree_checker::visit_simple_assignment(), tree_checker::visit_simple_for_command(), tree_evaluator::visit_simple_for_command(), tree_breakpoint::visit_simple_for_command(), tree_breakpoint::visit_switch_case_list(), tree_evaluator::visit_switch_command(), tree_breakpoint::visit_switch_command(), tree_checker::visit_try_catch_command(), and tree_breakpoint::visit_while_command().

void tree::line ( int  l)
inlineinherited

Definition at line 49 of file pt.h.

octave_lvalue tree_expression::lvalue ( void  )
virtual
virtual bool tree_expression::lvalue_ok ( void  ) const
inlinevirtual
virtual void tree_expression::mark_braindead_shortcircuit ( const std::string &  )
inlinevirtual

Reimplemented in tree_binary_expression.

Definition at line 103 of file pt-exp.h.

tree_expression* tree_expression::mark_in_parens ( void  )
inline

Definition at line 105 of file pt-exp.h.

tree_expression* tree_expression::mark_postfix_indexed ( void  )
inline

Definition at line 111 of file pt-exp.h.

virtual std::string tree_expression::name ( void  ) const
inlinevirtual
virtual std::string tree_expression::oper ( void  ) const
inlinevirtual
tree_expression& tree_expression::operator= ( const tree_expression )
private
std::string tree_expression::original_text ( void  ) const
virtual

Reimplemented in tree_constant.

Definition at line 85 of file pt-exp.cc.

int tree_expression::paren_count ( void  ) const
inline
bool tree_expression::print_result ( void  ) const
inline
octave_value_list tree_expression::rvalue ( int  nargout)
virtual
octave_value_list tree_expression::rvalue ( int  nargout,
const std::list< octave_lvalue > *  lvalue_list 
)
virtual

Reimplemented in tree_identifier, and tree_index_expression.

Definition at line 72 of file pt-exp.cc.

References rvalue().

octave_value tree_expression::rvalue1 ( int  nargout = 1)
virtual
virtual bool tree_expression::rvalue_ok ( void  ) const
inlinevirtual
virtual void tree::set_breakpoint ( void  )
inlinevirtualinherited

Reimplemented in tree_statement.

Definition at line 59 of file pt.h.

Referenced by tree_statement::set_breakpoint(), and tree_breakpoint::take_action().

void tree::set_location ( int  l,
int  c 
)
inlineinherited

Reimplemented in tree_statement.

Definition at line 53 of file pt.h.

Referenced by tree_statement::set_location().

tree_expression* tree_expression::set_print_flag ( bool  print)
inline

Definition at line 117 of file pt-exp.h.

Referenced by tree_statement::set_print_flag().

std::string tree::str_print_code ( void  )
inherited

Definition at line 39 of file pt.cc.

References tree::accept().

Referenced by jit_info::compile(), and tree_argument_list::get_arg_names().

Member Data Documentation

int tree_expression::num_parens
protected

Definition at line 138 of file pt-exp.h.

Referenced by copy_base().

bool tree_expression::postfix_indexed
protected

Definition at line 142 of file pt-exp.h.

Referenced by copy_base().

bool tree_expression::print_flag
protected

Definition at line 145 of file pt-exp.h.

Referenced by copy_base().


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