| Flavors Technology, Inc. |
Paracell Users' Guide |
|
Here is a list of all keywords in the Paracell language and related information.
Examples of keyword use are provided under each keyword heading. In some instances, these examples are simple phrases, while in other sections are self-contained and can be compiled as a unit. Such sections of compileable code are shown in green.
Keywords that appear in red have recently been implemented in the latest release of the Paracell compiler. Further information will be added to these keywords shortly!
Word Type: Relational Operator
Description: Compares the values of two expressions. If the first expression is less than the second value, then evaluates to true, otherwise false.
Syntax:
{an expression} is less than {an expression}
Examples:
if x is less than 5 /* this is the same as: if x < 5 */then add 17 to x.#kappa is a local machine integer initially OFF.if #iota is less than #thetathen #kappa is ONelse #kappa is OFF.
| Related Topics |
Exception Values propagation for lesser
| < | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | unknown | true | true | true | true | unknown |
| -OK | false | OK | true | true | true | unknown |
| 0 | false | false | false | true | true | unknown |
| +OK | tfalserue | false | false | OK | true | unknown |
| +RAIL | false | false | false | false | unknown | unknown |
| unknown | unknown | unknown | unknown | unknown | unknown | unknown |
Results:
OK: a valid value within range of representation (i.e., true or
false)
unknown: neither true nor false
Word Type:
Description: natural logarithm, base e
Syntax:
Examples:
#two is a local float initially 2. lambda is a float initially 0. lambda = ln #two. // lambda = ln 2 = .6931
Word Type:
Description:
Syntax:
Examples:
#two is a local paracell number initially 2. lambda is a float initially 0. lambda = ln two. // lambda = ln 2 = .6931
Word Type:
Description: common logarithm, base 10
Syntax:
Examples:
#two is a local paracell number initially 2. // base 10 log mu is a floating point number initially 0. mu = log (10 * #two). // mu = log 20 = 1.3010
Word Type:
Description: base 2 logarithm
Syntax:
Examples:
#sixtyFour is a local safe integer initially 64. nu is a pnumber initially 0. nu = log2 (#sixtyFour). // nu = 6 = log2(64); 2**6 = 64
Word Type:
Description: logicals may only have values of TRUE, FALSE or UNKNOWN
Syntax:
Examples:
xi is a logical initially TRUE.
if kappa is OFF
then xi is TRUE
else xi is FALSE.
Word Type:
Description:
Syntax:
Examples:
#one is a local machine integer initially 1.
Word Type: Special Function
Description: Finds the maximum from a given set of values.
Syntax:
max {set of variables}
Examples:
max (x, y, Generator_1)max (x, y, and Generator_1)foo = max (#one, #two, #three).#one is a local machine integer initially 1. #two is a local machine integer initially 2. #three is a local machine integer initially 3. foo is a machine integer initially 0. foo = max(#one, #two, #three). // foo = 3
| Related Topics |
Exception Values propagation for max
| max | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -OK | -OK | OK | 0 | +OK | +RAIL | NAN |
| 0 | 0 | 0 | 0 | +OK | +RAIL | NAN |
| +OK | +OK | +OK | +OK | +OK | +RAIL | NAN |
| +RAIL | +RAIL | +RAIL | +RAIL | +RAIL | +RAIL | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Special Function
Description: Finds the minimum from a given set of values.
Syntax:
min {set of variables}
Examples:
min (x, y, Generator_1)min (x, y, and Generator_1)bar = min (#one, #two, #three).#one is a local machine integer initially 1. #two is a local machine integer initially 2. #three is a local machine integer initially 3. bar is a machine integer initially 0. bar = min(#one, #two, #three). // bar = 1
| Related Topics |
Exception Values propagation for min
| min | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | -RAIL | -RAIL | -RAIL | -RAIL | -RAIL | NAN |
| -OK | -RAIL | -OK | -OK | -OK | -OK | NAN |
| 0 | -RAIL | -OK | 0 | 0 | 0 | NAN |
| +OK | -RAIL | -OK | 0 | +OK | +OK | NAN |
| +RAIL | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Arithemitic Operator
Description: Computes the difference of two numbers.
Syntax:
{expression} minus {expression}
Examples:
17 minus x /* this is the same as 17 - x */y minus (x + z) /* this is the same as y - (x + z) */alpha = 1 minus 3. // alpha = -2
| Related Topics |
Exception Values propagation for minus
| minus | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | NAN | NAN | -RAIL | -RAIL | -RAIL | NAN |
| -OK | NAN | OK | -OK | -??? | -RAIL | NAN |
| 0 | +RAIL | +OK | 0 | -OK | -RAIL | NAN |
| +OK | +RAIL | +??? | +OK | OK | NAN | NAN |
| +RAIL | +RAIL | +RAIL | +RAIL | NAN | NAN | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Arithemitic Operator
Description:
Applies the modulus function to two variables. It has a number
of uses with examples below.
Syntax:
{expression} mod {expression}
Examples:
Generator_2 mod Generator_2Gernerator_2 mod (x + y + Generator_1)PI is the constant 2 * acos 0.gamma and delta are paracell numbers.epsilon and zeta are machine integers.rho is a floating point number.#beta is a local float initially 0.#temp is a local safe integer.#four is a local pnumber initially 4.if #beta < 1000then add PI to #betaelse #beta = 0.gamma = #beta mod 1. // #gamma = the fractional part of #betarho = #beta mod 1. // the same as the above line, but a floatdelta = #beta mod #four. // #delta takes on real values from 0 to 4epsilon = #beta mod #four. // rounding up can cause #epsilon to be 4#temp = #beta. // convert #beta to an integerzeta = #temp mod #four. // #zeta can only be 0, 1, 2 or 3
| Related Topics |
Exception Values propagation for modulo
| mod | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | NAN | NAN | NAN | NAN | NAN | NAN |
| -OK | NAN | -OK | NAN | +OK | NAN | NAN |
| 0 | 0 | 0 | NAN | 0 | 0 | NAN |
| +OK | NAN | -OK | NAN | +OK | NAN | NAN |
| +RAIL | NAN | NAN | NAN | NAN | NAN | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Command Verb (Setter)
Description: Sets the value of the variable to the product of the variable and a specified value. The value to be multiplied is specified by the keyword "by".
Syntax:
multiply {a variable} by {an expression}
Examples:
multiply x by 6 /* this is the same as x = x * 6. */multiply generator_1 by (y + 1). /* this is the same as:generator_1 = generator_1 * (y + 1) */
| Related Topics |
Exception Values propagation for Multiplication
| * | -RAIL | -OK | -0.x | 0 | +0.x | +OK | +RAIL | NAN |
| -RAIL | +RAIL | +RAIL | NAN | 0 | NAN | -RAIL | -RAIL | NAN |
| -OK | +RAIL | +??? | +OK | 0 | -OK | -??? | -RAIL | NAN |
| -0.x | NAN | +OK | +OK | 0 | -OK | -OK | NAN | NAN |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NAN |
| +0.x | NAN | -OK | -OK | 0 | +OK | +OK | NAN | NAN |
| +OK | -RAIL | -??? | -OK | 0 | +OK | +??? | +RAIL | NAN |
| +RAIL | -RAIL | -RAIL | NAN | 0 | NAN | +RAIL | +RAIL | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Exceptional Value
Description:
1. Denotes non-representable number (Not A Number).
2. Denotes the Unknown condition branch in a Conditional Sentence;
used in place of the keyword, UNKNOWN.
Syntax:
see If...then...else...UNKNOWN
Examples:
If x is less than 5then multiply x by 6NAN multiplpy generator_1 by (y + 1).
| Related Topics |
Word Type: Logical Operator
Description: Performs the logical NOT operation.
Syntax:
not {an expression}
Examples:
foo is a boolean initially FALSE. bar is a pnumber initially 0. if foo is not TRUE then increment bar else bar = 666 endif.
| Related Topics |
Exception Values propagation for NOT
| true | false | unknown | |
| not | false | true | unknown |
Word Type:
Description:
Syntax:
Examples:
theta is a paracell number initially 0.
if theta is not equal to 100
then increment theta
else theta = 0.
#myArray is a local array[1..3] of paracell numbers initially 0.
#myArray[1] = 1.
#myArray[2] = 2.
#myArray[3] = 3.
Word Type:
Description:
Syntax:
Examples:
myArray is an array[1..3] of paracell numbers initially 0. myArray[1] = 1. myArray[2] = 2. myArray[3] = 3.
Word Type:
Description:
Syntax:
Examples:
iota is a local boolean initially TRUE.
#theta is a machine integer initially 100.
if #theta > 50
then iota is OFF
else iota is ON.
Word Type: Logical Operator
Description: Performs the logical OR operation.
Syntax:
{an expression} or {an expression}
Examples:
x or yIf (x is 3) or (y is 4)then add y plus 17 to x.// x, y, and z are Paracell Numbers.foo is a paracell number initially 0.If foo > 100or foo is NANthen foo = 1else foo = foo + 1.
| Related Topics |
Exception Values propagation for operator OR
| or | true | false | unknown |
| true | true | true | true |
| false | true | false | unknown |
| unknown | true | unknown | unknown |
Word Type:
Description:
Syntax:
Examples:
kappa is a paracell number initially 0.
#lambda is a local pnumber initially 1.
if kappa < 100
then kappa = kappa plus #lambda
else kappa = 0.
Word Type: Arithmetic Operator
Description: Computes the sum of two numbers.
Syntax:
{an expression} plus {an expression}
Examples:
17 plus x /* this is the same as 17 + x */y plus x /* this is the same as y + x */foo is a machine integer initially 1.If foo < 100then foo = foo plus fooelse foo = 1.
| Related Topics |
Exception Values propagation for addition
| + | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | -RAIL | -RAIL | -RAIL | NAN | NAN | NAN |
| -OK | -RAIL | -??? | -OK | OK | NAN | NAN |
| 0 | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| +OK | NAN | OK | +OK | +??? | +RAIL | NAN |
| +RAIL | NAN | NAN | +RAIL | +RAIL | +RAIL | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type:
Description:
Syntax:
Examples:
kappa is a paracell number initially 0.
#lambda is a local pnumber initially 1.
if kappa < 100
then kappa = kappa plus #lambda
else kappa = 0.
mu and nu are local pnumbers initially 1.01.
xi is a local floating point number initially 0.
xi = mu ** nu.
if mu is RAIL
then mu = 1.01
else mu = mu * mu.
Word Type:
Description:
Syntax:
Examples:
mu and nu are local pnumbers initially 1.01.
xi is a local floating point number initially 0.
xi = mu ** nu.
if mu is RAIL
then mu = 1.01
else mu = mu * mu.
Word Type: Exceptional Value
Description: Denotes a value greater or less than what is representable.
Syntax:
Examples:
mu and nu are local pnumbers initially 1.01.
xi is a local floating point number initially 0.
xi = mu ** nu.
if mu is RAIL
then mu = 1.01
else mu = mu * mu.
| Related Topics |
Word Type:
Description:
Syntax:
Examples:
#mu is a paracell number initially 3.1416. nu is a paracell number initially 0. nu = round(#mu). // nu = 3.0000
Word Type:
Description:
Syntax:
Examples:
omicron is a safe integer initially 60. rho is a paracell number initially 0. set rho to sec(omicron)°. // rho = sec(60 deg) = 2
Word Type:
Description:
Syntax:
Examples:
omicron is a local safe integer initially 60. rho is a local paracell number initially 0. set rho to sec(omicron)°. // rho = sec(60 deg) = 2
Word Type: Command Verb (Setter)
Description: Sets a variable to a specified value.
Syntax:
set {a variable} to {an expression}
Examples:
Set x to 5. /* this is the same as x = 5. */Set generator_1 to Y + X * Z. /* this is the same as Generator_1 = x + y * z. /*Set rho to sec (omicron)
| Related Topics |
Word Type:
Description: sine
Syntax:
Examples:
#omicron is a local pnumber initially 60. sigma is a float initially 0. sigma = sin(#omicron)°. // sin(60 deg) = sqrt3 / 2 = .8860
Word Type:
Description: hyperbolic sine
Syntax:
Examples:
#one is a local machine integer initially 1. tau is a floating point number. tau = sinh(#one). // sinh(1) = 1.1752
Word Type:
Description: square root
Syntax:
Examples:
upsilon is a local machine integer initially 1000.
if upsilon > 0
then subtract sqrt(upsilon) from upsilon
else upsilon = 1000.
Word Type: Command Verb (Assigner)
Description: Assigns the difference of the variable and a specified value to the variable.
Syntax:
subtract{expression} from {expression}
Examples:
Subtract 17 from x /* this is the same as 17 - x */subract y from x /* this is the same as y - x */upsilon is a machine integer initially 1000.if upsilon > 0then subtract sqrt(upsilon) from upsilonelse upsilon = 1000.
| Related Topics |
Exception Values propagation for minus
| minus | -RAIL | -OK | 0 | +OK | +RAIL | NAN |
| -RAIL | NAN | NAN | -RAIL | -RAIL | -RAIL | NAN |
| -OK | NAN | OK | -OK | -??? | -RAIL | NAN |
| 0 | +RAIL | +OK | 0 | -OK | -RAIL | NAN |
| +OK | +RAIL | +??? | +OK | OK | NAN | NAN |
| +RAIL | +RAIL | +RAIL | +RAIL | NAN | NAN | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type:
Description: tangent
Syntax:
Examples:
#PI is the local constant 2 * acos 0. #four is a local paracell number initially 4. foo is a paracell number initially 1. foo = tan(#PI / #four). // tan(pi/4) = 1
Word Type:
Description: hyperbolic tangent
Syntax:
Examples:
#one is a local paracell number initially 1. bar is a float initially 1. bar = tanh(#one). // tanh(1) = .7616
Word Type:
Description:
Syntax:
Examples:
alpha is a paracell number initially 1.1.
#ONE_THOUSAND is the local constant 1000.
if alpha is greater than #ONE_THOUSAND
then alpha = 1.1
else alpha = alpha times 1.1.
Word Type:
Description:
Syntax:
Examples:
alpha is a paracell number initially 1.1.
#ONE_THOUSAND is the local constant 1000.
if alpha is greater than #ONE_THOUSAND
then alpha = 1.1
else alpha = alpha times 1.1.
Word Type:
Description:
Syntax:
Examples:
alpha is a paracell number initially 1.1.
#ONE_THOUSAND is the local constant 1000.
if alpha is greater than #ONE_THOUSAND
then alpha = 1.1
else alpha = alpha times 1.1.
Word Type: Arithmetic Operator
Description: Computes the product of two values. The value to be multiplied is specified by the keyword "by".
Syntax:
{an expression} times {an expression}
Examples:
17 times x /* this is the same as 17 * x */y times (x + z). /* this is the same as y * (x + z) */alpha is a paracell number initially 1.1. #ONE_THOUSAND is the local constant 1000. if alpha is greater than #ONE_THOUSAND then alpha = 1.1 else alpha = alpha times 1.1.
| Related Topics |
Exception Values propagation for Multiplication
| * | -RAIL | -OK | -0.x | 0 | +0.x | +OK | +RAIL | NAN |
| -RAIL | +RAIL | +RAIL | NAN | 0 | NAN | -RAIL | -RAIL | NAN |
| -OK | +RAIL | +??? | +OK | 0 | -OK | -??? | -RAIL | NAN |
| -0.x | NAN | +OK | +OK | 0 | -OK | -OK | NAN | NAN |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | NAN |
| +0.x | NAN | -OK | -OK | 0 | +OK | +OK | NAN | NAN |
| +OK | -RAIL | -??? | -OK | 0 | +OK | +??? | +RAIL | NAN |
| +RAIL | -RAIL | -RAIL | NAN | 0 | NAN | +RAIL | +RAIL | NAN |
| NAN | NAN | NAN | NAN | NAN | NAN | NAN | NAN | NAN |
Word Type: Preposition
Description: Used in assignment commands.
Syntax:
assign {an expression} to {a variable}set {a variable} to {an expression}
Examples:
Assign 5 to x. /* this is the same as x = 5 */Set x to 5. /* this is the same as x = 5 */
| Related Topics |
Word Type:
Description:
Syntax:
Examples:
beta is of type paracell number.
gamma is a boolean initially true.
delta is a pnumber.
epsilon is a pnumber initially 99.99.
if gamma is true
and delta is unknown
then delta = 1,
beta = 1,
epsilon = 99.99,
gamma is false
else epsilon = sqrt(epsilon),
set beta to truncate(epsilon),
delta = 1 / (1 - epsilon),
gamma is true.
Word Type:
Description:
Syntax:
Examples:
beta is of type paracell number.
gamma is a boolean initially true.
delta is a pnumber.
epsilon is a pnumber initially 99.99.
if gamma is true
and delta is unknown
then delta = 1,
beta = 1,
epsilon = 99.99,
gamma is false
else epsilon = sqrt(epsilon),
set beta to truncate(epsilon),
delta = 1 / (1 - epsilon),
gamma is true.
Word Type:
Description:
Syntax:
Examples:
beta is of type paracell number.
gamma is a boolean initially true.
delta is a pnumber.
epsilon is a pnumber initially 99.99.
if gamma is true
and delta is unknown
then delta = 1,
beta = 1,
epsilon = 99.99,
gamma is false
else epsilon = sqrt(epsilon),
set beta to truncate(epsilon),
delta = 1 / (1 - epsilon),
gamma is true.
Word Type:
Description: Denotes the Unknown condition branch in a Conditional Sentence.
Syntax:
see if...then...else...Unknown
Examples:
if x is less than 5then multiply x by 6UNKNOWN multiply generator_1 by (y + 1).beta is of type paracell number. gamma is a boolean initially true. delta is a pnumber. epsilon is a pnumber initially 99.99. if gamma is true and delta is unknown then delta = 1, beta = 1, epsilon = 99.99, gamma is false else epsilon = sqrt(epsilon), set beta to truncate(epsilon), delta = 1 / (1 - epsilon), gamma is true.
| Related Topics |
Next: Appendix:
Special Characters, Top: Table of
Contents
|
Flavors Technology,
Inc. |
Copyright© 1993-6 by Flavors Technology, Inc. All rights Reserved.