>
> Waldek,
>
> Thank you very much for you help. The following works and returns the
> compiler output as a string in an SExpression:
>
> ---
>
> )lisp (defun string2spad (the-string-list) (let* ( ($LISPLIB t)
> (|$QuickLet| t) (|$QuickCode| t) (| $InteractiveMode| nil)
> (*standard-input* (make-string-input-stream (format nil "~{~A~^~%~}"
> the-string-list))) (*standard-output* (make-string-output-stream)) )
> (declare (special $LISPLIB |$InteractiveMode|)) (|spadCompile| nil)
> (get-output-stream-string *standard-output* ) ))
>
> S:=[")abbrev domain XXX xxx", "xxx():BasicType == Integer"]
>
> STRING2SPAD(S)$Lisp
>
> ---
>
> However it only works provided that I first compile an actual file
> *before* calling STRING2SPAD. If I don't )compile first I get this
> message:
>
> >> System error:
> The function |recordHeaderDocumentation| is undefined.
>
> This suggests that maybe something is being loaded dynamically by the
> interpreted when processing the ')compile ...' command. Do you have
> any idea what this might be and how I can simulate this in the
> STRING2SPAD function?
>
Compiler is autoloaded. You need to call 'oldCompilerAutoloadOnceTrigger'
(no arguments) before using compiler.
BTW: What are you really trying to do? If you want result in memory
than output to string is probably not the best thing -- whith small
change to 'spadCompile' it should be possible to get different kind
of output.
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.