Skip to content

webdsl-services.stx

pdmosses/webdsl-statix/webdslstatix/trans/static-semantics/webdsl-services.stx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
module static-semantics/webdsl-services

imports
  static-semantics/actions/functions

  static-semantics/types/built-ins

  static-semantics/webdsl

rules

  defOk(_, DeriveWebServices(_, _)) :- try { false } | warning $[This definition is not yet implemented].

  defOk(, ServiceFunction(mods, p, , Block(stmts))) :- {   }
    new s_webservice, s_webservice -F-> s,
    ts == typesOfArgs(s, args),
    declareParameters(s_webservice, zipArgTypes(args, ts)),
    new s_body, s_body -P-> s_webservice,
    stmtsOk(s_body, stmts, object(s)),
    declarePage(s, p, ts).

  serviceModsOk maps serviceModOk(*, list(*))
   : scope * Modifier
  serviceModOk(_, m) :- false | error $[Modifier [m] not allowed in a service definition].