Class: Sbuilder::Ial::Model::Constants

Inherits:
Object
  • Object
show all
Defined in:
lib/model/constants.rb

Constant Summary collapse

IAL_LIBRARY =

types

:library
IAL_DOMAIN =
:domain
IAL_DEFINITION =
:definition
IAL_VARIABLE =
:variable
IAL_TRANSACTION =
:transaction
IAL_MACRO =
:macro
IAL_OPERATOR =
:operator
LOOKUPS_TO_INIT =

Lookup ‘type’ names to initilize by default

[ IAL_LIBRARY, IAL_DOMAIN, IAL_DEFINITION, IAL_VARIABLE, IAL_TRANSACTION, IAL_MACRO, IAL_OPERATOR ]
CONSTANT_EXPRESSION_NIL =

Expressions

:nil
CONSTANT_EXPRESSION_EMPTY =
:empty
CONSTANT_EXPRESSIONS =
{
  CONSTANT_EXPRESSION_EMPTY => '{}',
  CONSTANT_EXPRESSION_NIL => 'Nil',
}
OPERATOR_SET_MINUS =

Operators

:set_minus
OPERATOR_SET_UNION =
:union
OPERATOR_PLUS =
:plus
OPERATOR_MINUS =
:minus
OPERATOR_MULT =
:mult
OPERATOR_DIV =
:div
OPERATOR_EQUAL =
:equal
IAL_OPERATORS =

map operator names to TLA implementation

{
  OPERATOR_SET_MINUS => '\\',
  OPERATOR_SET_UNION => '\\union',
  OPERATOR_PLUS => '+',
  OPERATOR_MINUS => '-',
  OPERATOR_MULT => '*',
  OPERATOR_DIV => '/',
  OPERATOR_EQUAL => '=',
}
TLA_TEMPLATES =
{
  :set => ->(gen, *args) { gen.gen_set( *args ) },
  :set_generate => ->(gen, map, variable, set ) { gen.gen_set_map( map, gen.gen_set_iterate( variable, set )) },          
  :plainname => ->(gen, name ) { gen.gen_plainname( name ) },          
  :sequence => ->(gen, *args) { gen.gen_sequence( args ) },
  :record_field => ->(gen, *args) { gen.gen_record_field( *args ) },
  :IF_expression => ->(gen, condExpr, thenExpr, elseExpr) { gen.gen_IF( condExpr, thenExpr, elseExpr ) },
  :EXCEPT_expression => ->(gen, variable, *excepts) { gen.gen_EXCEPT( variable, excepts ) },
  :procedure_call => ->( gen, txName, operationName, params ) { gen.gen_procedure_call( gen.txName2ServiceProcedure( txName, operationName ), params ) },
  :record_field_definition => ->( gen, name, value ) { gen.gen_record_field_definition( name, value ) },
  :record => ->( gen, *arrOfFields ) { gen.gen_record_definition( arrOfFields ) },
}