basix_doc 0.1
/Users/mourrain/Devel/mmx/basix/src/mmx_lexer.cpp File Reference

Go to the source code of this file.

Namespaces

Defines

Functions


Define Documentation

#define ADD_POS (   z)    { pos += z; }

Definition at line 39 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

#define begin_line   (obj->lex_begin_line)

Definition at line 33 of file mmx_lexer.cpp.

#define file   (obj->lex_file_name)

Definition at line 35 of file mmx_lexer.cpp.

#define INC_LINE   { pos++; line++; begin_line = pos; }

Definition at line 40 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

#define INC_POS   { pos++; }

Definition at line 38 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex(), and mmx::test_keyword().

#define input   (obj->lex_input_number)

Definition at line 36 of file mmx_lexer.cpp.

#define is_alpha (   c)
Value:
((((c)>='0') && ((c)<='9')) || \
   (((c)>='A') && ((c)<='Z')) || \
   (((c)>='a') && ((c)<='z')) || \
   (((c)=='_') || ((c)=='?') || ((c)=='$')))

Definition at line 58 of file mmx_lexer.cpp.

#define keyword (   c,
  k,
  code 
)    if ((s[pos]==c) && test_keyword(k,obj)) produce (code);

Definition at line 55 of file mmx_lexer.cpp.

#define line   (obj->lex_line)

Definition at line 29 of file mmx_lexer.cpp.

Referenced by mmx::get_file_source(), and mmx::underlined().

#define n   (obj->lex_length)

Definition at line 21 of file mmx_lexer.cpp.

Referenced by mmx::_mul_add(), implementation< vector_linear, V, vector_naive >::add(), mmx::aligned_size(), mmx::append(), composed_routine_rep::apply(), mmx::as_charp(), mmx::as_lisp(), mmx::as_math(), mmx::as_vector(), mmx::binary_map(), mmx::binary_map_optimized(), mmx::binary_map_scalar(), mmx::binary_test(), implementation< vector_linear, V, vector_naive >::cast(), mmx::composite_port(), mmx::cons(), mmx::copy(), implementation< vector_linear, V, vector_naive >::copy(), mmx::default_aligned_size(), solve_vector_lde_op::diff_op(), implementation< vector_linear, V, vector_naive >::div(), implementation< vector_linear, V, vector_naive >::equal(), mmx::escape(), implementation< vector_linear, V, vector_naive >::exact_eq(), mmx::exact_hash(), mmx::extract_mod(), mmx::fill(), mmx::fill_out(), mmx::find(), mmx::flatten(), implementation< vector_linear, V, vector_naive >::gtreq(), mmx::hash(), mmx::INDIRECT_IMPL_1(), implementation< vector_linear, V, vector_naive >::inn_prod(), mmx::insert(), mmx::inside_append(), implementation< vector_linear, V, vector_naive >::lesseq(), mmx::list_apply(), mmx::list_map(), mmx::list_map_n(), mmx::locase(), mmx::map(), mmx::mem_copy(), mmx::mmx_classical_delete(), mmx::mmx_classical_new(), mmx::mmx_delete(), mmx::mmx_lex(), mmx::mmx_new(), implementation< vector_linear, V, vector_naive >::mul(), implementation< vector_linear, V, vector_naive >::mul_add(), implementation< vector_linear, V, vector_naive >::neg(), mmx::next_power_of_three(), mmx::next_power_of_two(), mmx::nullary_set(), vector< C, V >::operator<<(), mmx::path_name(), implementation< vector_linear, V, vector_naive >::print(), implementation< vector_linear, V, vector_naive >::quo(), mmx::range(), mmx::raw_read(), mmx::raw_write(), input_output_string_port_rep::read(), input_string_port_rep::read(), file_port_rep::read(), binary_helper< vector< C, V > >::read(), binary_helper< table< C, T, V > >::read(), binary_helper< sparse_vector< C, T, V > >::read(), posix_port_rep::read(), binary_helper< string >::read(), binary_helper< heap< C > >::read(), binary_helper< chain< C > >::read(), implementation< vector_linear, V, vector_naive >::rem(), mmx::remove(), mmx::REP_STRUCT_1(), mmx::REP_STRUCT_2(), mmx::repeated(), mmx::replace(), mmx::reverse(), mmx::scheme_to_tm(), socket_port_rep::send(), posix_port_rep::send(), implementation< vector_linear, V, vector_naive >::set(), implementation< vector_linear, V, vector_naive >::set_as(), mmx::size(), mmx::sort(), mmx::store_interactive_source(), mmx::string_to_floating(), mmx::string_to_numeric(), implementation< vector_linear, V, vector_naive >::sub(), mmx::test_keyword(), mmx::threads_execute(), mmx::type_name(), mmx::unary_hash(), mmx::unary_map(), mmx::unary_set(), mmx::unary_set_scalar(), mmx::unescape(), mmx::upcase(), threshold_helper_1< C, uniform_threshold< n > >::val(), mmx::var_load(), implementation< vector_allocate, V, vector_naive >::vec_aligned_size(), vector< observer >::vector(), mmx::vector_map(), mmx::vector_map_1(), mmx::vector_map_2(), mmx::vector_map_n(), mmx::WRAP_BINARY_IMPL_1(), mmx::write(), formatting_port_rep::write(), file_port_rep::write(), and mmx::xgen_sub().

