#!/usr/bin/env python
+#
+# This file is part of libFirm.
+# Copyright (C) 2012 Karlsruhe Institute of Technology
import sys
-import re
import docutils.core
import docutils.writers.html4css1
from datetime import datetime
from jinja2 import Environment, Template
-from jinja2.filters import do_dictsort
-from spec_util import is_dynamic_pinned, verify_node, isAbstract, setdefault, trim_docstring
-from ir_spec import nodes
+from spec_util import isAbstract, load_spec
tags = None
linkbase = None
</dl>
{% set comma = joiner(", ") %}
<h5>Flags</h5>
+ {% if node.flags.__len__() > 0 %}
{% for flag in node.flags -%}
{{comma()}}{{flag|doxylink("irop_flag_" + flag)}}
{%- endfor %}
+ {% else %}
+ None
+ {% endif %}
<h5>{{"API"|doxygrouplink(node.name)}}</h5>
<hr/>
</div>
#############################
-def preprocess_node(node):
- node.doc = trim_docstring(node.__doc__)
-
-def prepare_nodes():
+def prepare_nodes(nodes):
real_nodes = []
for node in nodes:
- preprocess_node(node)
if isAbstract(node):
continue
real_nodes.append(node)
def main(argv):
global tags
output = sys.stdout
- if len(argv) > 1:
+ specfile = argv[1]
+ if len(argv) > 2:
output = open(argv[-1], "w")
- if len(argv) > 3:
+ if len(argv) > 4:
tagfile = open(argv[-3], "r")
global linkbase
linkbase = argv[-2]
except:
tags = None
- real_nodes = prepare_nodes()
+ spec = load_spec(specfile)
+ real_nodes = prepare_nodes(spec.nodes)
time = datetime.now().replace(microsecond=0).isoformat(' ')
output.write(docu_template.render(nodes=real_nodes, time=time))
if output != sys.stdout: