Skip to content

names.nab

pdmosses/nabl/org.metaborg.meta.lang.nabl/trans/analysis/names.nab

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
module analysis/names

imports 

  syntax/-
  syntax/core/-
  syntax/terms/-

namespaces

  Module
  Namespace
  Property
  Variable

binding rules

  Module(m, _): 
    defines Module m
    scopes Namespace, Property

  Import(m): 
    imports Namespace, Property from Module m

binding rules

  NamespaceDef(n): 
    defines non-unique Namespace n

  NamespaceRef(CurrentLanguage(), n): 
    refers to Namespace n

binding rules

  PropertyDef(p, ns, t): 
    defines non-unique Property p of type (ns, t)

  PropertyRef(p): 
    refers to Property p

binding rules

  BindingRule(_, _, _):
    scopes Variable

  RefClausePart(_, _, _, _, _, _):
    scopes Variable

  WildcardImport(_, _, _, _, _):
    scopes Variable

  SingleImport(_, _, _, _, _, _, _, _):
    scopes Variable

  Var(x):
    defines Variable x

  ListVar(x):
    defines Variable x

  VarRef(x):
    refers to Variable x

  ListVarRef(x):
    refers to Variable x