- Oct 13, 2014
-
-
Matthew Dawson authored
VariableCollection can now retrieve all the types used, and report them for use with the TypeDeclarationGenerator interface.
-
Matthew Dawson authored
By making the interface of VariableDeclarationGenerator use VariableCollection, it becomes very hard to figure out of a particular language needs all variables (both input and output) generated. This makes testing all these classes less practical (the point of the interface). By moving this logic out of a generator, higher level logic for the language can decide how to use the generator, without impacting the tests.
-
Matthew Dawson authored
As this function is only used for parsers (and some tests), and they only ever care about the input variables, make the fucntion only return input variables. Enumerated values returned remain the same (containing all constants from both inputs and outputs).
-
Matthew Dawson authored
The table is no longer used inside the EventB grid generator, so remove it. A field that was also there, but otherwise unused, is now removed as well.
-
Matthew Dawson authored
All the walkers now use expressions internally, instead of Cells. This allows the parsing to be used into the Table class, avoiding having the walkers needing the VariableCollection for a given table, simplifying their constructors more. Also clean up the imports, as they could be simplified due to this change. Some imports may have not been necessary before this as well.
-
Matthew Dawson authored
The EventB generator code can now fetch output cells using the value passed in. It also gains support for multiple output tables in the process, since it's easier to support that now, then include funky hacks for to support only single variable tables. Also bring back the momThreeLayer table for testing EventB's multiple output feature.
-
Matthew Dawson authored
The SAL generator now uses the passed in output variables to get the output expression for the given variable. Due to limitiations with SAL syntax, the generator needs to be run once per variable, so the generator takes in the variable to output for.
-
Matthew Dawson authored
To avoid having each generator contain the knowledge of how to grab the output cell's contents, add a parameter to each walker that exposes this information when hitting the leaf cells of the hierarchy.
-
Matthew Dawson authored
In preparation for the walkers to internalize the various details of tables, move them inside the Table class. This forces code generating grids to get a proper table instance, pushing the table into more places, making things more organized.
-
Matthew Dawson authored
Since VariableCollection now handles both input and output variables, move Table to have both stored under that as well. This involves killing the split input/output variables functions. Generator relying on how that split worked are reworked to handle this reality.
-
Matthew Dawson authored
VariableCollection now holds both the input and output variables. To construct a VariableCollection, two PartialVariableCollections are used that hold the input and output variables. The two are appropriately combined, while still allowing the inputs and outputs to be separately pulled. A single PartialVariableCollection also works, to allow for an input only collection, which is useful for testing.
-
Matthew Dawson authored
The CheckerWalkers have grown in numbers, while duplicating their logic. As well, fix the naming to be consistent and easily identifiable.
-
This refactor is corresponding to split the VariablesDeclarationGenerator interface from ExpressionGenerator interface commit.
-
This commit is used to keep the changes history clean so that the modification is easy to see.
-
This refactor is corresponding to split the VariablesDeclarationGenerator interface from ExpressionGenerator interface commit.
-
This commit is used to keep the changes history clean so that the modification is easy to see.
-
A new SMTLIBTypeDeclarationGenerator is split out SMTLIBVariablesDeclarationGenerator class so that the type declaration part and variable declaration part are loosely coupled.
-
This refactor is corresponding to split the VariablesDeclarationGenerator interface from ExpressionGenerator interface commit.
-
This commit is used to keep the changes history clean so that the modification is easy to see.
-
A new CVC3TypeDeclarationGenerator is split out CVC3VariablesDeclarationGenerator class so that the type declaration part and variable declaration part are loosely coupled.
-
This refactor is corresponding to split the VariablesDeclarationGenerator interface from ExpressionGenerator interface commit.
-
This commit is used to keep the changes history clean so that the modification is easy to see.
-
TypeDeclarationGenerator is split out from Variables DeclarationGenerator so that the type declaration part and variable declaration part are loosely coupled. A test for this interface is also created, ready for implementations of the interface to use.
-
This refactor reduces the coupling between variable declaration and expression generation. Instead, each generation system can choose how to deal with these problems separately.
-
Following on the previous rename, also rename CheckerGeneratorSpy to ExpressionGeneratorSpy.
-
To better reflect the job of CheckerGenerator, rename it to ExpressionGenerator. This prepares for the removal of the variable declaration code.
-
- Oct 10, 2014
-
-
Matthew Dawson authored
Add the four basic signed arithmetic operators to cvc3's overflow detector. They work similarly to unsigned, except with slightly different algorithms.
-
Matthew Dawson authored
Now, all unsigned operations are checked to avoid overflow.
-
Matthew Dawson authored
To handle overflowing fixed point expressions, I need to get the expressions as they are generated. Thus use a spy class that intercepts all generation requests, and allows for them to be later queried.
-
Matthew Dawson authored
CVC3 subtraction works similarly to addition, which requires a parameter telling CVC3 where to cut off digits in the computed result. jTET missed that, so fix it.
-
- Oct 04, 2014
-
-
From GenericVariableDeclarationGeneratorTest to GenericVariablesDeclarationGeneratorTest.
-
Modify all the files that use these two wrong spellings. The right spelling should be Hierarchy and Hierarchical.
-
Modify it to the correct spelling, i.e., GenerateLiteralValue. Several classes which implements this interface are also modified for this reason.
-
- Oct 03, 2014
-
-
Matthew Dawson authored
The author tag still had an email address on VariableCollection. Remove as javadoc doesn't really handle it.
-
- Oct 01, 2014
-
-
Matthew Dawson authored
Add appropriate copyright headers to variable parser pieces.
-
Matthew Dawson authored
Update to the latest javadoc maven plugin. Also start ignoring the antlr package to avoid a failing build.
-
Matthew Dawson authored
Mainly to help in documentation generation, move the antlr parsers to another package. Otherwise doesn't affect anything.
-
- Sep 26, 2014
-
-
Matthew Dawson authored
New updated documentation. Partially relies on stuff to still come.
-
- Sep 24, 2014
-
-
Matthew Dawson authored
Its time this code had some real comments. Mark up VariableCollection as appropriate.
-
Matthew Dawson authored
To ensure that the variables stored in a VariableCollection remain the same, ensure that the maps returned from a VariableCollection are immutable.
-