A Joyce programozási nyelv

Konstansok

Konstans definíciók

ConstantDefinition = ConstantName "=" Constant ";"
ConstantName = Name
Constant = SimpleConstant | RealConstant | StructuredConstant

pl. a c=d; definíció esetén a c név jelenti a d konstans értéket, és a c típusa a d típusával lesz egyenlő.

Példa

const on=true; n=10; nl=10C; lf=nl; e=2.718; none = nil stream;

Egyszerű konstans

SimpleConstant = SimpleNumeral | CharacterConstant | ConstantName
Az egyszerű konstans egy egyszerű értéket jelent, és a konstans név egy egyszerű ismert konstanst jelent.

Egyszerű szám

Egy nem negatív egész számot jelöl.

SimpleNumeral = Digit { Digit }

Karakter konstans

CharacterConstant = GraphicToken | ControlToken
GrapicToken = "'" GrapicCharacter "'"
ControlToken = SimpleNumeral "C"

Példák:

'x' 10C

Valós konstans

RealConstant = RealNumeral | ConstantName
A konstans névnek itt egy már ismert real típusú konstanst kell jelölnie.

Valós szám

RealNumeral = Mantissa [ Radix Exponent ]
Mantissa = Digit { Digit } "." { Digit }
Radix = "E"
Exponent = [ Sign ] SimpleNumeral
Sign = "+" | "-"

A E betű, a 10-es számrendszert jelenti.

Példa:

2 5.72 23.1E-7

Összetett konstans

structuredConstant = NilConstant | ConstantName

Itt a konstans névnek egy összetett típusú konstans kell jelölnie.

Nil konstans

NilConstant = "nil" TypeName

Egy még nem létező, de már megadott típusú csatornát jelöl.