fparser.two.pattern_tools ========================= .. py:module:: fparser.two.pattern_tools .. autoapi-nested-parse:: Tools for constructing patterns. Permission to use, modify, and distribute this software is given under the terms of the NumPy License. See http://scipy.org. NO WARRANTY IS EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. Author: Pearu Peterson Created: Oct 2006 Attributes ---------- .. autoapisummary:: fparser.two.pattern_tools.dollar_ok fparser.two.pattern_tools.letter fparser.two.pattern_tools.name fparser.two.pattern_tools.file_name fparser.two.pattern_tools.macro_name fparser.two.pattern_tools.abs_macro_name fparser.two.pattern_tools.digit fparser.two.pattern_tools.underscore fparser.two.pattern_tools.binary_digit fparser.two.pattern_tools.octal_digit fparser.two.pattern_tools.hex_digit fparser.two.pattern_tools.digit_string fparser.two.pattern_tools.abs_digit_string fparser.two.pattern_tools.abs_digit_string_named fparser.two.pattern_tools.binary_digit_string fparser.two.pattern_tools.octal_digit_string fparser.two.pattern_tools.hex_digit_string fparser.two.pattern_tools.sign fparser.two.pattern_tools.exponent_letter fparser.two.pattern_tools.alphanumeric_character fparser.two.pattern_tools.special_character fparser.two.pattern_tools.character fparser.two.pattern_tools.kind_param fparser.two.pattern_tools.kind_param_named fparser.two.pattern_tools.signed_digit_string fparser.two.pattern_tools.int_literal_constant fparser.two.pattern_tools.signed_int_literal_constant fparser.two.pattern_tools.int_literal_constant_named fparser.two.pattern_tools.signed_int_literal_constant_named fparser.two.pattern_tools.binary_constant fparser.two.pattern_tools.octal_constant fparser.two.pattern_tools.hex_constant fparser.two.pattern_tools.boz_literal_constant fparser.two.pattern_tools.exponent fparser.two.pattern_tools.significand fparser.two.pattern_tools.real_literal_constant fparser.two.pattern_tools.real_literal_constant_named fparser.two.pattern_tools.signed_real_literal_constant_named fparser.two.pattern_tools.signed_real_literal_constant fparser.two.pattern_tools.named_constant fparser.two.pattern_tools.real_part fparser.two.pattern_tools.imag_part fparser.two.pattern_tools.complex_literal_constant fparser.two.pattern_tools.a_n_rep_char fparser.two.pattern_tools.rep_char fparser.two.pattern_tools.char_literal_constant fparser.two.pattern_tools.a_n_char_literal_constant_named1 fparser.two.pattern_tools.a_n_char_literal_constant_named2 fparser.two.pattern_tools.logical_literal_constant fparser.two.pattern_tools.logical_literal_constant_named fparser.two.pattern_tools.literal_constant fparser.two.pattern_tools.constant fparser.two.pattern_tools.int_constant fparser.two.pattern_tools.char_constant fparser.two.pattern_tools.part_ref fparser.two.pattern_tools.data_ref fparser.two.pattern_tools.primary fparser.two.pattern_tools.power_op fparser.two.pattern_tools.mult_op fparser.two.pattern_tools.add_op fparser.two.pattern_tools.concat_op fparser.two.pattern_tools.rel_op fparser.two.pattern_tools.not_op fparser.two.pattern_tools.and_op fparser.two.pattern_tools.or_op fparser.two.pattern_tools.equiv_op fparser.two.pattern_tools.percent_op fparser.two.pattern_tools.intrinsic_operator fparser.two.pattern_tools.extended_intrinsic_operator fparser.two.pattern_tools.defined_unary_op fparser.two.pattern_tools.defined_binary_op fparser.two.pattern_tools.defined_operator fparser.two.pattern_tools.abs_defined_operator fparser.two.pattern_tools.defined_op fparser.two.pattern_tools.abs_defined_op fparser.two.pattern_tools.non_defined_binary_op fparser.two.pattern_tools.label fparser.two.pattern_tools.abs_label fparser.two.pattern_tools.keyword fparser.two.pattern_tools.keyword_equal fparser.two.pattern_tools.abs_constant fparser.two.pattern_tools.abs_literal_constant fparser.two.pattern_tools.abs_int_literal_constant fparser.two.pattern_tools.abs_signed_int_literal_constant fparser.two.pattern_tools.abs_signed_int_literal_constant_named fparser.two.pattern_tools.abs_int_literal_constant_named fparser.two.pattern_tools.abs_real_literal_constant fparser.two.pattern_tools.abs_signed_real_literal_constant fparser.two.pattern_tools.abs_signed_real_literal_constant_named fparser.two.pattern_tools.abs_real_literal_constant_named fparser.two.pattern_tools.abs_complex_literal_constant fparser.two.pattern_tools.abs_logical_literal_constant fparser.two.pattern_tools.abs_char_literal_constant fparser.two.pattern_tools.abs_boz_literal_constant fparser.two.pattern_tools.abs_name fparser.two.pattern_tools.abs_a_n_char_literal_constant_named1 fparser.two.pattern_tools.abs_a_n_char_literal_constant_named2 fparser.two.pattern_tools.abs_logical_literal_constant_named fparser.two.pattern_tools.abs_binary_constant fparser.two.pattern_tools.abs_octal_constant fparser.two.pattern_tools.abs_hex_constant fparser.two.pattern_tools.intrinsic_type_name fparser.two.pattern_tools.abs_intrinsic_type_name fparser.two.pattern_tools.double_complex_name fparser.two.pattern_tools.double_precision_name fparser.two.pattern_tools.abs_double_complex_name fparser.two.pattern_tools.abs_double_precision_name fparser.two.pattern_tools.access_spec fparser.two.pattern_tools.abs_access_spec fparser.two.pattern_tools.implicit_none fparser.two.pattern_tools.abs_implicit_none fparser.two.pattern_tools.attr_spec fparser.two.pattern_tools.abs_attr_spec fparser.two.pattern_tools.attr_spec_f08 fparser.two.pattern_tools.abs_attr_spec_f08 fparser.two.pattern_tools.dimension fparser.two.pattern_tools.abs_dimension fparser.two.pattern_tools.intent fparser.two.pattern_tools.abs_intent fparser.two.pattern_tools.intent_spec fparser.two.pattern_tools.abs_intent_spec fparser.two.pattern_tools.function fparser.two.pattern_tools.subroutine fparser.two.pattern_tools.select_case fparser.two.pattern_tools.abs_select_case Classes ------- .. autoapisummary:: fparser.two.pattern_tools.Pattern Module Contents --------------- .. py:data:: dollar_ok :value: True .. py:class:: Pattern(label, pattern, optional=0, flags=0, value=None) :: p1 | p2 -> | p1 + p2 -> p1 & p2 -> ~p1 -> [ ] ~~p1 -> [ ]... ~~~p1 -> [ ]... ~~~~p1 -> ~~~p1 abs(p1) -> whole string match of p1.named(name) -> match of has name p1.match(string) -> return string match with p1.flags() p1.rsplit(..) -> split a string from the rightmost p1 occurrence p1.lsplit(..) -> split a string from the leftmost p1 occurrence .. py:attribute:: _special_symbol_map .. py:attribute:: label .. py:attribute:: pattern .. py:attribute:: optional :value: 0 .. py:attribute:: _flags :value: 0 .. py:attribute:: value :value: None .. py:method:: flags(*flags) .. py:method:: get_compiled() .. py:method:: match(string) .. py:method:: search(string) .. py:method:: rsplit(string, is_add=False) Return (, , ) where:: string = lhs + pattern_match + rhs and rhs does not contain pattern_match. If no pattern_match is found in string, return None. .. py:method:: lsplit(string) Return (, , ) where:: string = lhs + pattern_match + rhs and rhs does not contain pattern_match. If no pattern_match is found in string, return None. .. py:method:: __abs__() .. py:method:: __repr__() .. py:method:: __or__(other) .. py:method:: __and__(other) .. py:method:: __rand__(other) .. py:method:: __invert__() .. py:method:: __add__(other) .. py:method:: __radd__(other) .. py:method:: named(name=None) .. py:method:: rename(label) .. py:method:: __call__(string) .. py:data:: letter .. py:data:: name .. py:data:: file_name .. py:data:: macro_name .. py:data:: abs_macro_name .. py:data:: digit .. py:data:: underscore .. py:data:: binary_digit .. py:data:: octal_digit .. py:data:: hex_digit .. py:data:: digit_string .. py:data:: abs_digit_string .. py:data:: abs_digit_string_named .. py:data:: binary_digit_string .. py:data:: octal_digit_string .. py:data:: hex_digit_string .. py:data:: sign .. py:data:: exponent_letter .. py:data:: alphanumeric_character .. py:data:: special_character .. py:data:: character .. py:data:: kind_param .. py:data:: kind_param_named .. py:data:: signed_digit_string .. py:data:: int_literal_constant .. py:data:: signed_int_literal_constant .. py:data:: int_literal_constant_named .. py:data:: signed_int_literal_constant_named .. py:data:: binary_constant .. py:data:: octal_constant .. py:data:: hex_constant .. py:data:: boz_literal_constant .. py:data:: exponent .. py:data:: significand .. py:data:: real_literal_constant .. py:data:: real_literal_constant_named .. py:data:: signed_real_literal_constant_named .. py:data:: signed_real_literal_constant .. py:data:: named_constant .. py:data:: real_part .. py:data:: imag_part .. py:data:: complex_literal_constant .. py:data:: a_n_rep_char .. py:data:: rep_char .. py:data:: char_literal_constant .. py:data:: a_n_char_literal_constant_named1 .. py:data:: a_n_char_literal_constant_named2 .. py:data:: logical_literal_constant .. py:data:: logical_literal_constant_named .. py:data:: literal_constant .. py:data:: constant .. py:data:: int_constant .. py:data:: char_constant .. py:data:: part_ref .. py:data:: data_ref .. py:data:: primary .. py:data:: power_op .. py:data:: mult_op .. py:data:: add_op .. py:data:: concat_op .. py:data:: rel_op .. py:data:: not_op .. py:data:: and_op .. py:data:: or_op .. py:data:: equiv_op .. py:data:: percent_op .. py:data:: intrinsic_operator .. py:data:: extended_intrinsic_operator .. py:data:: defined_unary_op .. py:data:: defined_binary_op .. py:data:: defined_operator .. py:data:: abs_defined_operator .. py:data:: defined_op .. py:data:: abs_defined_op .. py:data:: non_defined_binary_op .. py:data:: label .. py:data:: abs_label .. py:data:: keyword .. py:data:: keyword_equal .. py:data:: abs_constant .. py:data:: abs_literal_constant .. py:data:: abs_int_literal_constant .. py:data:: abs_signed_int_literal_constant .. py:data:: abs_signed_int_literal_constant_named .. py:data:: abs_int_literal_constant_named .. py:data:: abs_real_literal_constant .. py:data:: abs_signed_real_literal_constant .. py:data:: abs_signed_real_literal_constant_named .. py:data:: abs_real_literal_constant_named .. py:data:: abs_complex_literal_constant .. py:data:: abs_logical_literal_constant .. py:data:: abs_char_literal_constant .. py:data:: abs_boz_literal_constant .. py:data:: abs_name .. py:data:: abs_a_n_char_literal_constant_named1 .. py:data:: abs_a_n_char_literal_constant_named2 .. py:data:: abs_logical_literal_constant_named .. py:data:: abs_binary_constant .. py:data:: abs_octal_constant .. py:data:: abs_hex_constant .. py:data:: intrinsic_type_name .. py:data:: abs_intrinsic_type_name .. py:data:: double_complex_name .. py:data:: double_precision_name .. py:data:: abs_double_complex_name .. py:data:: abs_double_precision_name .. py:data:: access_spec .. py:data:: abs_access_spec .. py:data:: implicit_none .. py:data:: abs_implicit_none .. py:data:: attr_spec .. py:data:: abs_attr_spec .. py:data:: attr_spec_f08 .. py:data:: abs_attr_spec_f08 .. py:data:: dimension .. py:data:: abs_dimension .. py:data:: intent .. py:data:: abs_intent .. py:data:: intent_spec .. py:data:: abs_intent_spec .. py:data:: function .. py:data:: subroutine .. py:data:: select_case .. py:data:: abs_select_case