mirror of
https://gitlab.gnome.org/GNOME/libxslt
synced 2025-07-29 15:41:13 +03:00
enhanced documentation to include exslt; rebuilt docs
* doc/Makefile.am doc/site.xsl doc/api.xsl doc/newapi.xsl doc/xslt.html doc/apibuild.py doc/EXSLT doc/EXSLT/exslt.html: enhanced documentation to include exslt; rebuilt docs
This commit is contained in:
@ -17,9 +17,16 @@ debug=0
|
||||
# C parser analysis code
|
||||
#
|
||||
ignored_files = {
|
||||
"trio": "too many non standard macros",
|
||||
"trio.c": "too many non standard macros",
|
||||
"trionan.c": "too many non standard macros",
|
||||
"triostr.c": "too many non standard macros",
|
||||
"acconfig.h": "generated portability layer",
|
||||
"config.h": "generated portability layer",
|
||||
"trio": "too many non standard macros",
|
||||
"libxml.h": "internal only",
|
||||
"testOOM.c": "out of memory tester",
|
||||
"testOOMlib.h": "out of memory tester",
|
||||
"testOOMlib.c": "out of memory tester",
|
||||
}
|
||||
|
||||
ignored_words = {
|
||||
@ -504,10 +511,17 @@ class CParser:
|
||||
self.last_comment = ""
|
||||
self.comment = None
|
||||
self.collect_ref = 0
|
||||
self.no_error = 0
|
||||
|
||||
def collect_references(self):
|
||||
self.collect_ref = 1
|
||||
|
||||
def stop_error(self):
|
||||
self.no_error = 1
|
||||
|
||||
def start_error(self):
|
||||
self.no_error = 0
|
||||
|
||||
def lineno(self):
|
||||
return self.lexer.getlineno()
|
||||
|
||||
@ -520,7 +534,15 @@ class CParser:
|
||||
self.index.add_ref(name, module, static, type, self.lineno(),
|
||||
info, extra)
|
||||
|
||||
def warning(self, msg):
|
||||
if self.no_error:
|
||||
return
|
||||
print msg
|
||||
|
||||
def error(self, msg, token=-1):
|
||||
if self.no_error:
|
||||
return
|
||||
|
||||
print "Parse Error: " + msg
|
||||
if token != -1:
|
||||
print "Got token ", token
|
||||
@ -569,6 +591,13 @@ class CParser:
|
||||
else:
|
||||
self.comment = self.comment + token[1]
|
||||
token = self.lexer.token()
|
||||
|
||||
if string.find(self.comment, "DOC_DISABLE") != -1:
|
||||
self.stop_error()
|
||||
|
||||
if string.find(self.comment, "DOC_ENABLE") != -1:
|
||||
self.start_error()
|
||||
|
||||
return token
|
||||
|
||||
#
|
||||
@ -583,19 +612,19 @@ class CParser:
|
||||
|
||||
if self.comment == None:
|
||||
if not quiet:
|
||||
print "Missing comment for macro %s" % (name)
|
||||
self.warning("Missing comment for macro %s" % (name))
|
||||
return((args, desc))
|
||||
if self.comment[0] != '*':
|
||||
if not quiet:
|
||||
print "Missing * in macro comment for %s" % (name)
|
||||
self.warning("Missing * in macro comment for %s" % (name))
|
||||
return((args, desc))
|
||||
lines = string.split(self.comment, '\n')
|
||||
if lines[0] == '*':
|
||||
del lines[0]
|
||||
if lines[0] != "* %s:" % (name):
|
||||
if not quiet:
|
||||
print "Misformatted macro comment for %s" % (name)
|
||||
print " Expecting '* %s:' got '%s'" % (name, lines[0])
|
||||
self.warning("Misformatted macro comment for %s" % (name))
|
||||
self.warning(" Expecting '* %s:' got '%s'" % (name, lines[0]))
|
||||
return((args, desc))
|
||||
del lines[0]
|
||||
while lines[0] == '*':
|
||||
@ -608,8 +637,8 @@ class CParser:
|
||||
arg=string.strip(arg)
|
||||
except:
|
||||
if not quiet:
|
||||
print "Misformatted macro comment for %s" % (name)
|
||||
print " problem with '%s'" % (lines[0])
|
||||
self.warning("Misformatted macro comment for %s" % (name))
|
||||
self.warning(" problem with '%s'" % (lines[0]))
|
||||
del lines[0]
|
||||
continue
|
||||
del lines[0]
|
||||
@ -638,7 +667,7 @@ class CParser:
|
||||
|
||||
if quiet == 0:
|
||||
if desc == "":
|
||||
print "Macro comment for %s lack description of the macro" % (name)
|
||||
self.warning("Macro comment for %s lack description of the macro" % (name))
|
||||
|
||||
return((args, desc))
|
||||
|
||||
@ -659,19 +688,19 @@ class CParser:
|
||||
|
||||
if self.comment == None:
|
||||
if not quiet:
|
||||
print "Missing comment for function %s" % (name)
|
||||
self.warning("Missing comment for function %s" % (name))
|
||||
return(((ret[0], retdesc), args, desc))
|
||||
if self.comment[0] != '*':
|
||||
if not quiet:
|
||||
print "Missing * in function comment for %s" % (name)
|
||||
self.warning("Missing * in function comment for %s" % (name))
|
||||
return(((ret[0], retdesc), args, desc))
|
||||
lines = string.split(self.comment, '\n')
|
||||
if lines[0] == '*':
|
||||
del lines[0]
|
||||
if lines[0] != "* %s:" % (name):
|
||||
if not quiet:
|
||||
print "Misformatted function comment for %s" % (name)
|
||||
print " Expecting '* %s:' got '%s'" % (name, lines[0])
|
||||
self.warning("Misformatted function comment for %s" % (name))
|
||||
self.warning(" Expecting '* %s:' got '%s'" % (name, lines[0]))
|
||||
return(((ret[0], retdesc), args, desc))
|
||||
del lines[0]
|
||||
while lines[0] == '*':
|
||||
@ -685,8 +714,8 @@ class CParser:
|
||||
arg=string.strip(arg)
|
||||
except:
|
||||
if not quiet:
|
||||
print "Misformatted function comment for %s" % (name)
|
||||
print " problem with '%s'" % (lines[0])
|
||||
self.warning("Misformatted function comment for %s" % (name))
|
||||
self.warning(" problem with '%s'" % (lines[0]))
|
||||
del lines[0]
|
||||
continue
|
||||
del lines[0]
|
||||
@ -707,8 +736,8 @@ class CParser:
|
||||
i = i + 1
|
||||
if i >= nbargs:
|
||||
if not quiet:
|
||||
print "Unable to find arg %s from function comment for %s" % (
|
||||
arg, name)
|
||||
self.warning("Unable to find arg %s from function comment for %s" % (
|
||||
arg, name))
|
||||
while len(lines) > 0 and lines[0] == '*':
|
||||
del lines[0]
|
||||
desc = ""
|
||||
@ -745,12 +774,12 @@ class CParser:
|
||||
i = 0
|
||||
while i < nbargs:
|
||||
if args[i][2] == None and args[i][0] != "void" and args[i][1] != None:
|
||||
print "Function comment for %s lack description of arg %s" % (name, args[i][1])
|
||||
self.warning("Function comment for %s lack description of arg %s" % (name, args[i][1]))
|
||||
i = i + 1
|
||||
if retdesc == "" and ret[0] != "void":
|
||||
print "Function comment for %s lack description of return value" % (name)
|
||||
self.warning("Function comment for %s lack description of return value" % (name))
|
||||
if desc == "":
|
||||
print "Function comment for %s lack description of the function" % (name)
|
||||
self.warning("Function comment for %s lack description of the function" % (name))
|
||||
|
||||
|
||||
return(((ret[0], retdesc), args, desc))
|
||||
@ -1007,7 +1036,7 @@ class CParser:
|
||||
try:
|
||||
value = "%d" % (int(value) + 1)
|
||||
except:
|
||||
print "Failed to compute value of enum %s" % (name)
|
||||
self.warning("Failed to compute value of enum %s" % (name))
|
||||
value=""
|
||||
if token[0] == "sep" and token[1] == ",":
|
||||
token = self.token()
|
||||
@ -1355,7 +1384,7 @@ class CParser:
|
||||
return token
|
||||
|
||||
def parse(self):
|
||||
print "Parsing %s" % (self.filename)
|
||||
self.warning("Parsing %s" % (self.filename))
|
||||
token = self.token()
|
||||
while token != None:
|
||||
if token[0] == 'name':
|
||||
@ -1764,6 +1793,8 @@ class docBuilder:
|
||||
if letter != None:
|
||||
output.write(" </letter>\n")
|
||||
output.write(" </chunk>\n")
|
||||
if count != 0:
|
||||
chunks.append(["chunk%s" % (chunk -1), first_letter, letter])
|
||||
output.write(" <chunks>\n")
|
||||
for ch in chunks:
|
||||
output.write(" <chunk name='%s' start='%s' end='%s'/>\n" % (
|
||||
@ -1790,8 +1821,8 @@ class docBuilder:
|
||||
self.serialize_xrefs_index(output)
|
||||
output.write(" </index>\n")
|
||||
|
||||
def serialize(self):
|
||||
filename = "%s-api.xml" % self.name
|
||||
def serialize(self, outdir):
|
||||
filename = outdir + "%s-api.xml" % self.name
|
||||
print "Saving XML description %s" % (filename)
|
||||
output = open(filename, "w")
|
||||
output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
|
||||
@ -1827,7 +1858,7 @@ class docBuilder:
|
||||
output.write("</api>\n")
|
||||
output.close()
|
||||
|
||||
filename = "%s-refs.xml" % self.name
|
||||
filename = outdir + "%s-refs.xml" % self.name
|
||||
print "Saving XML Cross References %s" % (filename)
|
||||
output = open(filename, "w")
|
||||
output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
|
||||
@ -1856,12 +1887,12 @@ def rebuild():
|
||||
return None
|
||||
builder.scan()
|
||||
builder.analyze()
|
||||
builder.serialize()
|
||||
builder.serialize("./")
|
||||
if glob.glob("../libexslt/exslt.c") != [] :
|
||||
extra = docBuilder("libexslt", ["../libexslt"], ["libexslt.h"])
|
||||
extra.scan()
|
||||
extra.analyze()
|
||||
extra.serialize()
|
||||
extra.serialize("EXSLT/")
|
||||
return builder
|
||||
|
||||
#
|
||||
|
Reference in New Issue
Block a user