Eli   Documents

General Information

 o Eli: Translator Construction Made Easy
 o Global Index
 o Frequently Asked Questions
 o Typical Eli Usage Errors

Tutorials

 o Quick Reference Card
 o Guide For new Eli Users
 o Release Notes of Eli
 o Tutorial on Name Analysis
 o Tutorial on Scope Graphs
 o Tutorial on Type Analysis
 o Typical Eli Usage Errors

Reference Manuals

 o User Interface
 o Eli products and parameters
 o LIDO Reference Manual
 o Typical Eli Usage Errors

Libraries

 o Eli library routines
 o Specification Module Library

Translation Tasks

 o Lexical analysis specification
 o Syntactic Analysis Manual
 o Computation in Trees

Tools

 o LIGA Control Language
 o Debugging Information for LIDO
 o Graphical ORder TOol

 o FunnelWeb User's Manual

 o Pattern-based Text Generator
 o Property Definition Language
 o Operator Identification Language
 o Tree Grammar Specification Language
 o Command Line Processing
 o COLA Options Reference Manual

 o Generating Unparsing Code

 o Monitoring a Processor's Execution

Administration

 o System Administration Guide

Mail Home

Name Analysis Reference Manual

Previous Chapter Table of Contents


Index

A

abstract syntax tree
Tree Grammar Preconditions
Fundamentals of Name Analysis
Representation of ranges
The state of an instantiation
acceptable binding, check for
The generic lookup
AcceptBinding
Is the binding acceptable?
accumulating attribute
The state of an instantiation
addEdge
Functions that create nodes, edges, and bindings
AnyScope
The AnyScope role
Defining Occurrences
Worklist search
The RangeScope role
Information access
applied occurrence
Pre-defined Identifiers
Implementing Language-Specific Behavior
Applied Occurrences
Deciding among possible bindings
Fundamentals of Name Analysis
Information access
Name Analysis Testing
Functions that search complete graphs
Worklist search
Isomorphic Scope Graphs
Interaction with type analysis
attribute dependence
Application Program Interface
Interaction with type analysis
attribute, accumulating
The state of an instantiation

B

basic symbol
Representation of identifiers
Fundamentals of Name Analysis
Bind
Functions that initiate worklist operations
The generic lookup
Is the binding acceptable?
Functions that create nodes, edges, and bindings
Defining Occurrences
Interaction with type analysis
Functions that search complete graphs
Worklist search
Scope graphs
binding
Implementing Language-Specific Behavior
Fundamentals of Name Analysis
binding, check for acceptable
The generic lookup
bound edge
The state of an instantiation
BoundEdge
Path edge creation roles

C

CallBackDTKFct
Useful graph operations
check for acceptable binding
The generic lookup
CheckPaths
Useful graph operations
CheckPathsNsp
Useful graph operations
ChkIdUse
Report an unsuccessful search
Applied Occurrences
Report an unsuccessful search
complete scope graph
Functions that search complete graphs
Applied Occurrences
computational role
Worklist search
Establishing the Structure of a Scope Graph
The state of an instantiation
concrete grammar
Representation of identifiers
concrete syntax
Representation of identifiers
context, syntactic
The generic lookup
Coord
Functions that search complete graphs
Defining Occurrences
Information access
Applied Occurrences
CoordPtr
Functions that create nodes, edges, and bindings
Information access
Defining Occurrences
Functions that initiate worklist operations

D

defining occurrence
Name Analysis Testing
Worklist search
Isomorphic Scope Graphs
Defining Occurrences
The state of an instantiation
Applied Occurrences
Pre-defined Identifiers
Fundamentals of Name Analysis
The state of an instantiation
definition table
Pre-defined Identifiers
definition table key
Obtain a range from a qualifier
The RangeScope role
Isomorphic Scope Graphs
Useful graph operations
Interaction with type analysis
Is the binding acceptable?
Useful graph operations
Implementing Language-Specific Behavior
Information access
Deciding among possible bindings
Name Analysis Testing
DefTableKey
Functions that create nodes, edges, and bindings
The RangeScope role
Functions that search complete graphs
Functions that initiate worklist operations
Obtain a range from a qualifier
Report an unsuccessful search
Path edge creation roles
Is the binding acceptable?
Pre-defined Identifiers
Functions that pre-define symbols
Name Analysis Testing
Applied Occurrences
Initialization and finalization
Graph-complete search
The OutSideInDeps role
Useful graph operations
Defining Occurrences
The RootScope role
DefTableKeyList
Deciding among possible bindings
dependence among attributes
Interaction with type analysis
Application Program Interface
dependence among tasks
The state of an instantiation
DependsOn
Worklist search
developer-coded functions
Fundamentals of Name Analysis
DFSCompleteFrom
Useful graph operations
DisambiguateGraphs
Deciding among possible bindings
DisambiguatePaths
Deciding among possible bindings
disambiguation
Isomorphic Scope Graphs
The generic lookup
doProof
Name Analysis Testing

