@@ -157,7 +157,11 @@ it contains list of parameters.
157157
158158In the body, a special node :xml: `<specification> `, followed by a collection of statements can be found.
159159
160- The :xml: `<specification> ` contains a collection of :xml: `<declaraion> ` nodes.
160+ The :xml: `<specification> ` contains a collection of following nodes:
161+
162+ * :xml: `<declaraion> `
163+ * :xml: `<use> `
164+ * ...
161165
162166And, each of the statements listed after the specification, can be either compound or simple.
163167
@@ -175,6 +179,10 @@ It has :xml:`<lower-bound>`, :xml:`<upper-bound>` and :xml:`<step>`.
175179
176180In the header of :xml: `<if> `, an expression is present.
177181
182+ In the body of :xml: `<select> ` there multiple :xml: `<case> ` nodes.
183+ These are also compound (i.e. each of them has :xml: `<header> ` and :xml: `<body> `),
184+ however they exist only within the body of select statement.
185+
178186Expression might be a single node like:
179187
180188* :xml: `<name> `
@@ -212,6 +220,26 @@ Remaining details of AST are not decided yet. For the time being, to see impleme
212220please take a look into `<src/fortran/ofp/XMLPrinter.java >`_.
213221
214222
223+ Unhandled corner cases
224+ ~~~~~~~~~~~~~~~~~~~~~~
225+
226+ in certain corner cases, the parse tree might deviate from the above description.
227+
228+ This might be due to two main reasons:
229+
230+ 1) Some feature is not yet implemented in this XML output generator
231+ 2) The events provided by OFP are not sufficient to generate a correct tree.
232+
233+ In case 1, all contributions to this project are very welcome. The implementation of any one
234+ of the missing features might not be very troublesome. The main reason why many of those features
235+ are not implemented yet is because the Fortran codes the current contributors work with
236+ do not use them.
237+
238+ In case 2, there is a need to dynamically reorder/modify/delete nodes, or otherwise manipulate
239+ existing parse tree while adding new nodes. In such case contributions are also very welcome,
240+ but implementation might be much more challenging in such cases.
241+
242+
215243Python wrapper for the generator
216244================================
217245
0 commit comments