-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TS symbolic machine expansion #200
Conversation
zishkaz
commented
Jul 29, 2024
- TSExprResolver skeleton with TSSimpleValueResolver
- TSTypeSystem
- TSInterpreter skeleton
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no tests in the request, you need to provide them
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What are these changes?
@@ -44,3 +45,30 @@ class TSComponents( | |||
closeableResources.forEach(AutoCloseable::close) | |||
} | |||
} | |||
|
|||
class TSFpSortSizeExprProvider( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need this class? It is just a copy of UBVSizeProvider. Moreover, why is it called "fp"?
fun typeToSort(type: EtsType): USort = when (type) { | ||
is EtsAnyType -> addressSort | ||
is EtsVoidType -> voidSort | ||
is EtsUndefinedType -> undefinedSort | ||
is EtsRefType -> addressSort | ||
is EtsBooleanType -> boolSort | ||
is EtsNumberType -> fp64Sort | ||
is EtsStringType -> stringSort | ||
else -> error("Unknown type: $type") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thius This contain less types than actual hierarchy
// stmt.nextStmt?.let { nextStmt -> | ||
// scope.doWithState { newStmt(nextStmt) } | ||
// } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These are too complicated changes to be made like this. I expect to have a separate PR with lot of tests for this