pearu / f2py

Automatically exported from code.google.com/p/f2py
Other
55 stars 39 forks source link

[patch] Look for ForAllStmt before ForAllConstruct #37

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
This patch ensures that the parser looks for ForAllStmt before ForAllConstruct, 
since after fixing the typo reported in Issue 34, forall constructs match the 
regular expression used for finding forall statements, but then cause an 
AnalyzeError since for a forall statement there is not matching EndForall.

diff -r 732d6b540026 -r be4de39a1147 fparser/block_statements.py
--- a/fparser/block_statements.py       Fri Jan 27 14:29:58 2012 +0000
+++ b/fparser/block_statements.py       Fri Jan 27 14:31:54 2012 +0000
@@ -1249,8 +1249,8 @@
 # GeneralAssignment = Assignment + PointerAssignment
 # EndFunction, EndProgram, EndSubroutine - part of the corresponding blocks

-executable_construct = [ Associate, Do, ForallConstruct, IfThen,
-    Select, WhereConstruct ] + action_stmt
+executable_construct = ([ Associate, Do, IfThen, Select, WhereConstruct ] +
+                        action_stmt + [ ForallConstruct ])
 #Case, see Select

 execution_part_construct = executable_construct + [ Format, Entry,

Original issue reported on code.google.com by james.ke...@gmail.com on 27 Jan 2012 at 2:46