From 4ea6483ccf7c9568dc8a487114590be9e4771fb4 Mon Sep 17 00:00:00 2001 From: Pearu Peterson Date: Mon, 23 Oct 2006 22:41:47 +0000 Subject: F2PY G3: Cont implementing Fortran expression parser, almost finished. --- numpy/f2py/lib/parser/pattern_tools.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'numpy/f2py/lib/parser/pattern_tools.py') 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('','[.][A-Z]+[.]',flags=re.I) defined_operator = defined_unary_op | defined_binary_op | extended_intrinsic_operator label = Pattern('