Skip to content

Syntax Diagrams

Benjamin Kowarsch edited this page Jun 10, 2017 · 4 revisions

Non-Terminals

Start Symbol

compilationUnit

Compilation Unit

Definition Module Syntax

definitionModule

Definition Module

moduleIdent, blueprintIdent, typeToExtend

Module Identifier

blueprintToObey

Blueprint To Obey

import

Import

impexLib

Import/Re-Export Library

reExport

Re-Export Tag

libGenDirective

Library Generation Directive

libIdent, template, placeholder

Library Identifier

replacement

Replacement

ident

Identifier

qualident

Qualified Identifier

identList

Identifier List

definition

Definition

constDefinition

Constant Definition

constDefProlog

Constant Definition Prolog

constExpression

Constant Expression

restrictedExport

Restricted Export

typeDefinition

Type Definition

type

Type

aliasType

Alias Type

typeIdent

Type Identifier

derivedType

Derived Type

immutableType

Immutable Type

subrangeType

Subrange Type

range

Range

lowerBound

Lower Bound

greaterThan

Greater Than

upperBound

Upper Bound

lessThan

Less Than

ordinalOrScalarType

Ordinal Or Scalar Type

enumType

Enumeration Type

enumTypeToExtend

Enumeration Type To Extend

setType

Set Type

arrayType

Array Type

valueCount

Value Count

recordType

Record Type

recTypeToExtend

Record Type To Extend

fieldList

Field List

pointerType

Pointer Type

coroutineType

Coroutine Type

assocProcType

Associated Procedure Type

procedureType

Procedure Type

formalType

Formal Type

returnedType

Formal Type

nonAttrFormalType

Non-Attributed Formal Type

castingFormalType

Casting Formal Type

addressTypeIdent

Address Type Identifier

attributedFormalType

Attributed Formal Type

allocatingFormalType

Allocating Formal Type

pointerTypeIdent

Pointer Type Identifier

simpleVariadicFormalType

Simple Variadic Formal Type

reqNumOfArgs

Required Number of Arguments

variadicFormalType

Variadic Formal Type

variadicTypeDescriptor

Variadic Type Descriptor

variadicTypeComponent

Variadic Type Component

procedureHeader

Procedure Header

procHeaderProlog

Procedure Header Prolog

defaultArg

Default Argument

constExprOrConstArgFuncCall

Constant Expression Or Constant Argument Function Call

procedureSignature

Procedure Signature

formalParams

Formal Parameters

attributedFormalParams

Attributed Formal Parameters

allocatingFormalParams

Allocating Formal Parameters

variadicFormalParams

Variadic Formal Parameters
 △ Syntax for Modula-2 calling convention, default

varArgDescriptor

Variadic Argument Descriptor

varArgComponent

Variadic Argument Component

variadicFormalParams (C-FFI)

Variadic Formal Parameters
 △ Syntax for C calling convention, enabled by pragma <*FFI="C"*>

terminator

List Terminator

constQualident

Constant Qualified Identifier

argcRef, fmtStrRef

Argument Counter Reference

Implementation and Program Module Syntax

implOrPrgmModule

Implementation Module

privateImport

Private Import

block

Block

declaration

Declaration

aliasDeclaration

Alias Declaration

namedAliasDecl

Named Alias Declaration

aliasName

Alias Name

qualifiedName

Qualified Name

qualifiedWildcard

Qualified Wildcard

wildcardAliasDecl

Wildcard Alias Declaration

typeDeclaration

Type Declaration

indeterminateType

Indeterminate Type

indeterminateField

Indeterminate Field

discriminantFieldIdent

Discriminant Field Identifier

varOrFieldDeclaration

Variable Or Field Declaration

anonType

Anononymous Type

statementSequence

Statement Sequence

statement

Statement

emptyStatement

Empty Statement

toDoList

TO DO List

trackingRef

Tracking Reference

issueId

Issue ID

wholeNumber

Whole Number

taskToDo

Task To Do

description

Description

weight, estimatedHours

Weight/Estimated Hours

memMgtOperation

Memory Management Operation

initSize, initValue

Initialisation Size

updateOrProcCall

Update Or Procedure Call

incOrDecSuffix

Increment Or Decrement Suffix

returnStatement

Return Or Yield Statement

ifStatement

IF Statement

boolExpression

Boolean Expression

caseStatement

CASE Statement

case

Case

caseLabels

Case Labels

loopStatement

LOOP Statement

whileStatement

WHILE Statement

repeatStatement

