mirror of
https://github.com/ProgramSnail/pass_strategy_synthesis.git
synced 2026-04-27 08:43:11 +00:00
file for abstract domain alternative model, fixes
This commit is contained in:
parent
93e8f23c4a
commit
5fa95da8b7
5 changed files with 527 additions and 13 deletions
|
|
@ -94,8 +94,8 @@
|
|||
Prod(
|
||||
`decl`,
|
||||
{
|
||||
Or[ovreline(stmt)][function body]
|
||||
Or[$lambda #[`tag` #h(3pt) `argtype`] a.$ `decl`][argument with argument pass strategy annotation]
|
||||
Or[overline(stmt)][function body]
|
||||
Or[$lambda #[`tag` #h(3pt)] a.$ `decl`][argument with argument pass strategy annotation]
|
||||
}
|
||||
),
|
||||
Prod(
|
||||
|
|
@ -167,7 +167,8 @@ $d space @ space overline(x)$ - запись применения функции
|
|||
$isOut tag -> isAlwaysWrite tag$, // NOTE; strong requirment should write
|
||||
$isRead tag -> isIn tag$,
|
||||
$isPossibleWrite tag and (isOut tag or not isCopy tag) -> isAlwaysWrite sigma(x)$, // NOTE: may tag => should sigma(x)
|
||||
$isRead tag -> mu (sigma(x)) != bot$, // NOTE: may tag -> ...
|
||||
$isRead tag -> mu (sigma(x)) != bot and mu (sigma(x)) != X$, // NOTE: may tag -> ...
|
||||
// TODO: FIXME: != Bot and != X ??? or just != Bot ???
|
||||
|
||||
$isCorrect_(cl sigma, mu cr) (tag, x)$,
|
||||
)
|
||||
|
|
@ -406,7 +407,7 @@ $d space @ space overline(x)$ - запись применения функции
|
|||
|
||||
$cl sigma, mu, l cr
|
||||
xarrow("WRITE" x)
|
||||
cl sigma, mu[x <- 0], l union {sigma(x)} cr$,
|
||||
cl sigma, mu[x <- 0], l cr$,
|
||||
)
|
||||
))
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue