Last modified 4 years ago Last modified on 2020-09-15 11:57:25

Base Ideas

(1) Namespaces

(1.1) Data Types

(2) Types

(3) Enums

(4) Signals

(5) Singletons

(6) Classes

(6.1) Finite State Machines

(7) Expression Syntax

(7.1) What about identifiers (Expression Syntax) ?

(7.2) Compile Time Type Checking

(8) Lambda Statements (Compound Statements)

A compound statement is an ordered list of statements. The simplest statement is the expression. Some statements can only be performed from within a FSM.

statementClause := 
    (   expression                // x := 23
    |   ifStatementClause         // IF boolExpression lambda { "ELSE" lambda }
    |   forStatementClause        // EACH ident IN enumerableCollection lambda
    |   switchStatementClause     // SWITCH expression { CASE expression { "," expression }* lambda }+ ELSE lambda
    |   subscribeStatementClause  // SUBSCRIBE TO signalIdent { WHEN booleanExpression }
    |   sendStatementClause       // SEND signal TO expression
    |   returnStatementClause     // RETURN expression
    |   transitionStatementClause // TRANS STATE TO ident ( state expression )
    ) ;