REPEAT Statement

forStatement

FOR Statement

forLoopVariants

FOR Loop Variants

accessor, value

Accessor

ascOrDesc

Ascender Or Descender

iterableExpr

Iterable Expr

ordinalRange

Ordinal Range

firstValue, lastValue

First Value/Last Value

ordinalType

Ordinal Type

designator

Designator

designatorTail

Designator Tail

exprListOrSlice

Expression List Or Slice

expressionList

Expression List

expression

Expression

operL1

Level-1 Operator

identityOp

Identity Operator

simpleExpression

Simple Expression

operL2

Level-2 Operator

concatOp

Concatenation Operator

setDiffOp

Set Difference Operator

term

Term

operL3

Level-3 Operator

simpleTerm

Simple Term

factor

Factor

typeConvOp

Type Conversion Operator

simpleFactor

Simple Factor

designatorOrFuncCall

Designator Or Function Call

structuredValue

Structured Value

valueComponent

Value Component

runtimeExpression

Runtime Expression

Blueprint Syntax

blueprint

Blueprint

blueprintIdent, blueprintToRefine, blueprintForTypeToExtend

Blueprint Identifier

typeClassification

Type Classification

attributedClassification

Attributed Classification

classificationIdent

Classification Identifier

literalCompatibility

Literal Compatibility

protoLiteral

Proto Literal

simpleProtoLiteral

Simple Proto Literal

compoundProtoLiteral

Compound Proto Literal

literalComponentList

Literal Component List

literalComponent

Literal Component

builtinOrReferentialIdent

Built-in Or Referential Identifier

variadicProtoLiteral

Variadic Proto Literal

reqValueCount

Required Value Count

variadicLiteralDescriptor

Variadic Literal Descriptor

constraint

Constraint

constraintTerm

Constraint Term

bindableEntityOrProperty

Bindable Entity Or Property

oneWayDependency

One-Way Dependency

mutalDependencyOrExclusion

Mutal Dependency Or Exclusion

termList

Term List

classificationOrFlagIdent

classification Or Flag Identifier

requirement

Requirement

condition

Condition

boolConstIdent

Boolean Constant Identifier

constRequirement

Constant Requirement

simpleConstRequirement

Simple Constant Requirement

typeRequirement

Type Requirement

builtinTypeIdent

Built-in Type Identifier

propertyToBindTo

Property To Bind To

memMgtProperty

Memory Management Property

collectionProperty

Collection Property

scalarProperty

Scalar Property

procedureRequirement

Procedure Requirement

entityToBindTo

Entity To Bind To

bindableResWord

Bindable Reserved Word

bindableFor

Bindable FOR

forBindingDifferentiator

FOR Binding Differentiator

bindableOperator

Bindable Operator

unaryMinus

Unary Minus

bindableMacro

Bindable Macro

multiBindableMacro1

Multi-Bindable Macro 1

bindingDifferentiator1

Binding Differentiator 1

multiBindableMacro2

Multi-Bindable Macro 2

bindingDifferentiator2

Binding Differentiator 2

multiBindableMacro3

Multi-Bindable Macro 3

bindingDifferentiator3

Binding Differentiator 3

Terminals

StdIdent

Standard Identifier

LetterOrDigit

Letter Or Digit

ForeignIdent

Foreign Identifier

ForeignIdentTail

Foreign Identifier Tail

NumberLiteral

Number Literal

DecimalNumberTail

Decimal Number Tail

RealNumberTail

Real Number Tail

DigitSeq

Digit Sequence

DigitGroup

Digit Group

Base2DigitSeq

Base-2 Digit Sequence

Base2DigitGroup

Base-2 Digit Group

Base16DigitSeq

Base-16 Digit Sequence

Base16DigitGroup

Base-16 Digit Group

Digit

Digit

Base2Digit

Base-2 Digit

Base16Digit

Base-16 Digit

StringLiteral

String Literal

SingleQuotedString

Single-Quoted String

DoubleQuotedString

Double-Quoted String

QuotableCharacter

Quotable Character

Letter

Letter

NonAlphaNumQuotable

Non-Alpha-Numeric Quotable 1 Non-Alpha-Numeric Quotable 2 Non-Alpha-Numeric Quotable 3

EscapedCharacter

Escaped Character

ChevronText

Chevron Text

Ignore Symbols

Whitespace

Whitespace

LineComment

Line Comment

BlockComment

Block Comment

CommentCharacter

Comment Character

EndOfLine

End Of Line Marker

Clone this wiki locally