swmaestro06-apus / apus

apus program. it's a binary parser using programmable formats.
10 stars 1 forks source link

Ast: Statement logic fix #93

Closed enghqii closed 9 years ago

enghqii commented 9 years ago
  1. ForStatement나 IfStatement에서 Expression을 사용할때, Value와 비교해 주지 않아서 조건문이 제대로 판별되지 않던 문제를 Value::IsTrue 멤버 함수를 사용해서 비교해주는 것으로 해결했습니다.
  2. Statement의 인자들에 nullptr이 들어가는 경우가 있을 수 있기 때문에, 실행할 때 nullptr인지 아닌지 확인하는 루틴을 추가했습니다.
namhyung commented 9 years ago

ForStmt에서 terminate condition이 없으면 body가 실행되지 않고 계속 무한루프 돌 것 같은데 문제없나요?

enghqii commented 9 years ago

C언어에서 for (;;) {} 하면 무한루프를 도는 것 처럼 ForStatement도 그대로 따라하는게 낫지 않을까 싶습니다

enghqii commented 9 years ago

for 문에서 무한루프를 돌때 body부분 로직도 수행하게 수정, ReturnStatement를 비롯한 클래스 생성자 부분 initializer사용하게 수정했습니다

enghqii commented 9 years ago

커밋 내용 이동, ExitStatement도 같은 문제가 있던걸 같이 수정했습니다.