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

Type Analysis

Previous Chapter Table of Contents


Index

Symbol roles

A

ArgErr
Verifying type consistency within an expression
ArgError
Verifying type consistency within an expression
ArgMsg
Verifying type consistency within an expression

B

BalanceListElem
Expressions
Operators with operand lists
Expression contexts without operators
BalanceListRoot
Expressions
Expression contexts without operators
Operators with operand lists

C

ChkTypeDefDefId
Verifying type identifier usage
ChkTypeDefUseId
Verifying type identifier usage
ChkTypedUseId
Verifying typed identifier usage
Verifying typed identifier usage
Dependences among types and type identifiers

E

ExpErr
Verifying type consistency within an expression
ExpError
Verifying type consistency within an expression
ExpMsg
Verifying type consistency within an expression
ExpressionSymbol
Verifying type consistency within an expression
Expression contexts without operators
Expressions
Functions as typed entities
Support for context checking
Type analysis of expression trees
Type analysis of expression trees
Support for context checking
Operators with explicit operands

L

LstErr
Verifying type consistency within an expression
LstError
Verifying type consistency within an expression
LstMsg
Verifying type consistency within an expression

O

OperatorDefs
Reducing specification size
Functions as typed entities
Operator, function, and method definitions
Operator, function, and method definitions
Functions as typed entities
Operator, function, and method definitions
OperatorSymbol
Operator, function, and method definitions
Operator, function, and method definitions
Verifying type consistency within an expression
Operators with explicit operands
Operators with explicit operands
Expressions
OpndExprListElem
Type conversion
Expressions
Verifying type consistency within an expression
Operators with operand lists
OpndExprListRoot
Operator, function, and method definitions
Verifying type consistency within an expression
Operators with operand lists
Support for context checking
Functions as typed entities
Expressions
OpndTypeListElem
Operator, function, and method definitions
OpndTypeListRoot
Functions as typed entities
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions
OprErr
Verifying type consistency within an expression
OprError
Verifying type consistency within an expression
OprMsg
Verifying type consistency within an expression

T

TypedDefId
Typed Entities
Establishing the type of an entity
TypedDefinition
Passing ancillary information
Typed Entities
Establishing the type of an entity
TypeDefDefId
User-Defined Types
TypeDefUseId
Referring to a type
User-Defined Types
TypeDenotation
Reducing specification size
Operator, function, and method definitions
Functions as typed entities
Functions as typed entities
Operator, function, and method definitions
User-Defined Types
Type denotations
TypedIdDef
Passing ancillary information
TypedUseId
Expression contexts without operators
Typed Entities
Passing ancillary information
Accessing the type of an entity
Dependences among types and type identifiers

Rule computations

A

AddTypeToBlock
Partitioning the set of types
Functions as typed entities
Functions as typed entities

B

BadIndication
Support for context checking
Support for context checking
BadOperator
Support for context checking
Support for context checking
BalanceContext
Expression contexts without operators
Expressions

C

CastContext
Type conversion
Type conversion
Expressions
Coercible
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions
ConversionContext
Type conversion
Expressions
Type conversion

D

DyadicContext
Operators with explicit operands
Support for context checking
Operators with explicit operands
Operators with explicit operands
Expressions
DyadicOperator
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions

F

FinalType
Dependence on structural equivalence

I

Indication
Support for context checking
Support for context checking
Functions as typed entities
Type conversion
Expressions
InstClass
Reducing specification size
InstClass1
Reducing specification size
IsCoercible
Support for context checking

L

ListContext
Functions as typed entities
Expressions
Operator, function, and method definitions
Operators with operand lists
Operators with operand lists
Support for context checking
ListOperator
Operator, function, and method definitions
Operator, function, and method definitions
Functions as typed entities
Operator, function, and method definitions
Operator, function, and method definitions
Functions as typed entities

M

MonadicContext
Operators with operand lists
Expressions
Operators with explicit operands
MonadicOperator
Operator, function, and method definitions
Operator, function, and method definitions

O

OperName
Expressions

P

PrimaryContext
Expressions
Dependences among types and type identifiers
Expression contexts without operators

R

RootContext
Type conversion
Expressions
Type conversion

T

TransferContext
Expressions
Operators with operand lists
Operators with operand lists
Expression contexts without operators
Expression contexts without operators

Attributes

G

GotOper
Functions as typed entities
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions
Functions as typed entities
Operator, function, and method definitions
Reducing specification size
GotType
Operator, function, and method definitions
Functions as typed entities
Type denotations
Type denotations
Functions as typed entities

I

Indic
Operators with explicit operands
IsType
Language-defined types

O

Oper
Operators with explicit operands
OperatorDefs.GotOper
Dependence in Type Analysis
OperName
Operators with explicit operands
OpndTypeList
Operator, function, and method definitions
Operator, function, and method definitions
Operator, function, and method definitions

P

ParameterTypeList
Functions as typed entities
Functions as typed entities

R

Required
Type analysis of expression trees
RootType.GotAllOpers
Dependence in Type Analysis
RootType.GotAllTypes
Dependence in Type Analysis
RootType.GotUserTypes
Dependence in Type Analysis
RootType.TypeIsSet
Dependence in Type Analysis

T

Type
Dependences among types and type identifiers
Type analysis of expression trees
Functions as typed entities
Functions as typed entities
Operator, function, and method definitions
Referring to a type
Support for context checking
Type identifiers
Type denotations
Operator, function, and method definitions
Functions as typed entities
Type identifiers
Operator, function, and method definitions
TypedDefId.TypeIsSet
Dependence in Type Analysis
TypeDefDefId.GotDefer
Dependence in Type Analysis
TypeDenotation.GotType
Dependence in Type Analysis
TypedUseId.TypeIsSet
Dependence in Type Analysis
TypeIsSet
Dependences for typed entities
TypeKey
Type identifiers
Type identifiers
Type denotations

General concepts

C

CLASS, OIL
Reducing specification size
COERCION, OIL
Language-defined coercibility
Reducing specification size

E

Expression module
Expressions
Selecting an operator at an expression node
Selecting an operator at an expression node

I

INDICATION, OIL
Reducing specification size
Language-defined indications

N

Name equivalence
User-Defined Types
NoKey
Language-defined types

O

OIL CLASS, definition
Reducing specification size
OIL CLASS, instantiation
Reducing specification size
OIL COERCION
Reducing specification size
Language-defined coercibility
OIL INDICATION
Language-defined indications
Reducing specification size
OIL OPER
Reducing specification size
Language-defined operators
OPER, OIL
Language-defined operators
Reducing specification size

P

property IsType
Language-defined types

S

Specification modules -- Expression
Selecting an operator at an expression node
Selecting an operator at an expression node
Expressions
Specification modules -- StructEquiv
Structural Type Equivalence
Specification modules -- Typing
Typed Entities
StructEquiv module
Structural Type Equivalence
Structural equivalence
User-Defined Types

T

Type equivalence, name
User-Defined Types
Type equivalence, structural
User-Defined Types
Typed Entities
Typed Entities
Typing module
Typed Entities


Previous Chapter Table of Contents