<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sail/isabelle-lib, branch sail2</title>
<subtitle>Formal specification language for ISAs</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/'/>
<entry>
<title>Move Isabelle library</title>
<updated>2017-09-29T15:20:08+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2017-09-29T15:20:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=79d1e3940828ef18ec20ed1e3dacaafc1f9e24d1'/>
<id>79d1e3940828ef18ec20ed1e3dacaafc1f9e24d1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Pretty-print bitvector expressions</title>
<updated>2017-06-21T10:10:55+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2017-06-21T10:10:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=649d5fd1e9ab474e73c16389335b02de77dd3700'/>
<id>649d5fd1e9ab474e73c16389335b02de77dd3700</id>
<content type='text'>
- Add case distinctions between bitvector types and vectors of other element
  types (e.g. registers) and use the corresponding operations (i.e. "bvslice",
"bvaccess", etc for the former, and "slice", "access", etc for the latter) when
pretty-printing expressions
- Add type annotations to expressions when the type includes bitvectors with
  concretely known length
- Update state.lem to use bitvectors (in the interface, at least; internally,
  bitvectors are still stored as bit lists for now, since that makes it easier
to support storing different registers with different lengths)

This has been tested with the CHERI-MIPS model with some success, but some
things are still missing:
- Bitvector patterns are not handled yet
- Some bitvector length monomorphisation is needed in a few places of the model
- Some type annotations are missing, because the (old) Sail type checker does
  not infer bitvector lengths in some instances where one would hope it to do
that; this should be checked with the new type checker
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add case distinctions between bitvector types and vectors of other element
  types (e.g. registers) and use the corresponding operations (i.e. "bvslice",
"bvaccess", etc for the former, and "slice", "access", etc for the latter) when
pretty-printing expressions
- Add type annotations to expressions when the type includes bitvectors with
  concretely known length
- Update state.lem to use bitvectors (in the interface, at least; internally,
  bitvectors are still stored as bit lists for now, since that makes it easier
to support storing different registers with different lengths)

This has been tested with the CHERI-MIPS model with some success, but some
things are still missing:
- Bitvector patterns are not handled yet
- Some bitvector length monomorphisation is needed in a few places of the model
- Some type annotations are missing, because the (old) Sail type checker does
  not infer bitvector lengths in some instances where one would hope it to do
that; this should be checked with the new type checker
</pre>
</div>
</content>
</entry>
<entry>
<title>Add Makefile and ROOT for Isabelle library</title>
<updated>2017-06-13T15:19:49+00:00</updated>
<author>
<name>Thomas Bauereiss</name>
</author>
<published>2017-06-13T15:19:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/sail/commit/?id=e74b82c578216605fc8e0b54b1db62df26127282'/>
<id>e74b82c578216605fc8e0b54b1db62df26127282</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
