wiki:The MiniMP Intermediate Representation

Version 3 (modified by zirkel, 16 years ago) ( diff )

--

The MiniMP Intermediate Representation

Model

A model is an abstract representation of a MiniMP program. It has a name, a set of shared variables, and a sequence of processes.

Processes

Processes are numbered 0,1,...,n-1, where n is the number of processes. The number n is fixed when the model is created and can never change. The unique number associated to a process is known as the process's "pid."

Variables

  • BoundVariable
  • FormalVariable
  • LocalVariable
  • ProcessVariable
  • SharedVariable

Types

  • ArrayType
  • FunctionType
  • PointerType
  • RecordType

Expressions

  • PlusExpression
  • TimesExpression
  • DivideExpression
  • AddressOfExpression
  • LHSExpression
    • DereferenceExpression
    • RecordNavigationExpression
  • ExistsExpression
  • ForallExpression
  • IfThenElseExpression
  • LiteralExpression
  • NotEmptyExpression
  • NotFullExpression
  • QuantifierExpression
  • VariableExpression

Statements

  • AllocateStatement
  • AssertionStatement
  • AssignmentStatement
  • AssumeStatement
  • DeallocateStatement
  • InvocationStatement
  • NoopStatement
  • ReceiveStatement
  • SendStatement

Functions

Note: See TracWiki for help on using the wiki.