General Information
Tutorials
Reference Manuals
Libraries
Translation Tasks
Tools
Administration
|
|
Tutorial for Name Analysis Using ScopeGraphs
A
- Abstract syntax of identifiers
- Inheritance
- Constructs obeying different scope rules
- Tree Structure
- Classes
- Tree Structure
- Procedures
- Libraries
- Qualified names
- Abstract syntax tree
- Reusing identifiers in the same scope
- Import on demand
- Basic name analysis
- Type-qualified entity names
- Access rules
- Inheritance
- Error reporting
- Position control
- Libraries
- Import on demand
- Type-qualified edge names
- Reusing identifiers in the same scope
- Access rules
- Type-qualified entity names
- Reusing identifiers in the same scope
- Predefined Identifiers
- Type-qualified entity names
- Constructs obeying different scope rules
- Access rules
- Reusing identifiers in the same scope
- Type-qualified entity names
- Libraries
- Access rules
- Type-qualified edge names
- Qualified names
- Type-qualified entity names
- Single import
- Reusing identifiers in the same scope
- Connect to the Typing module
- Access rules
- Tree Structure
- AccCtl.c
- Access rules
- AccessNodesFromQualifier.c
- Type-qualified entity names
- accessPack.nl
- Access rules
- Add the path edge to the graph
- Type-qualified edge names
- ambig.nl
- Reusing identifiers in the same scope
- Applied occurrence of a type identifier
- Connect to the Typing module
- Attribute referencing an entity
- Basic name analysis
- Attribute representing an identifier
- Basic name analysis
B
- Bindings.specs
- Basic name analysis
C
- Call-back function to verify inheritance paths
- Access rules
- Check acceptability at the tip of a path edge
- Access rules
- Check acceptability of a qualified identifier
- Access rules
- clash.nl
- Selecting Acceptable Bindings
- Common private access check
- Access rules
- Construct defining one or more entities of the same type
- Connect to the Typing module
- Construct that represents a subtree denoting a type
- Connect to the Typing module
- cscope.nl
- Position control
D
- Defining occurrence of a type identifier
- Connect to the Typing module
- Defining occurrence of an identifier for a typed entity
- Connect to the Typing module
- demand.nl
- Import on demand
- DisambiguateGraphs.c
- Reusing identifiers in the same scope
E
- edges.nl
- Inheritance
- Ensure that types are defined
- Type-qualified edge names
- Establish a path edge to a superclass
- Inheritance
- Establish the ownership relation
- Qualified names
- Establish the Type attribute of Type
- Connect to the Typing module
- expr.nl
- Interaction with Type Analysis
G
- gambler.nl
- Inheritance
- gcd.nl
- Procedures
H
- hide.nl
- Import on demand
I
- Implementation of the NameLan reclassification
- Reusing identifiers in the same scope
- Inherit the appropriate roles
- Single import
- Single import
L
- lcl.nl
- Exercises
M
- machar.nl
- Kernel Language
- Make contexts of complete names explicit
- Qualified names
- Import on demand
- Single import
- Inheritance
- Interaction with Type Analysis
- Single import
- Type-qualified edge names
- Mappings from concrete symbols to abstract symbols
- Tree Structure
- maxsum.nl
- Constructs obeying different scope rules
- mgcd.nl
- Reusing identifiers in the same scope
N
- NameLan.con
- Text structure
- NameLan.gla
- Text structure
- NameLan.lido
- Tree Structure
- NameLan.map
- Tree Structure
- NameLan.pdl
- Connect to the Typing module
- NameLan.specs
- Tree Structure
O
- object.nl
- Predefined Identifiers
P
- Partition the program analysis
- Type-qualified edge names
- Type-qualified edge names
- Phrase structure
- Constructs obeying different scope rules
- Access rules
- Single import
- Import on demand
- Text structure
- Inheritance
- Qualified names
- Type-qualified edge names
- Libraries
- Interaction with Type Analysis
- Classes
- Procedures
- pkg.nl
- Libraries
- PosCtl.c
- Position control
- Predef.c
- Predefined Identifiers
- Predef.d
- Predefined Identifiers
- Predef.h
- Predefined Identifiers
- Predef.head
- Predefined Identifiers
- private.nl
- Access rules
- Properties and property computations
- Access rules
- Type-qualified entity names
- Connect to the Typing module
- Predefined Identifiers
- Access rules
- Position control
Q
- Qualified names lookup in complete graphs
- Qualified names
- Qualified names
R
- random.nl
- Classes
- Report a collision error in a single import
- Single import
- Report a multiply-defined identifier
- Error reporting
- Report an undefined identifier
- Error reporting
S
- ScopeGraphs.h
- Import on demand
- ScopeGraphs.h content
- Reusing identifiers in the same scope
- Import on demand
- Reusing identifiers in the same scope
- Set WLInsertDef attributes
- Single import
- Single import
- Single import
- Single import
- single.nl
- Single import
- Specification files
- Predefined Identifiers
- Tree Structure
- Connect to the Typing module
- Procedures
- Reusing identifiers in the same scope
- Basic name analysis
- Type-qualified entity names
- Constructs obeying different scope rules
- Access rules
- Position control
- Error reporting
- Predefined Identifiers
- Import on demand
- Connect to the Typing module
- Specify the Key attribute of a WLName
- Inheritance
- Specify worklist computations
- Inheritance
T
- Text.specs
- Exercises
- Tree nodes playing ScopeGraphs roles
- Basic name analysis
W
- with.nl
- Type-qualified edge names
- wlblock.nl
- Exercises
|