E

edge
Scope graphs
edge tail
Worklist search
Scope graphs
Applied Occurrences
Path edge creation roles
Isomorphic Scope Graphs
The OutSideInDeps role
Interaction with type analysis
Functions that create nodes, edges, and bindings
edge tip
Worklist search
Scope graphs
The RangeScope role
Functions that pre-define symbols
The OutSideInDeps role
The state of an instantiation
Interaction with type analysis
Is the binding acceptable?
Path edge creation roles
Applied Occurrences
Functions that create nodes, edges, and bindings
Isomorphic Scope Graphs
edge, parent
The generic lookup
EdgeKey
Worklist search
Path edge creation roles
The OutSideInDeps role
EdgeLabel
The OutSideInDeps role
Worklist search
Path edge creation roles
Eli's Typing module
Interaction with type analysis
entity
Fundamentals of Name Analysis
The RangeScope role
The RangeScope role
Env
Worklist search
The AnyScope role
Defining Occurrences
Pre-defined Identifiers
Graph-complete search
The RootScope role
The OutSideInDeps role
Useful graph operations
The RangeScope role
extension function
Graph-complete search

F

fictitious outer block
The RootScope role
finalization
Initialization and finalization
Implementing Language-Specific Behavior
FPAddEdge
Functions that initiate worklist operations
Functions that search complete graphs
FPInsertDef
Functions that initiate worklist operations
FPItem
Worklist search
FPItemPtr
Functions that initiate worklist operations
The state of an instantiation
Functions that search complete graphs
Worklist search
FPLookupPlain
Functions that initiate worklist operations
FPLookupQual
Functions that initiate worklist operations
FromNodeTuple
Worklist search
The OutSideInDeps role
Path edge creation roles
functions, developer-coded
Fundamentals of Name Analysis

G

GCLocalName
Graph-complete search
GCLookupLocalId
Functions that search complete graphs
GCLookupPlainId
Functions that search complete graphs
GCLookupQualId
Functions that search complete graphs
GCPathReachable
Useful graph operations
GCQualName
Graph-complete search
Obtain a range from a qualifier
Isomorphic Scope Graphs
GCSimpleName
Isomorphic Scope Graphs
Information access
Graph-complete search
getFPEdgeKey
Functions that search complete graphs
getFPItemDone
Functions that search complete graphs
getFPItemKey
Functions that search complete graphs
GotDefKeyProp
Defining Occurrences
GotEnv
The RootScope role
GotUseKeyProp
Applied Occurrences
Information access
graph, scope
Fundamentals of Name Analysis
Graph-complete search
Applied Occurrences
GraphIndex
Functions that search complete graphs
Information access
Isomorphic Scope Graphs
GraphsDescrPtr
Functions that create nodes, edges, and bindings
Functions that pre-define symbols
Functions that initiate worklist operations
The state of an instantiation

H

HidesNestAndPaths
Useful graph operations
HidesOnPaths
Useful graph operations

I

IdDefScope
Defining Occurrences
Isomorphic Scope Graphs
identifier
Representation of identifiers
Fundamentals of Name Analysis
identifier binding
Information access
Deciding among possible bindings
Useful graph operations
Implementing Language-Specific Behavior
Is the binding acceptable?
identifier, kind of
Isomorphic Scope Graphs
Scope graphs
identifier, overloaded
Interaction with type analysis
identifier, qualified
The generic lookup
IgnoreContinue
Useful graph operations
Is the binding acceptable?
IgnoreSkipPath
Is the binding acceptable?
indication
Interaction with type analysis
indivisible operation
The state of an instantiation
inheritance
Applied Occurrences
initialization
Implementing Language-Specific Behavior
Initialization and finalization
input text
Representation of identifiers
isAcceptablePath
Is the binding acceptable?
Useful graph operations
Useful graph operations
isAcceptableQualified
Is the binding acceptable?
isAcceptableSimple
Is the binding acceptable?
isomorphic scope graphs
Scope graphs
Establishing the Structure of a Scope Graph
The state of an instantiation
Isomorphic Scope Graphs

