Package edu.udel.cis.vsl.abc.ast.IF
package edu.udel.cis.vsl.abc.ast.IF
Module ast defines an Abstract Syntax Tree
representation of a program, the
AST
. This module is large
and is therefore divided into several submodules.
Each submodule has its own interface. This package proper contains
the module entry point, ASTs
and an exception class specific to ASTs.
- main: this package, declaring the interfaces
AST
andASTFactory
. - ast.value
- responsibilities: representation of concrete value, such as characters, integers, floating point values
- interface:
edu.udel.cis.vsl.abc.ast.value.IF
- entry point:
Values
- ast.type
- responsibilities: representation of types
- interface:
edu.udel.cis.vsl.abc.ast.type.IF
- entry point:
Types
- ast.entity
- responsibilities: representation of abstract program entities which can be named by an identifier, including variables, functions, labels, scopes, structures, unions, enumerations, enumerators, and typedefs
- interface:
edu.udel.cis.vsl.abc.ast.entity.IF
- entry point:
Entities
- ast.conversion
- responsibilities: representation of C's implicit conversions, such as the conversion of an array to a pointer to the first element of the array, and so on
- interface:
edu.udel.cis.vsl.abc.ast.conversion.IF
- entry point:
Conversions
- ast.node
- responsibilities: representation of AST nodes
- interface:
edu.udel.cis.vsl.abc.ast.node.IF
- entry point:
Nodes
-
ClassDescriptionA representation of a program as an abstract syntax tree.Runtime exception thrown when something goes wrong with the AST.An ASTFactory is used to create all objects associated to an AST.Factory class providing static method to produce a new
ASTFactory
.The class collects together the standard type definitions, e.g., size_t, ptrdiff_t, etc.