- Nov 18, 2019
-
-
Matthew Fernandez authored
FIXME: this currently fails the test suite
-
Matthew Fernandez authored
This change has no effect at present because AliasStmt::validate is not implemented, but for consistency and to be future proof this should have been in place.
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
We provide an API supporting range-based for loops and legacy iteration over an AST or a subtree rooted at a particular node. The purpose of this is to abstract patterns like indexing and validation into a common implementation. This needs a const counterpart, but then it should be ready to near-entirely replace the functionality of indexing, validation, and friends. This should then be a suitable base to build Node::all, Node::any, Node::none, etc on top of. Github: related to #152 "traversal abort"
-
- Nov 05, 2019
-
-
Matthew Fernandez authored
-
Matthew Fernandez authored
I think these were leftover from when the visitation function was overloaded.
-
Matthew Fernandez authored
We have an upcoming need to rewrite parts of the AST (overwrite one AST node with another). This would be easier done if we could return a new Node from a visitation function. To achieve this we need a tweakable return type as part of the visitor base classes. Note that we cannot make the intermediate children of BaseTraversal and ConstBaseTraversal (e.g. Traversal) also template classes, because there is no straightforward way to construct a value to return when the template type is instantiated as non-void. We could play some tricks with template specialisation but it seemed easier to just leave them as concrete classes.
-
Matthew Fernandez authored
This lets you more easily run only the tests for rumur or only the tests for rumur-ast-dump. This will become useful as we move to having another binary, a preprocessor, in the mix soon.
-
Matthew Fernandez authored
-
- Nov 04, 2019
-
-
Matthew Fernandez authored
-
Matthew Fernandez authored
Filename's like `a quote: " <-` would have caused invalid XML to be generated previously.
-
Matthew Fernandez authored
We now *always* have a filename attribute on the unit tag.
-
Matthew Fernandez authored
We now have full model content when piping in a model from stdin as well as when the model arrives via a file.
-
Matthew Fernandez authored
It seems the stream that is used for parsing is unusable afterwards. Flex or our own code has caused failbit to be set. Instead of trying to undo this, simply use another stream. We'll make use of this for replay in an upcoming commit.
-
Matthew Fernandez authored
This is part of work towards including the input model content with the AST produced by rumur-ast-dump, regardless of whether the model is provided in a file or on stdin.
-
- Oct 30, 2019
-
-
Matthew Fernandez authored
This was intended to be a parent of master already, but I seem to have somehow fouled this up in a previous packaging cycle.
-
- Oct 28, 2019
-
-
Matthew Fernandez authored
Github: closes #168 "add xmllint and an SMT solver to FreeBSD testing"
-
Matthew Fernandez authored
This is required to run the ast-dump tests. Github: related to #168 "add xmllint and an SMT solver to FreeBSD testing"
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
- Oct 10, 2019
-
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
When building in debug mode, the user could trigger an assertion failure by setting a value type that was too small to contain values in the model. Note that this would *only* occur when the user specifically overrode --value-type with a narrower type than the one that would have been selected automatically. Github: closes #166 "users can force verifier assertion failure"
-
Matthew Fernandez authored
We're about to introduce a new error case in these functions. Github: related to #166 "users can force verifier assertion failure"
-
- Oct 08, 2019
-
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
- Oct 07, 2019
-
-
Matthew Fernandez authored
If value_t is chosen to be an unsigned type, comparisons like `v < 0` cause warnings with -Wtype-limits. We also need to work around a -Wsign-compare bug in this change.
-
- Oct 06, 2019
-
-
Matthew Fernandez authored
Github: related to #163 "reverse for ranges don't work"
-
Matthew Fernandez authored
We should now have full support for incrementing by negative amounts within a quantifier. Github: closes #163 "reverse for ranges don't work"
-
Matthew Fernandez authored
The lower bound may be above the upper bound if the user has described a down counting loop. These aren't properly supported yet, but it is an aspiration. Github: related to #163 "reverse for ranges don't work"
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
-
Matthew Fernandez authored
This is a bit of a happy accident here. I thought we were explicitly requiring the step of a for loop to be a generation-time constant, as CMurphi does. However, it turns out we were actually constant folding the step during validation, and as a side effect throwing an error during constant folding when we encountering something non-constant. This commit fixes validation to only attempt constant folding of the step when it is actually foldable. We still need some generated validation checks for loops that have dynamic bounds and/or steps.
-