Kernel-E

From Erights

(Difference between revisions)
Jump to: navigation, search
(drop EMethodoid, add notes on former nodes)
(Node classes)
Line 5: Line 5:
* [[ENode]] (abstract)
* [[ENode]] (abstract)
** [[EExpr]] (abstract) — evaluate to a value
** [[EExpr]] (abstract) — evaluate to a value
-
*** [[AssignExpr]] — assignment
+
*** [[AssignExpr]]: [[NounExpr]] := [[Expr]] — assignment
-
*** [[BindingExpr]] (given [[guard-based auditing]]) — extract binding of a noun
+
*** [[BindingExpr]]: && [[NounExpr]] — extract binding of a noun (given [[guard-based auditing]])  
-
*** [[CallExpr]]
+
*** [[CallExpr]]: [[EExpr]].''string''([[EExpr]]*)
-
*** [[CatchExpr]]
+
*** [[CatchExpr]]: try { [[EExpr]] } catch [[Pattern]] { [[EExpr]] }
-
*** [[DefineExpr]] — match a pattern against a value
+
*** [[DefineExpr]]: def [[Pattern]] ''(''exit [[EExpr]]'')?'' := [[Expr]] — match a pattern against a value
*** [[EscapeExpr]] — nonlocal exits
*** [[EscapeExpr]] — nonlocal exits
*** [[FinallyExpr]] — cleanup block
*** [[FinallyExpr]] — cleanup block

Revision as of 03:33, 4 January 2009

Node classes

The following node types may occur in a Kernel-E program. The hierarchy indicates subtype relationships.

Formerly kernel nodes

These node types were once part of Kernel-E but have been removed or made non-kernel.

Personal tools
more tools