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 | Public Attributes | Private Member Functions | List of all members
octave_parser Class Reference

#include "parse.h"

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

Public Member Functions

 octave_parser (void)
 octave_parser (FILE *file)
 octave_parser (const std::string &eval_string)
 octave_parser (octave_lexer &lxr)
 ~octave_parser (void)
tree_statement_listappend_statement_list (tree_statement_list *list, char sep, tree_statement *stmt, bool warn_missing_semi)
void bison_error (const char *s)
void end_error (const char *type, token::end_tok_type ettype, int l, int c)
bool end_token_ok (token *tok, token::end_tok_type expected)
tree_expressionfinish_array_list (tree_array_list *a)
tree_expressionfinish_cell (tree_cell *c)
tree_expressionfinish_colon_expression (tree_colon_expression *e)
tree_function_deffinish_function (tree_parameter_list *ret_list, octave_user_function *fcn, octave_comment_list *lc, int l, int c)
tree_if_commandfinish_if_command (token *if_tok, tree_if_command_list *list, token *end_tok, octave_comment_list *lc)
tree_expressionfinish_matrix (tree_matrix *m)
tree_switch_commandfinish_switch_command (token *switch_tok, tree_expression *expr, tree_switch_case_list *list, token *end_tok, octave_comment_list *lc)
octave_user_functionfrob_function (const std::string &fname, octave_user_function *fcn)
tree_anon_fcn_handlemake_anon_fcn_handle (tree_parameter_list *param_list, tree_statement *stmt)
tree_expressionmake_assign_op (int op, tree_argument_list *lhs, token *eq_tok, tree_expression *rhs)
tree_expressionmake_binary_op (int op, tree_expression *op1, token *tok_val, tree_expression *op2)
tree_expressionmake_boolean_op (int op, tree_expression *op1, token *tok_val, tree_expression *op2)
tree_commandmake_break_command (token *break_tok)
tree_constantmake_constant (int op, token *tok_val)
tree_commandmake_continue_command (token *continue_tok)
tree_decl_commandmake_decl_command (int tok, token *tok_val, tree_decl_init_list *lst)
tree_commandmake_do_until_command (token *until_tok, tree_statement_list *body, tree_expression *expr, octave_comment_list *lc)
tree_if_clausemake_elseif_clause (token *elseif_tok, tree_expression *expr, tree_statement_list *list, octave_comment_list *lc)
tree_statementmake_end (const std::string &type, bool eof, int l, int c)
tree_fcn_handlemake_fcn_handle (token *tok_val)
tree_commandmake_for_command (int tok_id, token *for_tok, tree_argument_list *lhs, tree_expression *expr, tree_expression *maxproc, tree_statement_list *body, token *end_tok, octave_comment_list *lc)
tree_index_expressionmake_index_expression (tree_expression *expr, tree_argument_list *args, char type)
tree_index_expressionmake_indirect_ref (tree_expression *expr, const std::string &)
tree_index_expressionmake_indirect_ref (tree_expression *expr, tree_expression *field)
tree_expressionmake_postfix_op (int op, tree_expression *op1, token *tok_val)
tree_expressionmake_prefix_op (int op, tree_expression *op1, token *tok_val)
tree_commandmake_return_command (token *return_tok)
void make_script (tree_statement_list *cmds, tree_statement *end_script)
template<class T >
tree_statementmake_statement (T *arg)
tree_statement_listmake_statement_list (tree_statement *stmt)
tree_switch_casemake_switch_case (token *case_tok, tree_expression *expr, tree_statement_list *list, octave_comment_list *lc)
tree_commandmake_try_command (token *try_tok, tree_statement_list *body, char catch_sep, tree_statement_list *cleanup, token *end_tok, octave_comment_list *lc, octave_comment_list *mc)
tree_commandmake_unwind_command (token *unwind_tok, tree_statement_list *body, tree_statement_list *cleanup, token *end_tok, octave_comment_list *lc, octave_comment_list *mc)
tree_commandmake_while_command (token *while_tok, tree_expression *expr, tree_statement_list *body, token *end_tok, octave_comment_list *lc)
void maybe_warn_assign_as_truth_value (tree_expression *expr)
void maybe_warn_missing_semi (tree_statement_list *)
void maybe_warn_variable_switch_label (tree_expression *expr)
void recover_from_parsing_function (void)
void reset (void)
int run (void)
tree_statement_listset_stmt_print_flag (tree_statement_list *, char, bool)
octave_user_functionstart_function (tree_parameter_list *param_list, tree_statement_list *body, tree_statement *end_function)
tree_if_command_liststart_if_command (tree_expression *expr, tree_statement_list *list)
bool validate_array_list (tree_expression *e)
tree_argument_listvalidate_matrix_for_assignment (tree_expression *e)

