1. May 19, 2020
  2. May 18, 2020
  3. May 17, 2020
  4. May 15, 2020
  5. May 14, 2020
  6. May 13, 2020
    • Matthew Fernandez's avatar
      introduce some debugging messages in Rumur · 7f525322
      Matthew Fernandez authored
      This is helpful when debugging internal failures during particular parsing
      stages.
      7f525322
    • Matthew Fernandez's avatar
      implement new synthetic AmbiguousAmp node · 10637bd7
      Matthew Fernandez authored
      This new AST node is designed to represent a 'x & y' expression before we have
      decided whether it is a logical AND or a bitwise AND. The intention here is to
      move towards a situation where we can overload this operator to mean either.
      This should be achievable as we have a stronger type system than C, so we should
      be able to come up with precise types for both operands.
      
      Github: related to #37 "extended operator support"
      10637bd7
    • Matthew Fernandez's avatar
      murphi2xml: re-index the model prior to symbol resolution · 2871b634
      Matthew Fernandez authored
      Technically you can get away without re-indexing the model and still running
      symbol resolution. However, the unique identifiers will be all screwed up after
      this and certain analyses on the AST won't work (e.g. checking whether a
      function is pure). The XML generator doesn't rely on any of this functionality
      but it seems safer to re-index anyway in case we add functionality in future
      that does depend on this.
      2871b634
  7. May 12, 2020
    • Matthew Fernandez's avatar
      add some test cases for >> · 5355e88b
      Matthew Fernandez authored
      Github: related to #37 "extended operator support"
      5355e88b
    • Matthew Fernandez's avatar
      implement right shift operator · c43c6679
      Matthew Fernandez authored
      Github: related to #37 "extended operator support"
      c43c6679
    • Matthew Fernandez's avatar
      fix: tweak lshift and rshift to more accurate semantics · 69347e14
      Matthew Fernandez authored
      This addresses a number of incorrect or confusing things:
      
        * A left shift or right shift greater than ULONG_MAX no longer produces 0 when
          constant folded at generation time. This scenario cannot really occur due to
          practical reasons, but we may as well make the code logically consistent (or
          future proof).
        * Fix of a missing initialisation of mpz_t values that would cause crashes
          when constant folding.
        * Right shift, during both constant folding and runtime, is now a
          straightforward arithmetic right shift. This is intuitive for everything
          except shifting a negative value. We assume that users doing this know what
          they're doing and have thought through the consequences.
      
      Github: related to #37 "extended operator support"
      69347e14
    • Matthew Fernandez's avatar
    • Matthew Fernandez's avatar
      add some << test cases · a41f6aed
      Matthew Fernandez authored
      Github: related to #37 "extended operator support"
      a41f6aed
  8. May 11, 2020