fparser.two.pattern_tools

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 <pearu@cens.ioc.ee> Created: Oct 2006

Module Contents

Classes

Pattern

Attributes

dollar_ok

letter

name

file_name

macro_name

abs_macro_name

digit

underscore

binary_digit

octal_digit

hex_digit

digit_string

abs_digit_string

abs_digit_string_named

binary_digit_string

octal_digit_string

hex_digit_string

sign

exponent_letter

alphanumeric_character

special_character

character

kind_param

kind_param_named

signed_digit_string

int_literal_constant

signed_int_literal_constant

int_literal_constant_named

signed_int_literal_constant_named

binary_constant

octal_constant

hex_constant

boz_literal_constant

exponent

significand

real_literal_constant

real_literal_constant_named

signed_real_literal_constant_named

signed_real_literal_constant

named_constant

real_part

imag_part

complex_literal_constant

a_n_rep_char

rep_char

char_literal_constant

a_n_char_literal_constant_named1

a_n_char_literal_constant_named2

logical_literal_constant

logical_literal_constant_named

literal_constant

constant

int_constant

char_constant

part_ref

data_ref

primary

power_op

mult_op

add_op

concat_op

rel_op

not_op

and_op

or_op

equiv_op

percent_op

intrinsic_operator

extended_intrinsic_operator

defined_unary_op

defined_binary_op

defined_operator

abs_defined_operator

defined_op

abs_defined_op

non_defined_binary_op

label

abs_label

keyword

keyword_equal

abs_constant

abs_literal_constant

abs_int_literal_constant

abs_signed_int_literal_constant

abs_signed_int_literal_constant_named

abs_int_literal_constant_named

abs_real_literal_constant

abs_signed_real_literal_constant

abs_signed_real_literal_constant_named

abs_real_literal_constant_named

abs_complex_literal_constant

abs_logical_literal_constant

abs_char_literal_constant

abs_boz_literal_constant

abs_name

abs_a_n_char_literal_constant_named1

abs_a_n_char_literal_constant_named2

abs_logical_literal_constant_named

abs_binary_constant

abs_octal_constant

abs_hex_constant

intrinsic_type_name

abs_intrinsic_type_name

double_complex_name

double_precision_name

abs_double_complex_name

abs_double_precision_name

access_spec

abs_access_spec

implicit_none

abs_implicit_none

attr_spec

abs_attr_spec

attr_spec_f08

abs_attr_spec_f08

dimension

abs_dimension

intent

abs_intent

intent_spec

abs_intent_spec

function

subroutine

select_case

abs_select_case

fparser.two.pattern_tools.dollar_ok = True[source]
class fparser.two.pattern_tools.Pattern(label, pattern, optional=0, flags=0, value=None)[source]
p1 | p2    -> <p1> | <p2>
p1 + p2    -> <p1> <p2>
p1 & p2    -> <p1><p2>
~p1        -> [ <p1> ]
~~p1       -> [ <p1> ]...
~~~p1      -> <p1> [ <p1> ]...
~~~~p1     -> ~~~p1
abs(p1)    -> whole string match of <p1>
p1.named(name) -> match of <p1> has name
p1.match(string) -> return string match with <p1>
p1.flags(<re.I,..>)
p1.rsplit(..) -> split a string from the rightmost p1 occurrence
p1.lsplit(..) -> split a string from the leftmost p1 occurrence
_special_symbol_map[source]
flags(*flags)[source]
get_compiled()[source]
match(string)[source]
search(string)[source]
rsplit(string, is_add=False)[source]

Return (<lhs>, <pattern_match>, <rhs>) where:

string = lhs + pattern_match + rhs

and rhs does not contain pattern_match. If no pattern_match is found in string, return None.

lsplit(string)[source]

Return (<lhs>, <pattern_match>, <rhs>) where:

string = lhs + pattern_match + rhs

and rhs does not contain pattern_match. If no pattern_match is found in string, return None.

__abs__()[source]
__repr__()[source]

Return repr(self).

