We can codegen now
This commit is contained in:
@@ -155,6 +155,33 @@ static inline ResultType(Nothing, charptr) parseLiteral(SolsParser* parser) {
|
||||
return Error(Nothing, charptr, err.str);
|
||||
}
|
||||
node.as.success.line = peek.as.success.line;
|
||||
GroundValue value;
|
||||
switch (peek.as.success.as.literal.type) {
|
||||
case SLT_INT: {
|
||||
value = groundCreateValue(INT, peek.as.success.as.literal.as.intv);
|
||||
break;
|
||||
}
|
||||
case SLT_DOUBLE: {
|
||||
value = groundCreateValue(DOUBLE, peek.as.success.as.literal.as.doublev);
|
||||
break;
|
||||
}
|
||||
case SLT_STRING: {
|
||||
value = groundCreateValue(STRING, peek.as.success.as.literal.as.stringv);
|
||||
break;
|
||||
}
|
||||
case SLT_BOOL: {
|
||||
value = groundCreateValue(BOOL, peek.as.success.as.literal.as.boolv);
|
||||
break;
|
||||
}
|
||||
case SLT_CHAR: {
|
||||
value = groundCreateValue(CHAR, peek.as.success.as.literal.as.charv);
|
||||
break;
|
||||
}
|
||||
}
|
||||
node.as.success.accessArg = (GroundArg) {
|
||||
.type = VALUE,
|
||||
.value.value = value
|
||||
};
|
||||
addChildToSolsNode(parser->currentParent, node.as.success);
|
||||
return Success(Nothing, charptr, {});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user