summaryrefslogtreecommitdiff
path: root/numpy/f2py/lib/parser/pattern_tools.py
diff options
context:
space:
mode:
authorPearu Peterson <pearu.peterson@gmail.com>2006-10-23 22:41:47 +0000
committerPearu Peterson <pearu.peterson@gmail.com>2006-10-23 22:41:47 +0000
commit4ea6483ccf7c9568dc8a487114590be9e4771fb4 (patch)
tree201339fa0a83c9bfd3b31eb81706fbb6c4b0e510 /numpy/f2py/lib/parser/pattern_tools.py
parentb98a6d71088106d422994687c871cf51389cde39 (diff)
downloadnumpy-4ea6483ccf7c9568dc8a487114590be9e4771fb4.tar.gz
F2PY G3: Cont implementing Fortran expression parser, almost finished.
Diffstat (limited to 'numpy/f2py/lib/parser/pattern_tools.py')
-rw-r--r--numpy/f2py/lib/parser/pattern_tools.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/numpy/f2py/lib/parser/pattern_tools.py b/numpy/f2py/lib/parser/pattern_tools.py
index 0c08eab95..156a8f574 100644
--- a/numpy/f2py/lib/parser/pattern_tools.py
+++ b/numpy/f2py/lib/parser/pattern_tools.py
@@ -209,8 +209,8 @@ kind_param_named = kind_param.named('kind-param')
signed_digit_string = ~sign + digit_string
int_literal_constant = digit_string + ~('_' + kind_param)
signed_int_literal_constant = ~sign + int_literal_constant
-
int_literal_constant_named = digit_string.named('value') + ~ ('_' + kind_param_named)
+signed_int_literal_constant_named = (~sign + digit_string).named('value') + ~ ('_' + kind_param_named)
binary_constant = ('B' + ("'" & binary_digit_string & "'" | '"' & binary_digit_string & '"')).flags(re.I)
octal_constant = ('O' + ("'" & octal_digit_string & "'" | '"' & octal_digit_string & '"')).flags(re.I)
@@ -223,6 +223,8 @@ real_literal_constant = significand + ~(exponent_letter + exponent) + ~ ('_' + k
digit_string + exponent_letter + exponent + ~ ('_' + kind_param)
real_literal_constant_named = (significand + ~(exponent_letter + exponent) |\
digit_string + exponent_letter + exponent).named('value') + ~ ('_' + kind_param_named)
+signed_real_literal_constant_named = (~sign + (significand + ~(exponent_letter + exponent) |\
+ digit_string + exponent_letter + exponent)).named('value') + ~ ('_' + kind_param_named)
signed_real_literal_constant = ~sign + real_literal_constant
named_constant = name
@@ -262,6 +264,7 @@ defined_binary_op = Pattern('<defined-binary-op>','[.][A-Z]+[.]',flags=re.I)
defined_operator = defined_unary_op | defined_binary_op | extended_intrinsic_operator
label = Pattern('<label>','\d{1,5}')
+abs_label = abs(label)
keyword = name
keyword_equal = keyword + '='
@@ -269,8 +272,12 @@ keyword_equal = keyword + '='
abs_constant = abs(constant)
abs_literal_constant = abs(literal_constant)
abs_int_literal_constant = abs(int_literal_constant)
+abs_signed_int_literal_constant = abs(signed_int_literal_constant)
+abs_signed_int_literal_constant_named = abs(signed_int_literal_constant_named)
abs_int_literal_constant_named = abs(int_literal_constant_named)
abs_real_literal_constant = abs(real_literal_constant)
+abs_signed_real_literal_constant = abs(signed_real_literal_constant)
+abs_signed_real_literal_constant_named = abs(signed_real_literal_constant_named)
abs_real_literal_constant_named = abs(real_literal_constant_named)
abs_complex_literal_constant = abs(complex_literal_constant)
abs_logical_literal_constant = abs(logical_literal_constant)