#define pos   (obj->lex_pos)
#define prev   (obj->lex_prev)

Definition at line 24 of file mmx_lexer.cpp.

#define prev_begin_line   (obj->lex_prev_begin_line)

Definition at line 32 of file mmx_lexer.cpp.

#define prev_line   (obj->lex_prev_line)

Definition at line 28 of file mmx_lexer.cpp.

#define produce (   code)
Value:
{ \
  *lval = lit(string (s + start, pos - start));         \
  source_insert (*lval, source_location (*lval, file, input,    \
                source_position(start, start_line, start - start_begin_line),\
                source_position(pos, line, pos - begin_line))); \
  return code; }

Definition at line 45 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

#define RESTORE_START   { pos = start; line = start_line; begin_line = start_begin_line; }

Definition at line 43 of file mmx_lexer.cpp.

Referenced by mmx::test_keyword().

#define s   (obj->lex_string)
Examples:
symbol_test.cpp.

Definition at line 20 of file mmx_lexer.cpp.

Referenced by implementation< vector_linear, V, vector_naive >::add(), mmx::add_indentation(), mmx::apply(), mmx::as_math(), mmx::as_texmacs(), mmx::attach_generic_binary_reader(), mmx::bit_size(), mmx::call_glue(), implementation< vector_linear, V, vector_naive >::cast(), implementation< vector_linear, V, vector_naive >::copy(), implementation< vector_linear, V, vector_naive >::div(), implementation< vector_linear, V, vector_naive >::double_add(), implementation< vector_linear, V, vector_naive >::double_copy(), mmx::ends(), implementation< vector_linear, V, vector_naive >::equal(), implementation< vector_linear, V, vector_naive >::exact_eq(), implementation< vector_linear, V, vector_naive >::gtreq(), implementation< vector_linear, V, vector_naive >::half_copy(), mmx::is_alpha(), implementation< vector_linear, V, vector_naive >::lesseq(), mmx::mmx_lex(), implementation< vector_linear, V, vector_naive >::mul(), implementation< vector_linear, V, vector_naive >::mul_add(), implementation< vector_linear, V, vector_naive >::neg(), mmx::new_type_id(), mmx::numeric_as_string(), long_int_lshift_op< C >::op(), long_int_rshift_op< C >::op(), long_int_rshift_op< C >::op_b(), mmx::parse_lisp(), implementation< vector_linear, V, vector_naive >::quo(), binary_helper< bool >::read(), mmx::recompose(), implementation< vector_linear, V, vector_naive >::rem(), mmx::save(), posix_port_rep::send(), mmx::serialize(), mmx::set_as(), mmx::signed_decompose(), mmx::source_error(), mmx::spaces(), mmx::starts(), mmx::string_as_mmx(), mmx::string_as_numeric(), implementation< vector_linear, V, vector_naive >::sub(), mmx::test_keyword(), mmx::texmacs_flush_commands(), mmx::tokenize(), implementation< vector_linear, V, vector_naive >::triple_copy(), mmx::unquote(), implementation< vector_abstractions_stride, V, vector_naive >::vec_unary_big_stride(), binary_helper< symbol< C, V > >::write(), binary_helper< syntactic >::write(), and binary_helper< document >::write().

#define SAVE_START   { start = pos; start_line = line; start_begin_line = begin_line; }

Definition at line 42 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

#define SET_PREV   { prev = pos; prev_line = line; prev_begin_line = begin_line; }

Definition at line 41 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

#define start   (obj->lex_start)
#define start_begin_line   (obj->lex_start_begin_line)

Definition at line 31 of file mmx_lexer.cpp.

#define start_line   (obj->lex_start_line)

Definition at line 27 of file mmx_lexer.cpp.

#define test (   c,
  code 
)    if ((pos<n) && (s[pos]==c)) { INC_POS; produce (code); }
Examples:
symbol_test.cpp.

Definition at line 52 of file mmx_lexer.cpp.

Referenced by mmx::mmx_lex().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines