mirror of
https://github.com/catseye/SixtyPical.git
synced 2024-11-25 23:49:17 +00:00
Expand on what the range-checking includes in this version.
This commit is contained in:
parent
731b83d20f
commit
8298ad38f9
10
HISTORY.md
10
HISTORY.md
@ -7,7 +7,15 @@ History of SixtyPical
|
|||||||
* It is a static analysis error if it cannot be proven that a read or write
|
* It is a static analysis error if it cannot be proven that a read or write
|
||||||
to a table falls within the defined size of that table.
|
to a table falls within the defined size of that table.
|
||||||
* The reference analyzer's ability to prove this is currently fairly weak,
|
* The reference analyzer's ability to prove this is currently fairly weak,
|
||||||
but it does exist.
|
but it does exist:
|
||||||
|
* Loading a constant into a memory location means we know the range
|
||||||
|
is exactly that one constant value.
|
||||||
|
* `AND`ing a memory location with a value means the range of the
|
||||||
|
memory location cannot exceed the range of the value.
|
||||||
|
* Doing arithmetic on a memory location invalidates our knowledge
|
||||||
|
of its range.
|
||||||
|
* Copying a value from one memory location to another copies the
|
||||||
|
known range as well.
|
||||||
* Cleaned up the internals of the reference implementation (incl. the AST)
|
* Cleaned up the internals of the reference implementation (incl. the AST)
|
||||||
and re-organized the example programs in the `eg` subdirectory.
|
and re-organized the example programs in the `eg` subdirectory.
|
||||||
* Most errors produced by the reference implementation now include a line number.
|
* Most errors produced by the reference implementation now include a line number.
|
||||||
|
Loading…
Reference in New Issue
Block a user