J

Java anonymous class
Interaction with type analysis
The OutSideInDeps role

K

Key
Name Analysis Testing
Applied Occurrences
Defining Occurrences
Isomorphic Scope Graphs
keyword
Pre-defined Identifiers
kind of identifier
Scope graphs
Isomorphic Scope Graphs
known key
Pre-defined Identifiers

L

label
Path edge creation roles
Worklist search
The OutSideInDeps role
label, path edge
The generic lookup
Scope graphs
LangSpecFct.h
Useful graph operations
local name
Graph-complete search
LookupBegin
Initialization and finalization
LookupComplete
Initialization and finalization

M

MakeName module
Pre-defined Identifiers
MaxIsoGraphs
Isomorphic Scope Graphs
MaxKindsPathEdge
The generic lookup
missing edges
Applied Occurrences
ModelExport.h
Application Program Interface
module instantiation
Scope graphs
Pre-defined Identifiers
Name Analysis Testing
The state of an instantiation
module MakeName
Pre-defined Identifiers
module ScopeGraphs
module SGPreDefId
Pre-defined Identifiers
module SGProof
Name Analysis Testing
msg
Name Analysis Testing

N

NABindIdn
Functions that create nodes, edges, and bindings
name, type-qualified
Interaction with type analysis
The state of an instantiation
The OutSideInDeps role
Establishing the Structure of a Scope Graph
nested scopes
Representation of ranges
newNodeTuple
Functions that create nodes, edges, and bindings
NodeTupleOwnerKey
Functions that create nodes, edges, and bindings
NodeTuplePtr
Functions that pre-define symbols
The RootScope role
The RangeScope role
Obtain a range from a qualifier
Isomorphic Scope Graphs
Functions that initiate worklist operations
The state of an instantiation
Graph-complete search
Worklist search
Establishing the Structure of a Scope Graph
Defining Occurrences
Functions that create nodes, edges, and bindings
The OutSideInDeps role
Pre-defined Identifiers
Worklist search
Useful graph operations
Functions that search complete graphs
Path edge creation roles
nonterminal symbol
Representation of ranges
NoteKey
Name Analysis Testing
NumberOfIsoGraphs
Isomorphic Scope Graphs

O

OutSideInDeps
Functions that initiate worklist operations
The state of an instantiation
Interaction with type analysis
Functions that search complete graphs
The OutSideInDeps role
OutSideInDeps.GotEntityTypes
Interaction with type analysis
overloaded identifier
Interaction with type analysis
OwnedNodeTuple
The RangeScope role
OwnerKeyOfNodeTuple
Functions that create nodes, edges, and bindings
The RangeScope role
OwnerKeyOfOneNode
Functions that create nodes, edges, and bindings

P

Parent
The RangeScope role
parent edge
Worklist search
Functions that search complete graphs
Establishing the Structure of a Scope Graph
Functions that pre-define symbols
The RangeScope role
Graph-complete search
Scope graphs
Useful graph operations
Functions that create nodes, edges, and bindings
The state of an instantiation
Is the binding acceptable?
The generic lookup
ParentOfNodeTuple
Functions that create nodes, edges, and bindings
parse tree
Tree Grammar Preconditions
Pascal with statement
Interaction with type analysis
The OutSideInDeps role
path edge
Useful graph operations
Establishing the Structure of a Scope Graph
Functions that initiate worklist operations
Interaction with type analysis
Applied Occurrences
Functions that create nodes, edges, and bindings
Path edge creation roles
Scope graphs
Worklist search
The state of an instantiation
Is the binding acceptable?
The OutSideInDeps role
path edge label
Scope graphs
The generic lookup
post-condition
Application Program Interface
The state of an instantiation
Name Analysis Testing
pre-condition
The state of an instantiation
Application Program Interface
pre-defined identifier
Pre-defined Identifiers
PreDefKey
Pre-defined Identifiers
PreDefKeyEnv
Pre-defined Identifiers
PreDefKeyEnvNdx
Pre-defined Identifiers
PreDefKeyNdx
Pre-defined Identifiers
PreDefSym
Pre-defined Identifiers
PreDefSymKey
Pre-defined Identifiers
PreDefSymKeyEnv
Pre-defined Identifiers
PreDefSymKeyEnvNdx
Pre-defined Identifiers
PreDefSymKeyNdx
Pre-defined Identifiers

