Skip to content

Syntax Diagrams

Benjamin Kowarsch edited this page Jun 22, 2026 · 45 revisions

Non-Terminal Symbols

Pragma Blocks

pragmaBlock

Pascal PIM M2 ISO M2 M2 R10 Oberon

pragmaBlock

altPragmaBlock

Pascal PIM M2 ISO M2 M2 R10 Oberon

altPragmaBlock

pragmaBody

pragmaBody

standalonePragmaClause

standalonePragmaClause

pragmaClauseSeq

pragmaClauseSeq

combinablePragmaClause

combinablePragmaClause

Pragma Clauses

pragmaClauseABI

pragmaClauseABI

pragmaClauseADDR

pragmaClauseADDR

pragmaClauseALIGN

pragmaClauseALIGN

pragmaClauseANYORDER

pragmaClauseANYORDER

pragmaClauseARC

Pascal PIM M2 ISO M2 M2 R10 Oberon

pragmaClauseARC

pragmaClauseBORROWER

pragmaClauseBORROWER

pragmaClauseCONTIGUOUS

pragmaClauseCONTIGUOUS

pragmaClauseDEPRECATED

pragmaClauseDEPRECATED

pragmaClauseDETM

pragmaClauseDETM

pragmaClauseENCODING

pragmaClauseENCODING

codePointSampleList

codePointSampleList

codePointSample

codePointSample

pragmaClauseENDFWD

pragmaClauseENDFWD

pragmaClauseFFI

pragmaClauseFFI

pragmaClauseFFIDENT

pragmaClauseFFIDENT

pragmaClauseFORWARD

pragmaClauseFORWARD

pragmaClauseGC

Pascal PIM M2 ISO M2 M2 R10 Oberon

pragmaClauseGC

pragmaClauseGENERATED

pragmaClauseGENERATED

template

template

dateStamp

dateStamp

year

year

month, day

month, day

timeStamp

timeStamp

hours, minutes, seconds, tzOffset

hours, minutes, seconds, tzOffset

pragmaClauseIN

pragmaClauseIN

pragmaClauseINLINE

pragmaClauseINLINE

pragmaClauseLEADBITS

pragmaClauseLEADBITS

pragmaClauseLOWLATENCY

pragmaClauseLOWLATENCY

pragmaClauseMEMALIGN

pragmaClauseMEMALIGN

pragmaClauseMSG

pragmaClauseMSG

msgMode

msgMode

msgComponent

msgComponent

constQualident

constQualident

qualident

qualident

valuePragmaDenoter

valuePragmaDenoter

pragmaClauseNOINLINE

pragmaClauseNOINLINE

pragmaClauseNORETURN

pragmaClauseNORETURN

pragmaClauseOUT

pragmaClauseOUT

pragmaClauseOWNER

pragmaClauseOWNER

pragmaClausePACKED

Pascal Modula-2 Oberon

pragmaClausePACKED

pragmaClausePADBITS

pragmaClausePADBITS

pragmaClausePRESETS

pragmaClausePRESETS

identList

identList

pragmaClausePRIVATETO

pragmaClausePRIVATETO

pragmaClausePURE

pragmaClausePURE

pragmaClauseRANGE

Pascal Modula-2 Oberon

pragmaClauseRANGE

pragmaClauseRELEASE

Pascal Modula-2 Oberon

pragmaClauseRELEASE

pragmaClauseRESIDENT

pragmaClauseRESIDENT

pragmaClauseRETAIN

Pascal Modula-2 Oberon

pragmaClauseRETAIN

pragmaClauseSINGLEASSIGN

pragmaClauseSINGLEASSIGN

pragmaClauseTELL

pragmaClauseTELL

symbolInspection

symbolInspection

pragmaInspection

pragmaInspection

pragmaTestExpr

pragmaTestExpr

pragmaValueExpr

pragmaValueExpr

userDefinedMsg

userDefinedMsg

customMsg

customMsg

msgText

msgText

altCustomMsg

altCustomMsg

pragmaDenoter

pragmaDenoter

pragmaClauseTICKET

pragmaClauseTICKET

TicketNumber

TicketNumber

TicketURL

RFC3986 compliant URL

pragmaClauseUNSET

pragmaClauseUNSET

pragmaClauseVARIANT

pragmaClauseVARIANT

pragmaClauseVOLATILE

pragmaClauseVOLATILE

pragmaClauseWEAK

pragmaClauseWEAK

Implementation Defined Pragmas

implDefPragmaClause

implDefPragmaClause

implDefPragmaDenoter

implDefPragmaDenoter

implPrefix

implPrefix

implDefPragmaSymbol

implDefPragmaSymbol

Expressions

inPragmaExpr

inPragmaExpr

inPragmaSimpleExpr

inPragmaSimpleExpr

inPragmaTerm

inPragmaTerm

inPragmaSimpleTerm

inPragmaSimpleTerm

inPragmaFactor

inPragmaFactor

funcIdent

funcIdent

Terminal Symbols

Identifiers

StdIdent

StdIdent

LetterOrDigit

LetterOrDigit

TitleOrSnakeCaseIdent

TitleOrSnakeCaseIdent

TitleCaseIdent

TitleCaseIdent

SnakeCaseIdent

SnakeCaseIdent

LowerCaseIdent

LowerCaseIdent

Numeric Literals

NumberLiteral

NumberLiteral

Digit

Digit

DigitPair

DigitPair

AddressLiteral

AddressLiteral

Base16DigitSeq

Base16DigitSeq

DigitOrAtoF

DigitOrAtoF

CharacterCode

CharacterCode

Character Strings

StringLiteral

StringLiteral

SingleQuotedString

SingleQuotedString

DoubleQuotedString

DoubleQuotedString

QuotableCharacter

QuotableCharacter

Letter

Letter

Space

ASCII/ISO646 character with code point U+0020

EscapedCharacter

EscapedCharacter

NonAlphaNumQuotable

"!", "#", "$", "%", "&", "(", ")", "*", "+", ",",
"-", ".", "/", ":", ";", "<", "=", ">", "?", "@",
"[", "]", "^", "_", "`", "{", "}", "|", "~"

ExtUnicodeCharacter

Unicode characters with code points above U+009F

Ignore Symbols

Whitespace

Whitespace

Tabulator

ASCII/ISO646 control character with code point U+09

EndOfLine

EndOfLine

CR

ASCII/ISO646 control character with code point U+0D

LF

ASCII/ISO646 control character with code point U+0A

Clone this wiki locally