class REG_EXP < $BINARY
****

________This_class_provides_POSIX-style_string_pattern_matching,_used,_for
___example,_when_matching_file_names_in_path_searching.___It_provides_a_match
___operation_to_find_out_if_a_test_string_matches_the_extended_regular
___expression.

________An_extended_regular_expression_consists_of_one_or_more_of_the
___following_kinds_of_components_:--

________a.___Collating_Elements_--_any_single_character_that_is_not
________a_meta-character
________b.___Duplication_count_--_a_numeric_constant
________c.___Meta-characters_--__^_-_]
________d.___Left_Anchor_--_^_meaning_the_beginning_of_the_expression
________e.___Ordinary_characters
________f.___Quoted_characters_--_escaped_(using_a_reverse_solidus)_^.*[$\
________g.___Right_Anchor_--_$_meaning_the_end_of_the_expression.
________h.___Special_Characters_--_.\[^$*()|?{+
__________The_syntax_of_extended_regular_expressions_is_defined_in_the_POSIX
___standard_ISO/IEC_9945-2:1995_to_which_reference_should_be_made_in
___understanding_the_following_code.


Ancestors
$BINARY



Public


Features
binstr : BINSTR
build( index : BIN_CURSOR ) : SAME
create(str : BINSTR) : SAME .. Included as create
create( inout str : STR ) : SAME
****
________This_routine_creates_a_new_regular_expression_pattern_object_unless
___an_error_has_been_detected,_when_void_is_returned_and_the_parameter_set
___to_contain_the_error_message.
make_reg_exp( str_index : STR_CURSOR, recursive_call : BOOL ) : SAME
****
________This_routine_creates_a_new_regular_expression.__Its_primary_purpose
___is_to_handle_expression_alternatives_and_recursive_calling!__Note_that
___it_is_not_necessary_to_provide_a_value_for_pattern_in_this_routine.
matches( test_str : STR ) : BOOL
****
__________This_predicate_converts_the_test_string_to_be_the_same_encodings
___as_the_expression_pattern_if_needed,_before_creating_a_string_cursor_and
___invoking_the_above_matching_routine.
matches( test_cursor : STR_CURSOR ) : BOOL
****
__________This_predicate_returns_true_iff_the_regular_expression_matches
___the_test_cursor,_starting_at_the_current_buffer_position.
read(index : BIN_CURSOR) : SAME .. Included as read
write(fyle : BIN_FILE) .. Included as write


Private

attr expr : FLIST{EXT_REG_EXP} ;
**** all alternatives!
attr expr : FLIST{EXT_REG_EXP} ;
**** all alternatives!
attr pattern : STR ;
**** retained for output to file
attr pattern : STR ;
**** retained for output to file

The Sather Home Page