How to whisper to the oracle.

The oracle accepts any valid SEL logic expression with the exception of comments and edge triggers.

Examples of valid expressions include:

A

A AND B

A AND (B OR NOT C)

(IN202 AND NOT 52AA1) OR (NOT IN202 AND 52AA1)

NOT (FBF1 OR IN203 OR IN204) AND PB6_PUL AND NOT PLT06

(NOT SV08 OR 50P5) AND (NOT ZLOAD OR (ZLOAD AND (32QF OR 32QR))) AND NOT (32PR OR 32GR OR 32QR)

As well as the older style:

A*B

A*(B+C)

!(50L+51G+52A)

Operators

You may use the logical operators AND, OR, NOT, *, +, and !

Literals

Literals, referred to as WORD BITS in SEL logic, can be any continuous string of letters or numbers, including _ underscore. The newer version of SEL logic requires the literals to be separated by a blank space, whereas the older version of SEL logic does not.

Examples of valid literals include:

A, B, C

1, 2, 3

IN101, 52AA1, PB6_PUL, 51P1T

Parentheses

Any combination of parentheses ( ) may be used as long as they are evenly matched.

Operator Precedence

Expressions in parentheses ( ) have the highest precedence, followed by NOT, then AND, with OR being last.

A AND B OR C # Evaluates A and B first.

A AND (B AND C) # Evaluates B and C first.

A OR B AND C # Evaluates B and C first.

A OR B AND NOT C # NOT will be applied to C before AND.

The NOT Operator

NOT is right-associative in SEL logic, meaning that it applies only to the literal directly to its right.

NOT A # Accepted.

A NOT # Rejected.

A AND NOT(B AND C) # NOT applies to the outcome of B AND C.

Syntax Errors

The oracle will not allow you to enter incorrect syntax. Any errors will flag one of the following errors below the input box in red:

Unmatched Parentheses

Illegal Character

NOT is Right Associative

Unexpected Input

Unexpected input likely means that the operators and literals are not properly matched. Too many operators or literals, for example, will flag this error.

Examples of Unexpected Input include:

A OR B OR

A OR B B

OR A AND B




Rhett Dewey 2024