Closed DistinctWind closed 1 year ago
将DOUBLE
改为FLOAT
,因为float才是浮点数的意思,double疑似是C++独有的,没必要引入到decaf语言当中
现在编译器还未实现FloatConstant
,所以编译不能通过,但是我还是在此处提交一次。
首先我发现,在Parser生成的C++代码中可以看到
{
yylhs.value.as < std::shared_ptr<decaf::ast::Expr> > () = std::make_shared<FloatConstant>(yystack_[0].value.as < double > ());
}
从这里可以看出,一旦使用了%define api.value.type variant
,那么语义值将会直接被看做对应类型的值value.as < double >
其次,我发现没有什么可以添加到单元测试中的新结构,关键是现有的结构要支持浮点数。
目标
添加浮点数类型,支持浮点数与现有的类型系统结合。