A
returns 1 on A, and 0 elsewhere, whereas
descriptor A(0.7)
returns 0.7 on A, and 0 elsewhere.letter ::= "a"..."z"|"A"..."Z"
! | returns 1 in any position (even if out of bounds); |
^ |
returns 1 if the position is out of bounds, 0 otherwise. |
special ::= "^" | "!"
^
are 33 and
94, these codes must be used very cautiously.character ::= #0..255
here-plus ::= +(descriptors)
here-mult ::= *(descriptors)
|(`AB'A(0.1)`AC'A(0.2)`AA'A(0.3))
returns 0.1.|(`AB'A(0.1)`AB'A(0.2))
returns 0.1.here-or ::= |(descriptorsdescriptors)
`A(0.5)CB(0.3)'
returns 0.5.forward ::= `descriptors'
|`BC(0.1)CC(0.2)AC(0.3)'
returns 0.1.|`BC(-0.1)BC(0.2)'
returns -0.1.|`B|`BC(0.1)CC(0.2)AC(0.3)'C|`BC(0.4)CC(0.5)AC(0.6)'A|`BC(0.7)CC(0.8)AC(0.9)''
returns 0.7.forward-or ::= |`descriptorsdescriptors'
{A(0.5)CB(0.3)}
returns 0.3.backward ::= {descriptors}
backward-plus ::= +{descriptors}
|{BC(0.1)CC(0.2)AC(0.3)}
returns 0.1.|{BC(-0.1)BC(0.2)}
returns -0.1.|{B|{BC(0.1)CC(0.2)AC(0.3)}C|{BC(0.4)CC(0.5)AC(0.6)}A|{BC(0.7)CC(0.8)AC(0.9)}}
returns 0.3.backward-or ::= |{descriptorsdescriptors}