Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gendl
gendl
Commits
98fae55a
Commit
98fae55a
authored
Jan 23, 2012
by
Dave Cooper
Browse files
Merge pull request
#16
from teodor-gelu/master
Hi Dave
parents
f6a39309
eaae032a
Changes
151
Expand all
Hide whitespace changes
Inline
Side-by-side
documentation/unified-doc/gdl-documentation.log
deleted
100644 → 0
View file @
f6a39309
This diff is collapsed.
Click to expand it.
documentation/unified-doc/gdl-documentation.pdf
0 → 100644
View file @
98fae55a
File added
documentation/unified-doc/gdl-documentation.texi
View file @
98fae55a
...
...
@@ -1172,6 +1172,5 @@ with our vendors for second-level support on Allegro CL, SMLib, etc.
@b
{
@i
{
Genworks Technical Support can be reached at: @email
{
support@@genworks.com
}
.
}}
@bye
documentation/unified-doc/read-me.txt
0 → 100644
View file @
98fae55a
1. (load "~/yadd-auto-doc.lisp")
2. (setq self (make-object 'yadd::document-yadd))
3. (the generate-documentation)
4. at shell level:
texi2pdf gdl-documentation.texi
\ No newline at end of file
documentation/unified-doc/yadd-auto-doc.lisp
View file @
98fae55a
(
in-package
:yadd
)
(
defparameter
*data-pathname*
(
make-pathname
:directory
(
pathname-directory
excl:*source-pathname*
)
:device
(
pathname-device
excl:*source-pathname*
)))
(
defparameter
*data-pathname*
(
make-pathname
:directory
(
pathname-directory
excl:*source-pathname*
)
:device
(
pathname-device
excl:*source-pathname*
)))
(
define-object
document-yadd
(
base-object
)
...
...
@@ -38,7 +37,7 @@
:image?
t
:package
:geom-base
)))
(
define-object
yadd2pdf
(
base-object
)
(
define-object
yadd2pdf
(
base-object
)
:input-slots
((
image?
nil
)
(
package
:surf
))
:computed-slots
...
...
@@ -80,15 +79,32 @@
(
the-object
doc-messages
message-names
))
(
list
(
mapcar
#'
(
lambda
(
doc
)
(
the-object
doc
remark-string
))
(
the-object
doc
;;;remark-string
section-plist
))
(
list-elements
(
the-object
doc-messages
messages
))))
(
list
(
the-object
doc-messages
message-and-remarks
))
(
list
(
the-object
doc-messages
message-and-remarks
))
))
(
list-elements
(
the-object
doc-sections
sections
))))
(
the
documented-package-index
)))
(
doc-messages-s
(
mapcar
#'
(
lambda
(
doc-sections
)
(
mapcar
#'
(
lambda
(
doc-messages
)
(
append
(
list
(
the-object
doc-messages
category
)
(
the-object
doc-messages
message-names
))
(
list
(
mapcar
#'
(
lambda
(
doc
)
(
the-object
doc
remark-string
))
(
list-elements
(
the-object
doc-messages
messages
))))
(
list
(
the-object
doc-messages
message-and-remarks
))
))
(
list-elements
(
the-object
doc-sections
sections
))))
(
the
documented-package-index
)))
(
doc-sections
(
mapcar
#'
(
lambda
(
doc-sections
)
...
...
@@ -167,90 +183,202 @@
:description
)
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
getf
(
nth
n
(
the
part-documentation-plist
))
:description
)
"@"
"(at)"
)
"<tt>"
"@i{"
)
"</tt>"
"}"
)
"<i>"
"@i{"
)
"</i>"
"} "
)
;;italic it has to be replaced too.
"!!! Not applicable for this object !!!"
))
(
mapcar
#'
(
lambda
(
documentation
)
(
if
(
fourth
documentation
)
(
progn
(
format
out
"@noindent @b{~@(~a~)}~%~%"
(
first
documentation
))
(
let
((
index
(
length
(
second
documentation
))))
(
dotimes
(
n
index
)
(
when
(
nth
n
(
third
documentation
))
(
format
out
"@b{:~a}~%~%"
(
nth
n
(
second
documentation
)))
(
format
out
"@itemize {}~%~% @item ~a~%~%@end itemize~%~%"
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
nth
n
(
third
documentation
))
"<p>"
""
)
"<i>"
"@i{"
)
"</i>"
"} "
)
"<b>"
"@b{"
)
"</b>"
"} "
)
"<tt>"
""
)
"</tt>"
""
)
" "
""
)
"<ul>"
" @itemize "
)
"</ul>"
"
@end itemize
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
getf
(
nth
n
(
the
part-documentation-plist
))
:description
)
"@"
"(at)"
)
" "
""
)
"<ol>"
" @enumerate "
)
"</ol>"
"
@end enumerate
"
)
"<li>"
" @item "
)
"</li>"
""
)
"<
d
l>"
" @itemize
{} "
)
"</
d
l>"
"
"<li>"
" @item "
)
"</li>"
""
)
"<
u
l>"
" @itemize
"
)
"</
u
l>"
"
@end itemize
"
)
"<dt>"
" @item "
)
"</dt>"
""
)
"<strong>"
" @b{"
)
"</strong>"
"} "
)
"<dd>"
" @itemize @minus "
)
"</dd>"
"
@end itemize
"<tt>"
"@i{"
)
"</tt>"
"}"
)
"<i>"
"@i{"
)
"</i>"
"} "
)
;;italic it has to be replaced too.
"!!! Not applicable for this object !!!"
))
(
mapcar
#'
(
lambda
(
documentation
documentation-s
)
(
if
(
fourth
documentation
)
(
if
(
eql
:functions
(
first
documentation
))
(
progn
(
format
out
"@noindent @b{~@(~a~)}~%~%"
(
first
documentation
))
(
let
((
index
(
length
(
second
documentation
))))
(
dotimes
(
n
index
)
(
when
(
nth
n
(
third
documentation
))
;; Flag!!!
;; condition used to remove the undocumented slots
;;
(
if
(
getf
(
nth
n
(
third
documentation
))
:type
)
;; condition used to remove the undocumented slots
(
format
out
"~%~%@noindent @b{~a} @i{~a}~%~%"
(
nth
n
(
second
documentation
))
(
getf
(
nth
n
(
third
documentation
))
:type
))
(
format
out
"~%~%"
))
(
format
out
"~a~%~%"
(
html2texi-string
(
getf
(
nth
n
(
third
documentation
))
:intro
)))
(
if
(
getf
(
nth
n
(
third
documentation
))
:&key
)
(
format
out
"~%~%@i{Keyword Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(
mapcar
#'
(
lambda
(
arg-1
arg-2
)
(
format
nil
"@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(
if
(
listp
arg-1
)
(
first
arg-1
)
arg-1
)
(
first
(
split
arg-2
#\.
))
(
if
(
listp
arg-1
)
(
second
arg-1
)
"@code{nil}"
)
(
cdr
(
split
arg-2
#\.
))))
(
plist-keys
(
getf
(
nth
n
(
third
documentation
))
:&key
))
(
plist-values
(
getf
(
nth
n
(
third
documentation
))
:&key
))))
(
format
out
"~%~%"
))
(
if
(
getf
(
nth
n
(
third
documentation
))
:&optional
)
(
format
out
"~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(
mapcar
#'
(
lambda
(
arg-1
arg-2
)
(
format
nil
"@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(
if
(
listp
arg-1
)
(
first
arg-1
)
arg-1
)
(
first
(
split
arg-2
#\.
))
(
if
(
listp
arg-1
)
(
second
arg-1
)
"@code{nil}"
)
(
cdr
(
split
arg-2
#\.
))))
(
plist-keys
(
getf
(
nth
n
(
third
documentation
))
:&optional
))
(
plist-values
(
getf
(
nth
n
(
third
documentation
))
:&optional
))))
(
format
out
"~%~%"
))
(
if
(
getf
(
nth
n
(
third
documentation
))
:&rest
)
(
format
out
"~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(
mapcar
#'
(
lambda
(
arg-1
arg-2
)
(
format
nil
"@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(
if
(
listp
arg-1
)
(
first
arg-1
)
arg-1
)
(
first
(
split
arg-2
#\.
))
(
if
(
listp
arg-1
)
(
second
arg-1
)
"@code{nil}"
)
(
cdr
(
split
arg-2
#\.
))))
(
plist-keys
(
getf
(
nth
n
(
third
documentation
))
:&rest
))
(
plist-values
(
getf
(
nth
n
(
third
documentation
))
:&rest
))))
(
format
out
"~%~%"
))
(
if
(
getf
(
nth
n
(
third
documentation
))
:&body
)
(
format
out
"~%~%@i{Optional Arguments:} ~%~% @itemize {}~%~% ~{@item ~a~}~%~%@end itemize~%~%"
(
mapcar
#'
(
lambda
(
arg-1
arg-2
)
(
format
nil
"@b{~a} ~a, Default Value: ~a, ~{~a.~} ~%~%"
(
if
(
listp
arg-1
)
(
first
arg-1
)
arg-1
)
(
first
(
split
arg-2
#\.
))
(
if
(
listp
arg-1
)
(
second
arg-1
)
"@code{nil}"
)
(
cdr
(
split
arg-2
#\.
))))
(
plist-keys
(
getf
(
nth
n
(
third
documentation
))
:&body
))
(
plist-values
(
getf
(
nth
n
(
third
documentation
))
:&body
))))
(
format
out
"~%~%"
))
))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;#+nil
(
progn
(
format
out
"@noindent @b{~@(~a~)}~%~%"
(
first
documentation-s
))
(
let
((
index
(
length
(
second
documentation-s
))))
(
dotimes
(
n
index
)
(
when
(
nth
n
(
third
documentation-s
))
(
format
out
"@noindent @b{~a}~%~%"
(
nth
n
(
second
documentation-s
)))
(
format
out
"~%~% @itemize {}~%~% ~%~% @item ~%~% ~a~%~%@end itemize~%~%"
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
(
nth
n
(
third
documentation-s
))
;;" " "")
"<p>"
""
)
"</p>"
""
)
"<ol>"
" @enumerate "
)
"</ol>"
"
@end enumerate
"
))))))
(
format
out
"~%~%"
)))
(
nth
n
(
the
doc-messages
)))
"
)
;; "<pre>" " @smallexample ")
;; "</pre>" " @end smallexample ")
"<i>"
"@i{"
)
"</i>"
"} "
)
"<b>"
"@b{"
)
"</b>"
"} "
)
"<tt>"
""
)
"</tt>"
""
)
"
"
""
)
"<ul>"
" @itemize "
)
"</ul>"
"
@end itemize
"
)
"<li>"
" @item "
)
"</li>"
""
)
"<dl>"
" @itemize {} "
)
"</dl>"
"
@end itemize
"
)
"<dt>"
" @item "
)
"</dt>"
""
)
"<strong>"
" @b{"
)
"</strong>"
"} "
)
"<dd>"
" @itemize @minus "
)
"</dd>"
"
@end itemize
"
)))))))
;;;;;;;;;;
(
format
out
"~%~%"
)))
(
nth
n
(
the
doc-messages
))
(
nth
n
(
the
doc-messages-s
)))
(
if
(
getf
(
nth
n
(
the
part-documentation-plist
))
:examples
)
(
format
out
"@noindent @b{Examples}~%~%"
)
(
format
out
"~%~%"
))
...
...
@@ -262,10 +390,14 @@
(
excl:replace-re
(
getf
(
nth
n
(
the
part-documentation-plist
))
:examples
)
"@"
"(at)"
)
"<pre>"
"@smallexample
@cartouche"
)
"</pre>"
"@end cartouche
@end smallexample"
)
"<pre>"
"@smallexample"
)
;; @cartouche" )
"</pre>"
"@end smallexample"
)
;;"@end cartouche
;;@end smallexample")
""
))
(
if
(
the
image?
)
(
if
(
getf
(
nth
n
(
the
part-documentation-plist
))
:examples
)
...
...
@@ -284,3 +416,71 @@
:hidden-objects
((
general-description
:type
'base-object
)))
(
defun
html2texi-string
(
my-string
)
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
(
excl:replace-re
; (excl:replace-re
; (excl:replace-re
;; (excl:replace-re
;; (excl:replace-re
my-string
"<p>"
""
)
"</p>"
""
)
;; "<ol>" " @enumerate ")
;; "</ol>" "
;@end enumerate
;")
"<i>"
"@i{"
)
"</i>"
"} "
)
"<b>"
"@b{"
)
"</b>"
"} "
)
"<tt>"
"@code{"
)
"</tt>"
"}"
)
"
"
""
)
"<ul>"
" @itemize "
)
"</ul>"
"
@end itemize
"
)
;; "<li>" " @item " )
;;"</li>" "" )
"<dl>"
" @itemize {} "
)
"</dl>"
"
@end itemize
"
)
"<dt>"
" @item "
)
"</dt>"
""
)
"<strong>"
" @b{"
)
"</strong>"
"} "
)
"<dd>"
" @itemize @minus "
)
"</dd>"
"
@end itemize
"
))
...
...
documentation/unified-doc/yadd/gdl.texi
deleted
100644 → 0
View file @
f6a39309
@subsection Gdl
@include yadd/gdl/base-rule-object.texi
@include yadd/gdl/null-object.texi
@include yadd/gdl/quantification.texi
@include yadd/gdl/vanilla-mixin.texi
documentation/unified-doc/yadd/gdl/base-rule-object.texi
deleted
100644 → 0
View file @
f6a39309
@subsubsection Base-rule-object
@b{Description}
Encapsulates a basic computation, usually to be displayed to the user.
Typically this would be used as a mixin into a more sophisticated rule-object, but the type can be
used to detect objects which should be processed as "rules."
@noindent @b{Optional-input-slots}
@b{:rule-description}
@itemize {}
@item String. Short description of the rule (generally one line). Defaults to NIL.
@end itemize
@b{:rule-description-help}
@itemize {}
@item String. Verbose description of the purpose of the rule.
@end itemize
@b{:rule-result}
@itemize {}
@item String. The basic return-value, or result, of evaluating the rule.
@end itemize
@b{:rule-result-help}
@itemize {}
@item String. Verbose description of how the rule result is computed.
@end itemize
@b{:rule-title}
@itemize {}
@item String. Title to be used with the rule object. Defaults to NIL.
@end itemize
@b{:strings-for-display}
@itemize {}
@item String. Determines the rule's default name in various internal GDL contexts. Defaults to
the rule-title, or "Unnamed Rule" if rule-title is NIL.
@end itemize
@b{:suppress-display?}
@itemize {}
@item Boolean. Determines whether the rule is displayed by default in reports etc.
@end itemize
@b{:violated?}
@itemize {}
@item Boolean. Indicates whether this rule violates a standard condition.
@end itemize
@b{Example image is not generated!}
documentation/unified-doc/yadd/gdl/null-object.texi
deleted
100644 → 0
View file @
f6a39309
@subsubsection Null-object
@b{Description}
A part with no geometric representation and no children. Use this in a
conditional @i{:type} expression if you want to turn off a branch of the tree conditionally.
@b{Example image is not generated!}
documentation/unified-doc/yadd/gdl/quantification.texi
deleted
100644 → 0
View file @
f6a39309
@subsubsection Quantification
@b{Description}
A quantification is an aggregate created as a result of specifying @i{:sequence (:size ...))} or
@i{:sequence (:indices ...))} in an @i{:objects} specification. Usually, the elements of a quantified set are referenced by using
extra parentheses around the message in the reference chain and using the index number. But the aggregate itself also supports certain
messages, documented here. One message, @i{number-of-elements}, is not listed in the normal messages section because it is
internal. It can be used, and returns an integer representing the cardinality of the aggregate.
@noindent @b{Computed-slots}
@b{:first}
@itemize {}
@item GDL Object. Returns the first element of the aggregate.
@end itemize
@b{:last}
@itemize {}
@item GDL Object. Returns the last element of the aggregate.
@end itemize
@b{Example image is not generated!}
documentation/unified-doc/yadd/gdl/vanilla-mixin.texi
deleted
100644 → 0
View file @
f6a39309
@
subsubsection
Vanilla
-
mixin
*
@
b
{
Description
}
Vanilla
-
Mixin
is
automatically
inherited
by
every
object
created
in
GDL
.
It
provides
basic
messages
which
are
common
to
all
GDL
objects
defined
with
the
define
-
object
macro
,
unless
@
i
{:
no
-
vanilla
-
mixin
t
}
is
specifqqied
at
the
toplevel
of
the
define
-
object
form
.
@
noindent
@
b
{
Optional
-
input
-
slots
}
@
b
{:
hidden
?}
@
itemize
{}