file contrib/TrfL/environment/Fsys/Foreng.ll

 Foresys engine functions

Variables

#:sys-package:colon '#:Foresys:engine

Structures and classes

#:transformer:TrfL
a sub class of transformer

Exported Functions

:init (root name)
initialize a session-var:fsys structure,
call #:TrfL:engine:init
new version, no more ctedit, just the root
:upd-st-down (session-var tree)
the first function to manage symbol tables
this one is called when the tree is visited down
it pushes a symbol table (when there is one)
:upd-st-up (session-var tree)
the second function to manage symbol tables
this one is called when the tree is visited up
it sets the top of the stack with the previous symbol table,
when we meet a tree with a symbol table
:transform-forlib (forlib-name options)
specific options are:
- trans-name, the name of the TrfL module (it must be loaded before)
- twalk, must be taken in one of (busm, bum, tdsm, tdm) where bu stands for bottom-up,
td for top-down, sm for strictly monotonous and m for monotonous
- mode, must be taken in one of (normal, match, action)
if these values don't exist, the default options are busm normal
for example: (#:Foresys:engine:transform-forlib 'CnesToul (list (cons 'output-dir "/u3/users/croudet/tmp") (cons 'trans-name 'LH) (cons 'no-report-check t)))
#:transformer:TrfL:transform (transformer unit-tree)
instantiation of the transform method
calls the appropriate tree walk (according to options) on unit-tree
#:transformer:TrfL:end (transformer)

Functions