WONKY



LOG | FILES | OVERVIEW


#ifndef WONKY_EXPRESSION_CONSTRAINTS_H
#define WONKY_EXPRESSION_CONSTRAINTS_H WONKY_EXPRESSION_CONSTRAINTS_H
#include <ast.h>
#include <common.h>

_Bool constraint_check_modulo_expression(struct AST_Expression *left,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_multiplicative_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_additive_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_shift_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_bitwise_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_relational_operation(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_equality_expression(struct AST_Expression *left,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_logical_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_simple_assignment_expression(struct AST_Expression *left,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_compound_assignment_expression(struct AST_Expression *left,struct AST_Expression *right,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_comma_expression(struct AST_Expression *left,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_array_subscript_expression(struct AST_Expression *left,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_struct_union_member_expression(struct AST_Expression *left,struct identifier *id,struct Translation_Data *translation_data);
_Bool constraint_check_struct_union_member_trough_ptr_expression(struct AST_Expression *left,struct identifier *id,struct Translation_Data *translation_data);
_Bool constraint_check_conditional_expression(struct AST_Expression *left,struct AST_Expression *center,struct AST_Expression *right,struct Translation_Data *translation_data);
_Bool constraint_check_function_expression(struct AST_Function_Expression *proposed_function,struct Translation_Data *translation_data);
_Bool constraint_check_indirection_expression(struct AST_Expression *operand,struct Translation_Data *translation_data);
_Bool constraint_check_address_expression(struct AST_Expression *operand,struct Translation_Data *translation_data);
_Bool constraint_check_sizeof_by_type(struct Type *type);
_Bool constraint_check_unary_plus_minus(struct AST_Expression *operand,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_unary_bitwise_not(struct AST_Expression *operand,struct Translation_Data *translation_data);
_Bool constraint_check_unary_logical_not(struct AST_Expression *operand,struct Translation_Data *translation_data);
_Bool constraint_check_postfix_inc_dec_expression(struct AST_Expression *operand,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_prefix_inc_dec_expression(struct AST_Expression *operand,enum AST_Type operation,struct Translation_Data *translation_data);
_Bool constraint_check_sizeof_expression(struct AST_Expression *expression,struct Translation_Data *translation_data);
_Bool constraint_check_cast_expression(struct Type *type,struct AST_Expression *expression,struct Translation_Data *translation_data);


#endif