Public Attributes

bool autoloading
std::string curr_class_name
int curr_fcn_depth
bool endfunction_found
bool fcn_file_from_relative_lookup
std::vector
< symbol_table::scope_id
function_scopes
octave_base_lexerlexer
int max_fcn_depth
bool parsing_subfunctions
octave_functionprimary_fcn_ptr
symbol_table::scope_id primary_fcn_scope
tree_statement_liststmt_list
std::list< std::string > subfunction_names

Private Member Functions

 octave_parser (const octave_parser &)
octave_parseroperator= (const octave_parser &)

Detailed Description

Definition at line 403 of file parse.h.

Constructor & Destructor Documentation

octave_parser::octave_parser ( void  )
inline

Definition at line 408 of file parse.h.

octave_parser::octave_parser ( FILE *  file)
inline

Definition at line 412 of file parse.h.

octave_parser::octave_parser ( const std::string &  eval_string)
inline

Definition at line 416 of file parse.h.

octave_parser::octave_parser ( octave_lexer lxr)
inline

Definition at line 420 of file parse.h.

octave_parser::~octave_parser ( void  )
inline

Definition at line 424 of file parse.h.

octave_parser::octave_parser ( const octave_parser )
private

Member Function Documentation

tree_statement_list* octave_base_parser::append_statement_list ( tree_statement_list list,
char  sep,
tree_statement stmt,
bool  warn_missing_semi 
)
inherited
void octave_base_parser::bison_error ( const char s)
inherited
void octave_base_parser::end_error ( const char type,
token::end_tok_type  ettype,
int  l,
int  c 
)
inherited
bool octave_base_parser::end_token_ok ( token tok,
token::end_tok_type  expected 
)
inherited
tree_expression* octave_base_parser::finish_array_list ( tree_array_list a)
inherited
tree_expression* octave_base_parser::finish_cell ( tree_cell c)
inherited
tree_expression* octave_base_parser::finish_colon_expression ( tree_colon_expression e)
inherited
tree_function_def* octave_base_parser::finish_function ( tree_parameter_list ret_list,
octave_user_function fcn,
octave_comment_list lc,
int  l,
int  c 
)
inherited
tree_if_command* octave_base_parser::finish_if_command ( token if_tok,
tree_if_command_list list,
token end_tok,
octave_comment_list lc 
)
inherited
tree_expression* octave_base_parser::finish_matrix ( tree_matrix m)
inherited
tree_switch_command* octave_base_parser::finish_switch_command ( token switch_tok,
tree_expression expr,
tree_switch_case_list list,
token end_tok,
octave_comment_list lc 
)
inherited
octave_user_function* octave_base_parser::frob_function ( const std::string &  fname,
octave_user_function fcn 
)
inherited
tree_anon_fcn_handle* octave_base_parser::make_anon_fcn_handle ( tree_parameter_list param_list,
tree_statement stmt 
)
inherited
tree_expression* octave_base_parser::make_assign_op ( int  op,
tree_argument_list lhs,
token eq_tok,
tree_expression rhs 
)
inherited
tree_expression* octave_base_parser::make_binary_op ( int  op,
tree_expression op1,
token tok_val,
tree_expression op2 
)
inherited
tree_expression* octave_base_parser::make_boolean_op ( int  op,
tree_expression op1,
token tok_val,
tree_expression op2 
)
inherited
tree_command* octave_base_parser::make_break_command ( token break_tok)
inherited
tree_constant* octave_base_parser::make_constant ( int  op,
token tok_val 
)
inherited
tree_command* octave_base_parser::make_continue_command ( token continue_tok)
inherited
tree_decl_command* octave_base_parser::make_decl_command ( int  tok,
token tok_val,
tree_decl_init_list lst 
)
inherited
tree_command* octave_base_parser::make_do_until_command ( token until_tok,
tree_statement_list body,
tree_expression expr,
octave_comment_list lc 
)
inherited
tree_if_clause* octave_base_parser::make_elseif_clause ( token elseif_tok,
tree_expression expr,
tree_statement_list list,
octave_comment_list lc 
)
inherited
tree_statement* octave_base_parser::make_end ( const std::string &  type,
bool  eof,
int  l,
int  c 
)
inherited
tree_fcn_handle* octave_base_parser::make_fcn_handle ( token tok_val)
inherited
tree_command* octave_base_parser::make_for_command ( int  tok_id,
token for_tok,
tree_argument_list lhs,
tree_expression expr,
tree_expression maxproc,
tree_statement_list body,
token end_tok,
octave_comment_list lc 
)
inherited
tree_index_expression* octave_base_parser::make_index_expression ( tree_expression expr,
tree_argument_list args,
char  type 
)
inherited
tree_index_expression* octave_base_parser::make_indirect_ref ( tree_expression expr,
const std::string &   
)
inherited
tree_index_expression* octave_base_parser::make_indirect_ref ( tree_expression expr,
tree_expression field 
)
inherited
tree_expression* octave_base_parser::make_postfix_op ( int  op,
tree_expression op1,
token tok_val 
)
inherited
tree_expression* octave_base_parser::make_prefix_op ( int  op,
tree_expression op1,
token tok_val 
)
inherited
tree_command* octave_base_parser::make_return_command ( token return_tok)
inherited
void octave_base_parser::make_script ( tree_statement_list cmds,
tree_statement end_script 
)
inherited
template<class T >
tree_statement* octave_base_parser::make_statement ( T *  arg)
inherited
tree_statement_list* octave_base_parser::make_statement_list ( tree_statement stmt)
inherited
tree_switch_case* octave_base_parser::make_switch_case ( token case_tok,
tree_expression expr,
tree_statement_list list,
octave_comment_list lc 
)
inherited
tree_command* octave_base_parser::make_try_command ( token try_tok,
tree_statement_list body,
char  catch_sep,
tree_statement_list cleanup,
token end_tok,
octave_comment_list lc,
octave_comment_list mc 
)
inherited
tree_command* octave_base_parser::make_unwind_command ( token unwind_tok,
tree_statement_list body,
tree_statement_list cleanup,
token end_tok,
octave_comment_list lc,
octave_comment_list mc 
)
inherited
tree_command* octave_base_parser::make_while_command ( token while_tok,
tree_expression expr,
tree_statement_list body,
token end_tok,
octave_comment_list lc 
)
inherited
void octave_base_parser::maybe_warn_assign_as_truth_value ( tree_expression expr)
inherited
void octave_base_parser::maybe_warn_missing_semi ( tree_statement_list )
inherited
void octave_base_parser::maybe_warn_variable_switch_label ( tree_expression expr)
inherited
octave_parser& octave_parser::operator= ( const octave_parser )
private
void octave_base_parser::recover_from_parsing_function ( void  )
inherited
void octave_base_parser::reset ( void  )
inherited

