mirror of
https://github.com/GaloisInc/cryptol.git
synced 2024-12-11 07:00:49 +03:00
!=== is now !== (!!!)
This commit is contained in:
parent
4e31cd7b4c
commit
e937d172d3
@ -6,7 +6,7 @@ Old types:
|
|||||||
(==) : {a} (fin a) => (a,a) -> Bit
|
(==) : {a} (fin a) => (a,a) -> Bit
|
||||||
(!=) : {a} (fin a) => (a,a) -> Bit
|
(!=) : {a} (fin a) => (a,a) -> Bit
|
||||||
(===) : {a b} (fin b) => (a -> b,a -> b) -> a -> Bit
|
(===) : {a b} (fin b) => (a -> b,a -> b) -> a -> Bit
|
||||||
(!===) : {a b} (fin b) => (a -> b,a -> b) -> a -> Bit
|
(!==) : {a b} (fin b) => (a -> b,a -> b) -> a -> Bit
|
||||||
|
|
||||||
(<) : {n} (fin n) => ([n],[n]) -> Bit
|
(<) : {n} (fin n) => ([n],[n]) -> Bit
|
||||||
(>) : {n} (fin n) => ([n],[n]) -> Bit
|
(>) : {n} (fin n) => ([n],[n]) -> Bit
|
||||||
|
@ -114,7 +114,7 @@ import Paths_cryptol
|
|||||||
|
|
||||||
'!=' { Located $$ (Token (Op NotEqual ) _)}
|
'!=' { Located $$ (Token (Op NotEqual ) _)}
|
||||||
'==' { Located $$ (Token (Op Equal ) _)}
|
'==' { Located $$ (Token (Op Equal ) _)}
|
||||||
'!===' { Located $$ (Token (Op NotEqualFun ) _)}
|
'!==' { Located $$ (Token (Op NotEqualFun ) _)}
|
||||||
'===' { Located $$ (Token (Op EqualFun ) _)}
|
'===' { Located $$ (Token (Op EqualFun ) _)}
|
||||||
'>' { Located $$ (Token (Op GreaterThan ) _)}
|
'>' { Located $$ (Token (Op GreaterThan ) _)}
|
||||||
'<' { Located $$ (Token (Op LessThan ) _)}
|
'<' { Located $$ (Token (Op LessThan ) _)}
|
||||||
@ -156,7 +156,7 @@ import Paths_cryptol
|
|||||||
%left '||'
|
%left '||'
|
||||||
%left '^'
|
%left '^'
|
||||||
%left '&&'
|
%left '&&'
|
||||||
%nonassoc '==' '!=' '===' '!==='
|
%nonassoc '==' '!=' '===' '!=='
|
||||||
%nonassoc '<' '>' '<=' '>='
|
%nonassoc '<' '>' '<=' '>='
|
||||||
%right '#'
|
%right '#'
|
||||||
%left '<<' '>>' '<<<' '>>>'
|
%left '<<' '>>' '<<<' '>>>'
|
||||||
@ -342,7 +342,7 @@ iexpr :: { Expr }
|
|||||||
| iexpr '==' iexpr { binOp $1 (op ECEq $2) $3 }
|
| iexpr '==' iexpr { binOp $1 (op ECEq $2) $3 }
|
||||||
| iexpr '!=' iexpr { binOp $1 (op ECNotEq $2) $3 }
|
| iexpr '!=' iexpr { binOp $1 (op ECNotEq $2) $3 }
|
||||||
| iexpr '===' iexpr { binOp $1 (op ECFunEq $2) $3 }
|
| iexpr '===' iexpr { binOp $1 (op ECFunEq $2) $3 }
|
||||||
| iexpr '!===' iexpr { binOp $1 (op ECFunNotEq $2) $3 }
|
| iexpr '!==' iexpr { binOp $1 (op ECFunNotEq $2) $3 }
|
||||||
| iexpr '>' iexpr { binOp $1 (op ECGt $2) $3 }
|
| iexpr '>' iexpr { binOp $1 (op ECGt $2) $3 }
|
||||||
| iexpr '<' iexpr { binOp $1 (op ECLt $2) $3 }
|
| iexpr '<' iexpr { binOp $1 (op ECLt $2) $3 }
|
||||||
| iexpr '<=' iexpr { binOp $1 (op ECLtEq $2) $3 }
|
| iexpr '<=' iexpr { binOp $1 (op ECLtEq $2) $3 }
|
||||||
@ -421,7 +421,7 @@ aexpr :: { Expr }
|
|||||||
| '(' '==' ')' { at ($1,$3) $ ECon ECEq }
|
| '(' '==' ')' { at ($1,$3) $ ECon ECEq }
|
||||||
| '(' '!=' ')' { at ($1,$3) $ ECon ECNotEq }
|
| '(' '!=' ')' { at ($1,$3) $ ECon ECNotEq }
|
||||||
| '(' '===' ')' { at ($1,$3) $ ECon ECFunEq }
|
| '(' '===' ')' { at ($1,$3) $ ECon ECFunEq }
|
||||||
| '(' '!===' ')' { at ($1,$3) $ ECon ECFunNotEq }
|
| '(' '!==' ')' { at ($1,$3) $ ECon ECFunNotEq }
|
||||||
| '(' '>' ')' { at ($1,$3) $ ECon ECGt }
|
| '(' '>' ')' { at ($1,$3) $ ECon ECGt }
|
||||||
| '(' '<' ')' { at ($1,$3) $ ECon ECLt }
|
| '(' '<' ')' { at ($1,$3) $ ECon ECLt }
|
||||||
| '(' '<=' ')' { at ($1,$3) $ ECon ECLtEq }
|
| '(' '<=' ')' { at ($1,$3) $ ECon ECLtEq }
|
||||||
|
@ -159,7 +159,7 @@ instance PP ECon where
|
|||||||
ECEq -> text "=="
|
ECEq -> text "=="
|
||||||
ECNotEq -> text "!="
|
ECNotEq -> text "!="
|
||||||
ECFunEq -> text "==="
|
ECFunEq -> text "==="
|
||||||
ECFunNotEq -> text "!==="
|
ECFunNotEq -> text "!=="
|
||||||
ECAnd -> text "&&"
|
ECAnd -> text "&&"
|
||||||
ECOr -> text "||"
|
ECOr -> text "||"
|
||||||
ECXor -> text "^"
|
ECXor -> text "^"
|
||||||
|
@ -125,7 +125,7 @@ evalECon econ =
|
|||||||
cmpBinary cmpEq cmpEq SBV.true b x y
|
cmpBinary cmpEq cmpEq SBV.true b x y
|
||||||
|
|
||||||
ECFunNotEq -> -- {a b} (Cmp b) => (a -> b) -> (a -> b) -> a -> Bit
|
ECFunNotEq -> -- {a b} (Cmp b) => (a -> b) -> (a -> b) -> a -> Bit
|
||||||
-- (f !=== g) x = (f x != g x)
|
-- (f !== g) x = (f x != g x)
|
||||||
tlam $ \_ ->
|
tlam $ \_ ->
|
||||||
tlam $ \b ->
|
tlam $ \b ->
|
||||||
VFun $ \th1 -> return $
|
VFun $ \th1 -> return $
|
||||||
|
Loading…
Reference in New Issue
Block a user