diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2018-09-07 13:14:54 +0200 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2018-09-07 13:14:54 +0200 |
commit | c34d5150cd44af39b12cf5af7ff627677bb82c02 (patch) | |
tree | 7c3f96ed532d2500268ce3bddd8e5ac530ab5615 /minie | |
parent | 6b354f74920750e3bb36748b439d09a85d8f3364 (diff) | |
download | compilertests-c34d5150cd44af39b12cf5af7ff627677bb82c02.tar.gz compilertests-c34d5150cd44af39b12cf5af7ff627677bb82c02.tar.bz2 |
some easy sign handling in expressions
Diffstat (limited to 'minie')
-rw-r--r-- | minie/e2c.c | 6 | ||||
-rw-r--r-- | minie/test4.e | 2 |
2 files changed, 7 insertions, 1 deletions
diff --git a/minie/e2c.c b/minie/e2c.c index 8c33b0d..338695d 100644 --- a/minie/e2c.c +++ b/minie/e2c.c @@ -378,6 +378,12 @@ static void term( void ) static void expression( void ) { + if( sym == S_plus ) { + sym = getSym( ); + } else if( sym == S_minus ) { + sym = getSym( ); + emit( "-" ); + } term( ); while( sym == S_plus || sym == S_minus ) { if( sym == S_plus ) emit( "+" ); diff --git a/minie/test4.e b/minie/test4.e index 23c6278..303542b 100644 --- a/minie/test4.e +++ b/minie/test4.e @@ -7,6 +7,6 @@ var begin x := 7+4*(3-1/2); - y := 22; + y := -22+(-x); z := x; end |