Re: [sv-bc] [Fwd: Issues with IEEE 1364-2005]

From: Brad Pierce <Brad.Pierce_at_.....>
Date: Wed Aug 02 2006 - 09:52:31 PDT
 

-----Non-member submission from [Will Adams <wadams@freescale.com>]-----
Date: Wed, 02 Aug 2006 11:50:03 -0500

I have made a number of suggestions for changing section 5.1.13
`Conditional operator'. In the interests of clarity, below is my
suggested rewrite of this section.

will adams


5.1.13 Conditional operator

The conditional operator, a ternary operator, shall be right associative
and its three operands shall be separated by symbols `?' and `:' in the
format given in Syntax 5-1.

[Insert Syntax 5-1 from the current definition.]

The evaluation of a conditional operator shall begin with a logical
inequality comparison (see 5.1.8) of expression1 with zero, termed the
`condition'. If the condition evaluates to false (0), then expression2
shall not be evaluated, and expression3 shall be evaluated and its
result used as the result of the conditional expression. If the
condition evaluates to true (1), then expression3 shall not be
evaluated, and expression2 shall be evaluated and its result used as the
result of the conditional expression. If the condition evaluates to an
ambiguous value (x), then both expression2 and expression3 shall be
evaluated, and their results shall be combined, bit by bit, using Table
5-21 to calculate the final result, unless expression2 or expression3 is
real, in which case the result shall be 0. If the lengths of expression2
and expression3 are different, the shorter operand shall be lengthened
to match the longer and zero-filled from the left (the high-order end).

[Insert Table 5-21 and the example from the current definition.]
Received on Wed Aug 2 09:52:41 2006

This archive was generated by hypermail 2.1.8 : Wed Aug 02 2006 - 09:52:46 PDT