projects
/
cparser
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
More work on cparser:
[cparser]
/
write_fluffy.c
diff --git
a/write_fluffy.c
b/write_fluffy.c
index
651bcff
..
e9db530
100644
(file)
--- a/
write_fluffy.c
+++ b/
write_fluffy.c
@@
-5,6
+5,7
@@
#include "ast_t.h"
#include "type_t.h"
#include "ast_t.h"
#include "type_t.h"
+#include "type.h"
#include "adt/error.h"
static const context_t *global_context;
#include "adt/error.h"
static const context_t *global_context;
@@
-216,7
+217,11
@@
static void write_expression(const expression_t *expression)
switch(expression->type) {
case EXPR_CONST:
constant = (const const_t*) expression;
switch(expression->type) {
case EXPR_CONST:
constant = (const const_t*) expression;
- fprintf(out, "%d", constant->value);
+ if(is_type_integer(expression->datatype)) {
+ fprintf(out, "%d", constant->v.int_value);
+ } else {
+ fprintf(out, "%Lf", constant->v.float_value);
+ }
break;
case EXPR_UNARY:
write_unary_expression((const unary_expression_t*) expression);
break;
case EXPR_UNARY:
write_unary_expression((const unary_expression_t*) expression);