Throw warning on unassigned register
This commit is contained in:
parent
d7f19f5acf
commit
52e6c5d89a
|
@ -0,0 +1,23 @@
|
|||
<> (add (s ?x) (s ?y)) ((s add ?x (s ?y)))
|
||||
<> (add (s ?y) (0)) ((s ?y))
|
||||
<> (add (0) (s ?y)) ((s ?y))
|
||||
<> (add (0) (0)) (0)
|
||||
|
||||
<> (subtract (s ?x) (s ?y)) (subtract ?x ?y)
|
||||
<> (subtract (s ?x) (0)) (s ?x)
|
||||
<> (subtract (0) (s ?y)) (s ?y)
|
||||
<> (subtract (0) (0)) (0)
|
||||
|
||||
<> (multiply (s ?x) (s ?y)) (add (s ?x) (multiply (s ?x) (subtract (s ?y) (s (0))))
|
||||
<> (multiply (s ?x) (s (0)) (s ?x)
|
||||
<> (multiply (s (0)) (s ?y) (s ?y)
|
||||
<> (multiply (s ?x) (0)) (0)
|
||||
<> (multiply (0) (s ?x)) (0)
|
||||
|
||||
<> (?x + ?y) (add ?x ?y)
|
||||
<> (?x - ?y) (subtract ?x ?y)
|
||||
<> (?x * ?y) (multiply ?x ?y)
|
||||
<> (factorial (s (0))) ((s (0)))
|
||||
<> (factorial (s ?x)) ((s ?x) * factorial ((s ?x) - (s (0))))
|
||||
|
||||
(s (0)) * (s (s (0)))
|
|
@ -1,3 +1,23 @@
|
|||
<> ((?x -> ?y)) (<> ?x ?y)
|
||||
<> (add (s ?x) (s ?y)) ((s add ?x (s ?y)))
|
||||
<> (add (s ?y) (0)) ((s ?y))
|
||||
<> (add (0) (s ?y)) ((s ?y))
|
||||
<> (add (0) (0)) (0)
|
||||
|
||||
(foo -> bar) foo
|
||||
<> (subtract (s ?x) (s ?y)) (subtract ?x ?y)
|
||||
<> (subtract (s ?x) (0)) (s ?x)
|
||||
<> (subtract (0) (s ?y)) (s ?y)
|
||||
<> (subtract (0) (0)) (0)
|
||||
|
||||
<> (multiply (s ?x) (s ?y)) (add (s ?x) (multiply (s ?x) (subtract (s ?y) (s (0))))
|
||||
<> (multiply (s ?x) (s (0)) (s ?x)
|
||||
<> (multiply (s (0)) (s ?y) (s ?y)
|
||||
<> (multiply (s ?x) (0)) (0)
|
||||
<> (multiply (0) (s ?x)) (0)
|
||||
|
||||
<> (?x + ?y) (add ?x ?y)
|
||||
<> (?x - ?y) (subtract ?x ?y)
|
||||
<> (?x * ?y) (multiply ?x ?y)
|
||||
<> (factorial (s (0))) ((s (0)))
|
||||
<> (factorial (s ?x)) ((s ?x) * factorial ((s ?x) - (s (0))))
|
||||
|
||||
(s (0)) * (s (s (0)))
|
|
@ -71,6 +71,10 @@ writereg(char r)
|
|||
{
|
||||
int depth = 0;
|
||||
char c, *s = regs[(int)r];
|
||||
if(!s) {
|
||||
printf("!! Reading from invalid register: ?%c\n", r);
|
||||
return;
|
||||
}
|
||||
if(s[0] == '(') {
|
||||
while((c = *s++)) {
|
||||
if(c == '(') depth++;
|
||||
|
|
Loading…
Reference in New Issue