Make TRUE/FALSE part of operand rather than expression
This commit is contained in:
parent
d20bf1656d
commit
336679f416
|
@ -785,8 +785,6 @@ expression
|
|||
<|> do { m <- md; sMOSTPOS; t <- dataType; return $ A.MostPos m t }
|
||||
<|> do { m <- md; sMOSTNEG; t <- dataType; return $ A.MostNeg m t }
|
||||
<|> sizeExpr
|
||||
<|> do { m <- md; sTRUE; return $ A.True m }
|
||||
<|> do { m <- md; sFALSE; return $ A.False m }
|
||||
<|> do m <- md
|
||||
(l, o) <- tryVV operand dyadicOperator
|
||||
t <- typeOfExpression l
|
||||
|
@ -940,6 +938,8 @@ operandNotTable'
|
|||
do { o <- noTypeContext operand; sRightR; return $ A.BytesInExpr m o }
|
||||
<|> do { t <- dataType; sRightR; return $ A.BytesInType m t }
|
||||
<|> do { m <- md; sOFFSETOF; sLeftR; t <- dataType; sComma; f <- fieldName; sRightR; return $ A.OffsetOf m t f }
|
||||
<|> do { m <- md; sTRUE; return $ A.True m }
|
||||
<|> do { m <- md; sFALSE; return $ A.False m }
|
||||
<?> "operand other than table'"
|
||||
--}}}
|
||||
--{{{ variables, channels, timers, ports
|
||||
|
|
|
@ -12,9 +12,10 @@ x ! y is ambiguous.
|
|||
|
||||
<< and >> are missing from dyadic.operator.
|
||||
|
||||
-- Things that Parse.hs currently implements as per the spec
|
||||
"b = TRUE" isn't a valid expression (occ21 allows it, and it's used in cglib)
|
||||
-- moved TRUE/FALSE into operand.
|
||||
|
||||
"b = TRUE" isn't a valid expression (occ21 allows it, and it's used in cglib).
|
||||
-- Things that Parse.hs currently implements as per the spec
|
||||
|
||||
PROCESSOR is permitted as a process, anywhere.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user