NuSMV/code/nusmv/core/compile/type_checking/checkers/checkersInt.h File Reference

#include "nusmv/core/compile/type_checking/checkers/CheckerBase.h"
#include "nusmv/core/node/node.h"
#include "nusmv/core/opt/opt.h"

Go to the source code of this file.

Typedefs

typedef boolean(* TypeCheckingViolationHandler_ptr )(CheckerBase_ptr checker, TypeSystemViolation violation, node_ptr expression)
 The type of a type violation handler function.

Enumerations

enum  TypeSystemViolation {
  TC_VIOLATION_FIRST, TC_VIOLATION_UNDEF_IDENTIFIER, TC_VIOLATION_AMBIGUOUS_IDENTIFIER, TC_VIOLATION_TYPE_MANDATORY,
  TC_VIOLATION_TYPE_BACK_COMP, TC_VIOLATION_TYPE_WARNING, TC_VIOLATION_OUT_OF_WORD_WIDTH, TC_VIOLATION_INCORRECT_WORD_WIDTH,
  TC_VIOLATION_OUT_OF_WORDARRAY_WIDTH, TC_VIOLATION_INCORRECT_WORDARRAY_WIDTH, TC_VIOLATION_DUPLICATE_CONSTANTS, TC_VIOLATION_ATTIME_NESTED,
  TC_VIOLATION_ATTIME_NUM_REQ, TC_VIOLATION_PARAMS_NUM_ERROR, TC_VIOLATION_PARAMS_TYPE_ERROR, TC_VIOLATION_DIFFERENT_TYPE_PARAMS_ERROR,
  TC_VIOLATION_UNCONSTANT_EXPRESSION, TC_VIOLATION_INVALID_RANGE, TC_VIOLATION_LAST
}
 

The private interface of the checkers sub-package.

More...

Functions

boolean TypeSystemViolation_is_valid (TypeSystemViolation violation)
 Returns true iff given violation number is supported by the system.

Typedef Documentation

typedef boolean(* TypeCheckingViolationHandler_ptr)(CheckerBase_ptr checker, TypeSystemViolation violation, node_ptr expression)

The type of a type violation handler function.

The violation handler function is invoked when an expression being checked violates the type system.

The violation function takes as parameters the checker it is begin called, a kind of the type system violation (see TypeSystemViolation), and the expression where this violation has been detected. The function returns a boolean value indicating whether the given kind of violation should be considered as an error, i.e. the type checking has to terminate. So, if the violation handler returns false, the type checking will try to continue.

In the case of violations related to the incorrectly formed types, the input expression should be CONS with the variable name (the problematic type belongs to) as the left child and the type's body as the left child. The line info of this expression should be correct (suitable for error messages).

NB: Not all kinds of type system violation may be ignored.


Enumeration Type Documentation

The private interface of the checkers sub-package.

Author:
Cavada Roberto This package contains the functions required to the checkers sub-package internally

A set of constants, each of which identifies particular kinds of possible type system violations. These constants are one of the parameters passed to a violation handler when a type system violation is encountered. Depending on the kind of the type violation, the violation handler will output an error or warning message or possibly ignore the violation.

Enumerator:
TC_VIOLATION_FIRST 
TC_VIOLATION_UNDEF_IDENTIFIER 
TC_VIOLATION_AMBIGUOUS_IDENTIFIER 
TC_VIOLATION_TYPE_MANDATORY 
TC_VIOLATION_TYPE_BACK_COMP 
TC_VIOLATION_TYPE_WARNING 
TC_VIOLATION_OUT_OF_WORD_WIDTH 
TC_VIOLATION_INCORRECT_WORD_WIDTH 
TC_VIOLATION_OUT_OF_WORDARRAY_WIDTH 
TC_VIOLATION_INCORRECT_WORDARRAY_WIDTH 
TC_VIOLATION_DUPLICATE_CONSTANTS 
TC_VIOLATION_ATTIME_NESTED 
TC_VIOLATION_ATTIME_NUM_REQ 
TC_VIOLATION_PARAMS_NUM_ERROR 
TC_VIOLATION_PARAMS_TYPE_ERROR 
TC_VIOLATION_DIFFERENT_TYPE_PARAMS_ERROR 
TC_VIOLATION_UNCONSTANT_EXPRESSION 
TC_VIOLATION_INVALID_RANGE 
TC_VIOLATION_LAST 

Function Documentation

boolean TypeSystemViolation_is_valid ( TypeSystemViolation  violation  ) 

Returns true iff given violation number is supported by the system.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on 14 Oct 2015 for NuSMV Developers Manual by  doxygen 1.6.1