コード例 #1
0
ファイル: write_jna.c プロジェクト: davidgiven/cparser
static void write_expression(const expression_t *expression)
{
	/* TODO */
	switch(expression->kind) {
	case EXPR_LITERAL_INTEGER:
		write_integer(&expression->literal);
		break;

	case EXPR_ENUM_CONSTANT: {
		/* UHOH... hacking */
		entity_t *entity = expression->reference.entity;
		write_enum_name(entity->enum_value.enume);
		fprintf(out, ".%s.val", entity->base.symbol->string);
		break;
	}
	case EXPR_UNARY_CASES:
		write_unary_expression(&expression->unary);
		break;
	case EXPR_BINARY_CASES:
		write_binary_expression(&expression->binary);
		break;
	default:
		panic("not implemented expression");
	}
}
コード例 #2
0
ファイル: write_fluffy.c プロジェクト: qznc/cparser
static void write_expression(const expression_t *expression)
{
	switch(expression->kind) {
	case EXPR_LITERAL_INTEGER:
		fprintf(out, "%s", expression->literal.value.begin);
		break;
	EXPR_UNARY_CASES
		write_unary_expression((const unary_expression_t*) expression);
		break;
	default:
		panic("not implemented expression");
	}
}