Referenced by get_debug_input(), and main_loop().

int octave_parser::run ( void  )

Referenced by get_debug_input(), and main_loop().

tree_statement_list* octave_base_parser::set_stmt_print_flag ( tree_statement_list ,
char  ,
bool   
)
inherited
octave_user_function* octave_base_parser::start_function ( tree_parameter_list param_list,
tree_statement_list body,
tree_statement end_function 
)
inherited
tree_if_command_list* octave_base_parser::start_if_command ( tree_expression expr,
tree_statement_list list 
)
inherited
bool octave_base_parser::validate_array_list ( tree_expression e)
inherited
tree_argument_list* octave_base_parser::validate_matrix_for_assignment ( tree_expression e)
inherited

Member Data Documentation

bool octave_base_parser::autoloading
inherited

Definition at line 346 of file parse.h.

std::string octave_base_parser::curr_class_name
inherited

Definition at line 373 of file parse.h.

int octave_base_parser::curr_fcn_depth
inherited

Definition at line 365 of file parse.h.

bool octave_base_parser::endfunction_found
inherited

Definition at line 343 of file parse.h.

bool octave_base_parser::fcn_file_from_relative_lookup
inherited

Definition at line 350 of file parse.h.

std::vector<symbol_table::scope_id> octave_base_parser::function_scopes
inherited

Definition at line 378 of file parse.h.

octave_base_lexer& octave_base_parser::lexer
inherited

Definition at line 392 of file parse.h.

Referenced by main_loop().

int octave_base_parser::max_fcn_depth
inherited

Definition at line 358 of file parse.h.

bool octave_base_parser::parsing_subfunctions
inherited

Definition at line 354 of file parse.h.

octave_function* octave_base_parser::primary_fcn_ptr
inherited

Definition at line 381 of file parse.h.

symbol_table::scope_id octave_base_parser::primary_fcn_scope
inherited

Definition at line 369 of file parse.h.

tree_statement_list* octave_base_parser::stmt_list
inherited

Definition at line 389 of file parse.h.

Referenced by get_debug_input(), and main_loop().

std::list<std::string> octave_base_parser::subfunction_names
inherited

Definition at line 386 of file parse.h.


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