A Peek into Pugs Internals #20

Pugs AST

data Exp
    = Noop                      -- ^ No-op
    | App Exp (Maybe Exp) [Exp] -- ^ Function application
                                --     e.g. myfun($invocant: $arg)
    | Syn String [Exp]          -- ^ Syntactic construct that cannot
                                --     be represented by 'App'.
    | Stmts Exp Exp             -- ^ Multiple statements
    | Val Val                   -- ^ Value
    | Var Var                   -- ^ Variable
This is how it appears in the Pugs tree (this week)
XXXXX elided ---- == Perl 6 model {image: http://pugs.blogs.com/photos/visiolization/simplecompilation.png 500}
Copyright © 2006 Gaal Yahas