csyonghe / Spire

Other
174 stars 22 forks source link

Some small bugs in Spire front end #10

Closed cherudim9 closed 8 years ago

cherudim9 commented 8 years ago

Xor operator ^ is not processed in ParseOperators(). (https://github.com/csyonghe/Spire/blob/master/Source/SpireCore/Lexer.cpp#L55)

cherudim9 commented 8 years ago

Also, regarding lexer, the question mark ? should be added into the list in IsPunctuation() (https://github.com/csyonghe/Spire/blob/master/Source/SpireCore/Lexer.cpp#L24).

cherudim9 commented 8 years ago

In compiler front end, select instructions are not being properly processed. On https://github.com/csyonghe/Spire/blob/master/Source/SpireCore/CodeGenerator.cpp#L713 , in the end of VisitSelectExpression(), an expression should be pushed into expression stack.

csyonghe commented 8 years ago

bugs fixed. Thanks!