Skip to content

NameResolution.sdf3

pdmosses/nabl/nabl2.lang/syntax/nabl2/lang/signatures/NameResolution.sdf3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
module nabl2/lang/signatures/NameResolution

imports

  nabl2/shared/common/Identifiers
  nabl2/shared/common/ScopeGraph
  nabl2/shared/common/Sorts
  nabl2/shared/common/Resolution

template options

  keyword -/- [a-zA-Z0-9\']

context-free syntax

  NaBL2-Signature.NameResolution = <
    name resolution
      <{NaBL2-NameResolutionParam "\n\n"}*>
  > {longest-match}

  NaBL2-NameResolutionParam.Labels        = <labels <{NaBL2-PathLabel " "}*>>
  NaBL2-NameResolutionParam.Order         = <order <{NaBL2-LabelOrder ",\n"}*>>
  NaBL2-NameResolutionParam.WF            = <well-formedness <NaBL2-LabelRE>>
  NaBL2-NameResolutionParam.DefaultELabel = <default edge label <NaBL2-PathLabel>>
  NaBL2-NameResolutionParam.DefaultNLabel = <default named label <NaBL2-PathLabel>>
  NaBL2-NameResolutionParam.Strategy      = <strategy <NaBL2-Strategy>>
  NaBL2-NameResolutionParam.PathRelevance = <paths <NaBL2-Relevance>>

context-free syntax

  NaBL2-Signature.Namespaces = <
    namespaces
      <{NaBL2-NamespaceDef "\n\n"}*>
  > {longest-match}

  NaBL2-NamespaceDef.NamespaceDef = <<NaBL2-Namespace> <NaBL2-NamespaceType> <NaBL2-NamespaceProperties>>

  NaBL2-NamespaceType.NoType  =
  NaBL2-NamespaceType.Type    = <: <NaBL2-SortRef>>

  NaBL2-NamespaceProperties = <{ <{NaBL2-NamespaceProperty ",\n"}*> }>
  NaBL2-NamespaceProperties = {ast("[]")}

  NaBL2-NamespaceProperty.PropertyDef = <<NaBL2-PropertyId> : <NaBL2-SortRef>>