__or__(other)[source]
__and__(other)[source]
__rand__(other)[source]
__invert__()[source]
__add__(other)[source]
__radd__(other)[source]
named(name=None)[source]
rename(label)[source]
__call__(string)[source]
fparser.two.pattern_tools.letter[source]
fparser.two.pattern_tools.name[source]
fparser.two.pattern_tools.file_name[source]
fparser.two.pattern_tools.macro_name[source]
fparser.two.pattern_tools.abs_macro_name[source]
fparser.two.pattern_tools.digit[source]
fparser.two.pattern_tools.underscore[source]
fparser.two.pattern_tools.binary_digit[source]
fparser.two.pattern_tools.octal_digit[source]
fparser.two.pattern_tools.hex_digit[source]
fparser.two.pattern_tools.digit_string[source]
fparser.two.pattern_tools.abs_digit_string[source]
fparser.two.pattern_tools.abs_digit_string_named[source]
fparser.two.pattern_tools.binary_digit_string[source]
fparser.two.pattern_tools.octal_digit_string[source]
fparser.two.pattern_tools.hex_digit_string[source]
fparser.two.pattern_tools.sign[source]
fparser.two.pattern_tools.exponent_letter[source]
fparser.two.pattern_tools.alphanumeric_character[source]
fparser.two.pattern_tools.special_character[source]
fparser.two.pattern_tools.character[source]
fparser.two.pattern_tools.kind_param[source]
fparser.two.pattern_tools.kind_param_named[source]
fparser.two.pattern_tools.signed_digit_string[source]
fparser.two.pattern_tools.int_literal_constant[source]
fparser.two.pattern_tools.signed_int_literal_constant[source]
fparser.two.pattern_tools.int_literal_constant_named[source]
fparser.two.pattern_tools.signed_int_literal_constant_named[source]
fparser.two.pattern_tools.binary_constant[source]
fparser.two.pattern_tools.octal_constant[source]
fparser.two.pattern_tools.hex_constant[source]
fparser.two.pattern_tools.boz_literal_constant[source]
fparser.two.pattern_tools.exponent[source]
fparser.two.pattern_tools.significand[source]
fparser.two.pattern_tools.real_literal_constant[source]
fparser.two.pattern_tools.real_literal_constant_named[source]
fparser.two.pattern_tools.signed_real_literal_constant_named[source]
fparser.two.pattern_tools.signed_real_literal_constant[source]
fparser.two.pattern_tools.named_constant[source]
fparser.two.pattern_tools.real_part[source]
fparser.two.pattern_tools.imag_part[source]
fparser.two.pattern_tools.complex_literal_constant[source]
fparser.two.pattern_tools.a_n_rep_char[source]
fparser.two.pattern_tools.rep_char[source]
fparser.two.pattern_tools.char_literal_constant[source]
fparser.two.pattern_tools.a_n_char_literal_constant_named1[source]
fparser.two.pattern_tools.a_n_char_literal_constant_named2[source]
fparser.two.pattern_tools.logical_literal_constant[source]
fparser.two.pattern_tools.logical_literal_constant_named[source]
fparser.two.pattern_tools.literal_constant[source]
fparser.two.pattern_tools.constant[source]
fparser.two.pattern_tools.int_constant[source]
fparser.two.pattern_tools.char_constant[source]
fparser.two.pattern_tools.part_ref[source]
fparser.two.pattern_tools.data_ref[source]
fparser.two.pattern_tools.primary[source]
fparser.two.pattern_tools.power_op[source]
fparser.two.pattern_tools.mult_op[source]
fparser.two.pattern_tools.add_op[source]
fparser.two.pattern_tools.concat_op[source]
fparser.two.pattern_tools.rel_op[source]
fparser.two.pattern_tools.not_op[source]
fparser.two.pattern_tools.and_op[source]
fparser.two.pattern_tools.or_op[source]
fparser.two.pattern_tools.equiv_op[source]
fparser.two.pattern_tools.percent_op[source]
fparser.two.pattern_tools.intrinsic_operator[source]
fparser.two.pattern_tools.extended_intrinsic_operator[source]
fparser.two.pattern_tools.defined_unary_op[source]
fparser.two.pattern_tools.defined_binary_op[source]
fparser.two.pattern_tools.defined_operator[source]
fparser.two.pattern_tools.abs_defined_operator[source]
fparser.two.pattern_tools.defined_op[source]
fparser.two.pattern_tools.abs_defined_op[source]
fparser.two.pattern_tools.non_defined_binary_op[source]
fparser.two.pattern_tools.label[source]
fparser.two.pattern_tools.abs_label[source]
fparser.two.pattern_tools.keyword[source]
fparser.two.pattern_tools.keyword_equal[source]
fparser.two.pattern_tools.abs_constant[source]
fparser.two.pattern_tools.abs_literal_constant[source]
fparser.two.pattern_tools.abs_int_literal_constant[source]
fparser.two.pattern_tools.abs_signed_int_literal_constant[source]
fparser.two.pattern_tools.abs_signed_int_literal_constant_named[source]
fparser.two.pattern_tools.abs_int_literal_constant_named[source]
fparser.two.pattern_tools.abs_real_literal_constant[source]
fparser.two.pattern_tools.abs_signed_real_literal_constant[source]
fparser.two.pattern_tools.abs_signed_real_literal_constant_named[source]
fparser.two.pattern_tools.abs_real_literal_constant_named[source]
fparser.two.pattern_tools.abs_complex_literal_constant[source]
fparser.two.pattern_tools.abs_logical_literal_constant[source]
fparser.two.pattern_tools.abs_char_literal_constant[source]
fparser.two.pattern_tools.abs_boz_literal_constant[source]
fparser.two.pattern_tools.abs_name[source]
fparser.two.pattern_tools.abs_a_n_char_literal_constant_named1[source]
fparser.two.pattern_tools.abs_a_n_char_literal_constant_named2[source]
fparser.two.pattern_tools.abs_logical_literal_constant_named[source]
fparser.two.pattern_tools.abs_binary_constant[source]
fparser.two.pattern_tools.abs_octal_constant[source]
fparser.two.pattern_tools.abs_hex_constant[source]
fparser.two.pattern_tools.intrinsic_type_name[source]
fparser.two.pattern_tools.abs_intrinsic_type_name[source]
fparser.two.pattern_tools.double_complex_name[source]
fparser.two.pattern_tools.double_precision_name[source]
fparser.two.pattern_tools.abs_double_complex_name[source]
fparser.two.pattern_tools.abs_double_precision_name[source]
fparser.two.pattern_tools.access_spec[source]
fparser.two.pattern_tools.abs_access_spec[source]
fparser.two.pattern_tools.implicit_none[source]
fparser.two.pattern_tools.abs_implicit_none[source]
fparser.two.pattern_tools.attr_spec[source]
fparser.two.pattern_tools.abs_attr_spec[source]
fparser.two.pattern_tools.attr_spec_f08[source]
fparser.two.pattern_tools.abs_attr_spec_f08[source]
fparser.two.pattern_tools.dimension[source]
fparser.two.pattern_tools.abs_dimension[source]
fparser.two.pattern_tools.intent[source]
fparser.two.pattern_tools.abs_intent[source]
fparser.two.pattern_tools.intent_spec[source]
fparser.two.pattern_tools.abs_intent_spec[source]
fparser.two.pattern_tools.function[source]
fparser.two.pattern_tools.subroutine[source]
fparser.two.pattern_tools.select_case[source]
fparser.two.pattern_tools.abs_select_case[source]