Update literate-xsl

This makes changes necessary to new ref format (which includes arity).

* src/graph.xsl: @ref function arity added
* src/preproc/expand/expand-sequence.xsl: @ref function arity added
* tools/literate-xsl: Submodule updated
master
Mike Gerwitz 2016-07-14 09:13:24 -04:00
parent da9a16ae85
commit 1457d72221
3 changed files with 20 additions and 20 deletions

View File

@ -59,7 +59,7 @@
The resulting graph will be normalized with duplicate vertices and The resulting graph will be normalized with duplicate vertices and
edges removed, edges removed,
making it suitable for ad hoc graph generation.@c making it suitable for ad hoc graph generation.@c
@footnote{This is done by calling @ref{graph:union}.} @footnote{This is done by calling @ref{graph:union#1}.}
--> -->
<function name="graph:make-from-vertices" <function name="graph:make-from-vertices"
as="element( preproc:sym-deps )"> as="element( preproc:sym-deps )">
@ -208,7 +208,7 @@
Graph operations are usually performed on single packages, Graph operations are usually performed on single packages,
but it is occionally necessary to traverse packages to recurisvely but it is occionally necessary to traverse packages to recurisvely
resolve dependencies. resolve dependencies.
@ref{graph:dep-lookup} makes this easy: @ref{graph:dep-lookup#3} makes this easy:
TODO: Generic graph functions. TODO: Generic graph functions.
--> -->
@ -247,10 +247,10 @@
</function> </function>
<!-- <!--
@ref{graph:dep-lookup} can be used together with the convenience @ref{graph:dep-lookup#3} can be used together with the convenience
function @ref{graph:make-from-deps} to produce a graph that function @ref{graph:make-from-deps#2} to produce a graph that
contains all dependencies for a given symbol list. contains all dependencies for a given symbol list.
Used together with @ref{graph:reverse}, Used together with @ref{graph:reverse#1},
a reverse dependency graph can be easily created that provides a a reverse dependency graph can be easily created that provides a
useful ``used by'' relationship. useful ``used by'' relationship.
--> -->
@ -295,7 +295,7 @@
<!-- <!--
The provided graph lookups are constructors that use symbols to The provided graph lookups are constructors that use symbols to
locate a graph. Using partial application, they are convenient for locate a graph. Using partial application, they are convenient for
use in @ref{graph:dep-lookup} to resolve external graphs. use in @ref{graph:dep-lookup#3} to resolve external graphs.
--> -->
<!-- <!--

View File

@ -38,7 +38,7 @@
generally unnecessary. generally unnecessary.
Expansion sequences are initiated by invoking Expansion sequences are initiated by invoking
@ttref{eseq:expand-step} on any arbitrary node containing any number @ttref{eseq:expand-step#1} on any arbitrary node containing any number
of children to be expanded in order. Each call will proceed one of children to be expanded in order. Each call will proceed one
step (detailed herein), eventually resulting in each node expanded step (detailed herein), eventually resulting in each node expanded
and the expansion sequence node eliminated. and the expansion sequence node eliminated.
@ -191,7 +191,7 @@
need a way for an implementation to notify us whether a node needs need a way for an implementation to notify us whether a node needs
further expansion, or is ready to be hoisted. Fortunately, we further expansion, or is ready to be hoisted. Fortunately, we
already have that information because of how we defined already have that information because of how we defined
@ttref{eseq:is-expandable}. In other words, our previously declared @ttref{eseq:is-expandable#1}. In other words, our previously declared
processing will already take care of hoisting for us when necessary, processing will already take care of hoisting for us when necessary,
so we need only continue to expand nodes as necessary. so we need only continue to expand nodes as necessary.
--> -->
@ -201,7 +201,7 @@
expansions would never take place. expansions would never take place.
Once expansion is complete, by the definition of Once expansion is complete, by the definition of
@ttref{eseq:is-expandable}, expansion will halt. @ttref{eseq:is-expandable#1}, expansion will halt.
--> -->
<template mode="_eseq:expand" as="element()" <template mode="_eseq:expand" as="element()"
match="*[ node()[1][ match="*[ node()[1][
@ -240,7 +240,7 @@
yields an empty sequence, and the final template is matched. When yields an empty sequence, and the final template is matched. When
the head node @emph{is} available, it is either expandable or the head node @emph{is} available, it is either expandable or
non-expandable, determined by the predicate non-expandable, determined by the predicate
@ttref{eseq:is-expandable}. Since the predicate returns a boolean, @ttref{eseq:is-expandable#1}. Since the predicate returns a boolean,
it must be either @code{false()} or @code{true()}, and so it it must be either @code{false()} or @code{true()}, and so it
must satisfy either the first or second template respectively.} must satisfy either the first or second template respectively.}
@ -251,7 +251,7 @@
after all expansions are complete and the expansion sequence node after all expansions are complete and the expansion sequence node
itself is eliminated (per the final match above), then the node that itself is eliminated (per the final match above), then the node that
was last expanded and hoisted will be considered to be the expansion was last expanded and hoisted will be considered to be the expansion
sequence by @ttref{eseq:expand-step}. This is true, but should not sequence by @ttref{eseq:expand-step#1}. This is true, but should not
be a problem in practice: hoisting is intended to place nodes into be a problem in practice: hoisting is intended to place nodes into
context for the caller; it is expected that the caller will context for the caller; it is expected that the caller will
recognize when to invoke sequence expansion (likely on a pre-defined recognize when to invoke sequence expansion (likely on a pre-defined
@ -287,7 +287,7 @@
function. function.
Actual expansion is left to Actual expansion is left to
@ref{eseq:expand-node,,@code{eseq:expand-node}}. @ref{eseq:expand-node#1,,@code{eseq:expand-node#1}}.
--> -->
<function name="_eseq:expand-head" as="element()"> <function name="_eseq:expand-head" as="element()">
<param name="eseq" as="element()" /> <param name="eseq" as="element()" />
@ -314,8 +314,8 @@
expansion. expansion.
Its default behavior is an important consideration: what if Its default behavior is an important consideration: what if
@ttref{eseq:is-expandable} is overridden but the implementation @ttref{eseq:is-expandable#1} is overridden but the implementation
forgets to override @ttref{eseq:expand-node}? If the default forgets to override @ttref{eseq:expand-node#1}? If the default
behavior were to simply echo back the node, it seems likely that we behavior were to simply echo back the node, it seems likely that we
would never finish processing, since the very node that matched the would never finish processing, since the very node that matched the
predicate to begin with would remain unchanged. predicate to begin with would remain unchanged.
@ -334,9 +334,9 @@
provided node. Note that this call represents a single step in an provided node. Note that this call represents a single step in an
expansion, so it need not result in a complete expansion; further expansion, so it need not result in a complete expansion; further
processing will take place according to the result of the processing will take place according to the result of the
@ttref{eseq:is-expandable} predicate. @ttref{eseq:is-expandable#1} predicate.
If @ttref{eseq:is-expandable} is provided, but an override for this If @ttref{eseq:is-expandable#1} is provided, but an override for this
function is not, then the default behavior is to return a node in function is not, then the default behavior is to return a node in
our namespace providing a description of the problem; this is to our namespace providing a description of the problem; this is to
prevent infinite recursion/iteration. prevent infinite recursion/iteration.
@ -353,7 +353,7 @@
<!-- <!--
The return type of @ttref{eseq:expand-node} produces an interesting The return type of @ttref{eseq:expand-node#1} produces an interesting
concept. Consider what may happen after an expansion: concept. Consider what may happen after an expansion:
@enumerate @enumerate
@ -384,7 +384,7 @@
continue processing; the expansion may have yielded additional continue processing; the expansion may have yielded additional
symbols that must be added to the symbol table, for example. The symbols that must be added to the symbol table, for example. The
process will be continued on the next call to process will be continued on the next call to
@ttref{eseq:expand-step}. @ttref{eseq:expand-step#1}.
--> -->
@ -396,7 +396,7 @@
@dfn{Hoisting} is the process of moving a fully expanded head node @dfn{Hoisting} is the process of moving a fully expanded head node
out of the expansion sequence; it is the final step of the process out of the expansion sequence; it is the final step of the process
for a head node and is driven wholly by the for a head node and is driven wholly by the
@ttref{eseq:is-expandable} predicate. @ttref{eseq:is-expandable#1} predicate.
Unfortunately, we cannot continue processing immediately after Unfortunately, we cannot continue processing immediately after
hoisting for the same reasons that we cannot continue processing hoisting for the same reasons that we cannot continue processing

@ -1 +1 @@
Subproject commit 36c9e096251f6343ddaec3a07df6211b768bd973 Subproject commit c058e0ca1ed200cd6e3d285634dac3452d8df0a5