beowulf.reader.generate
TODO: write docs
gen-cond
(gen-cond p)
Generate a cond statement from this simplified parse tree fragment p
; returns nil
if p
does not represent a (MEXPR) cond statement.
gen-cond-clause
(gen-cond-clause p)
Generate a cond clause from this simplified parse tree fragment p
; returns nil
if p
does not represent a cond clause.
gen-dot-terminated-list
(gen-dot-terminated-list p)
Generate a list, which may be dot-terminated, from this partial parse tree ‘p’. Note that the function acts recursively and progressively decapitates its argument, so that the argument will not always be a valid parse tree.
gen-fn-call
(gen-fn-call p)
Generate a function call from this simplified parse tree fragment p
; returns nil
if p
does not represent a (MEXPR) function call.
generate
(generate p)
Generate lisp structure from this parse tree p
. It is assumed that p
has been simplified.
generate-assign
(generate-assign tree)
Generate an assignment statement based on this tree
. If the thing being assigned to is a function signature, then we have to do something different to if it’s an atom.
generate-set
(generate-set tree)
Actually not sure what the mexpr representation of set looks like
strip-leading-zeros
(strip-leading-zeros s)
(strip-leading-zeros s prefix)
read-string
interprets strings with leading zeros as octal; strip any from this string s
. If what’s left is empty (i.e. there were only zeros, return "0"
.