-
Notifications
You must be signed in to change notification settings - Fork 8
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
Abstract Core #28
Abstract Core #28
Commits on Apr 26, 2022
-
Begin shifting to new architecture; add abstract machine, inst, exec_…
…record, extension_env, and constraints
Configuration menu - View commit details
-
Copy full SHA for e677a81 - Browse repository at this point
Copy the full SHA e677a81View commit details -
Configuration menu - View commit details
-
Copy full SHA for 15315eb - Browse repository at this point
Copy the full SHA 15315ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for f8e3a3c - Browse repository at this point
Copy the full SHA f8e3a3cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 538328a - Browse repository at this point
Copy the full SHA 538328aView commit details
Commits on Apr 27, 2022
-
Implement transpile from generic constraints to z3; define simple lan…
…g in terms of AbstractInstruction
Configuration menu - View commit details
-
Copy full SHA for 557a622 - Browse repository at this point
Copy the full SHA 557a622View commit details
Commits on May 4, 2022
-
Configuration menu - View commit details
-
Copy full SHA for c5f54b0 - Browse repository at this point
Copy the full SHA c5f54b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1bafb11 - Browse repository at this point
Copy the full SHA 1bafb11View commit details
Commits on May 23, 2022
-
cleaned compiler warnings; ported ADD instruction (#18)
* cleaned compiler warnings; ported ADD instruction * formatting Co-authored-by: Tannr <tannr@hey.com>
Configuration menu - View commit details
-
Copy full SHA for 1311dba - Browse repository at this point
Copy the full SHA 1311dbaView commit details
Commits on May 24, 2022
-
more concrete instructions; removed prev val from mem op (#19)
* more concrete instructions; removed prev val from mem op
Configuration menu - View commit details
-
Copy full SHA for 16285f1 - Browse repository at this point
Copy the full SHA 16285f1View commit details
Commits on Jun 1, 2022
-
Instructions as Singletons; Modularize AbstractMachine
Made return type for AbstractInstruction abstract. Because instructions can now return different types, the `InnerInterpreter` trait constrains the set of possible return types from individual instructions. All existing instructions still return `AbstractExecRecord`. All existing instructions are concrete so they return `ConcreteAbstractExecRecord` which has its constraint type parameter set to the unit type. This allows concrete instructions to not have any generic type for constraints while still using the same `AbstractExecRecord` return type. Separated AbstractMachine into AbstractMachine, InnerInterpreter, and OuterInterpreter. AbstractMachine - purely encapsulates the current state of the machine. It does not include constraints as concrete machines do not have constraints. InnerInterpreter - handles the return value and state update from execution of an individual instruction. We have two example inner interpreters. The concrete inner interpreter maps simply updates the current machine state. The symbolic inner interpreter returns a vec of new machine states and constraints. OuterInterpreter - handles orchestration of which machine state(s) to run. For the example outer interpreters we implement, we embed the inner interpreter in the outer interpreter struct as a trait object. This allows for some flexibility in choosing different inner interpreters so long as they have a step function of the right type for the outer interpreter. The concrete outer interpreter just steps the concrete inner interpreter until the machine can’t execute any further. The symbolic outer interpreter performs DFS on the search graph of machine states. Note that this architecture allows us to substitute out an alternative symbolic outer interpreter that performs BFS or any other alternative search strategy. I temporarily removed the `PathSummary` portion yet where we use the solver to find the reachable paths and return models. The type signature of `ConcreteOuterInterpreter` is already incredibly complex and I'd prefer to not add the additional generics that the solver is going to entail in a separate PR.
Configuration menu - View commit details
-
Copy full SHA for b1302b4 - Browse repository at this point
Copy the full SHA b1302b4View commit details
Commits on Jun 3, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 696614e - Browse repository at this point
Copy the full SHA 696614eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6576eed - Browse repository at this point
Copy the full SHA 6576eedView commit details
Commits on Jun 6, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a243da5 - Browse repository at this point
Copy the full SHA a243da5View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0284af - Browse repository at this point
Copy the full SHA c0284afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8587a14 - Browse repository at this point
Copy the full SHA 8587a14View commit details
Commits on Jun 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 9788f1b - Browse repository at this point
Copy the full SHA 9788f1bView commit details
Commits on Jun 16, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 884b37f - Browse repository at this point
Copy the full SHA 884b37fView commit details
Commits on Jun 19, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f8fcb9f - Browse repository at this point
Copy the full SHA f8fcb9fView commit details
Commits on Jun 23, 2022
-
Configuration menu - View commit details
-
Copy full SHA for f7678e7 - Browse repository at this point
Copy the full SHA f7678e7View commit details
Commits on Jun 28, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 0a3d84c - Browse repository at this point
Copy the full SHA 0a3d84cView commit details
Commits on Jun 29, 2022
-
Simplify AST; add interpreter skeleton with pre and post hooks to fac…
…ilitate custom types support
Configuration menu - View commit details
-
Copy full SHA for f6917f0 - Browse repository at this point
Copy the full SHA f6917f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c27549 - Browse repository at this point
Copy the full SHA 1c27549View commit details -
Configuration menu - View commit details
-
Copy full SHA for 639420c - Browse repository at this point
Copy the full SHA 639420cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2fe0b8c - Browse repository at this point
Copy the full SHA 2fe0b8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 87866ac - Browse repository at this point
Copy the full SHA 87866acView commit details -
Configuration menu - View commit details
-
Copy full SHA for 82e2097 - Browse repository at this point
Copy the full SHA 82e2097View commit details
Commits on Jul 1, 2022
-
Configuration menu - View commit details
-
Copy full SHA for a4b22f1 - Browse repository at this point
Copy the full SHA a4b22f1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4894d0f - Browse repository at this point
Copy the full SHA 4894d0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 93ccadc - Browse repository at this point
Copy the full SHA 93ccadcView commit details
Commits on Jul 14, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 85b85bd - Browse repository at this point
Copy the full SHA 85b85bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for b101982 - Browse repository at this point
Copy the full SHA b101982View commit details -
Configuration menu - View commit details
-
Copy full SHA for 84e1aa3 - Browse repository at this point
Copy the full SHA 84e1aa3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 77771fd - Browse repository at this point
Copy the full SHA 77771fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 161c0c8 - Browse repository at this point
Copy the full SHA 161c0c8View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd6cf62 - Browse repository at this point
Copy the full SHA fd6cf62View commit details