Q

qualified identifier
Worklist search
Graph-complete search
The generic lookup
Is the binding acceptable?
qualifier
Functions that search complete graphs

R

range
Fundamentals of Name Analysis
Pre-defined Identifiers
The AnyScope role
Defining Occurrences
Functions that pre-define symbols
The state of an instantiation
Graph-complete search
Functions that search complete graphs
Representation of ranges
Useful graph operations
Obtain a range from a qualifier
Path edge creation roles
Applied Occurrences
Scope graphs
Information access
The RangeScope role
Functions that create nodes, edges, and bindings
Establishing the Structure of a Scope Graph
Isomorphic Scope Graphs
Functions that initiate worklist operations
RangeScope
Useful graph operations
The AnyScope role
The RangeScope role
The OutSideInDeps role
reachableNode
Useful graph operations
RootScope
The state of an instantiation
The AnyScope role
The RootScope role
Isomorphic Scope Graphs

S

scope
Fundamentals of Name Analysis
Worklist search
scope graph
Scope graphs
Useful graph operations
The state of an instantiation
Fundamentals of Name Analysis
scope graph index
Information access
Pre-defined Identifiers
Isomorphic Scope Graphs
scope graphs, isomorphic
Scope graphs
ScopeGraphs module
Tree Grammar Preconditions
ScopeGraphs module instantiation
Scope graphs
Isomorphic Scope Graphs
Establishing the Structure of a Scope Graph
ScopeGraphs.h
Isomorphic Scope Graphs
ScopeKey
The RootScope role
The RangeScope role
Useful graph operations
Graph-complete search
ScopeNodePtr
Functions that create nodes, edges, and bindings
The state of an instantiation
SelectNode
Functions that create nodes, edges, and bindings
semantic information
Implementing Language-Specific Behavior
SetTypeOfEntity
Interaction with type analysis
SGPreDefId module
Pre-defined Identifiers
Functions that pre-define symbols
SGPreDefine
Functions that pre-define symbols
SGPreDefineNode
Functions that pre-define symbols
SGPreDefineSym
Functions that pre-define symbols
SGPreDefMod.h
Functions that pre-define symbols
SGProof module
Name Analysis Testing
simple identifier
Is the binding acceptable?
Graph-complete search
Worklist search
strong context
Isomorphic Scope Graphs
Sym
Applied Occurrences
Worklist search
Information access
Name Analysis Testing
Defining Occurrences
Functions that search complete graphs
symbol, basic
Fundamentals of Name Analysis
SymErr
Report an unsuccessful search
SymMsg
Report an unsuccessful search
syntactic context
Isomorphic Scope Graphs
The generic lookup

T

tailEnv
The OutSideInDeps role
Worklist search
Path edge creation roles
task dependence
The state of an instantiation
terminal symbol
Representation of identifiers
tipEnv
The OutSideInDeps role
tipFPItem
Worklist search
toEnv
Worklist search
Path edge creation roles
The OutSideInDeps role
ToNodeTuple
Worklist search
The OutSideInDeps role
Path edge creation roles
tree, abstract syntax
Fundamentals of Name Analysis
type analysis
The state of an instantiation
Fundamentals of Name Analysis
type analyzer
Interaction with type analysis
type-qualified name
Establishing the Structure of a Scope Graph
The OutSideInDeps role
Interaction with type analysis
type-qualified names
The state of an instantiation
TypedDefId
Interaction with type analysis
TypedUseId
Interaction with type analysis
TypeIsSet
Interaction with type analysis
Typing module
Interaction with type analysis

U

universe
Fundamentals of Name Analysis
unsuccessful search
Report an unsuccessful search
UseKey
Applied Occurrences

V

visibility
Implementing Language-Specific Behavior
Representation of ranges
VOID
The RootScope role

W

weak context
Isomorphic Scope Graphs
Deciding among possible bindings
WLCreateEdge
Worklist search
WLInsertDef
Isomorphic Scope Graphs
Worklist search
WLQualName
Obtain a range from a qualifier
Worklist search
Isomorphic Scope Graphs
WLSimpleName
Isomorphic Scope Graphs
Worklist search
Worklist search
Applied Occurrences
worklist task
The state of an instantiation
The state of an instantiation

Previous Chapter Table of Contents