%PREFIX%=SEMANTICERROR_

NAME_CANNOT_HAVE_GENERIC_PARAMETERS_{0}=Name {0} can not have generic parameters
AUTO_CLASS_MUST_NOT_HAVE_POINTERS=Auto class can not have fields of pointer type
AUTO_CLASS_MUST_NOT_HAVE_PARENTS=Auto class can not have parents or implement interfaces
UNDEFINED_NAME_REFERENCE_{0}=Undefined name reference '{0}'
TWO_TYPE_CONVERTIONS_POSSIBLE_FIRST_TYPE_{0}_SECOND_TYE_{1}=Two type of convertions are possible: to type '{0}' and to type '{1}'
CAN_NOT_CONVERT_TYPES_FROM_{0}_TO_{1}=Incompatible types: '{0}' and '{1}'
NO_FUNCION_WITH_THIS_NAME=No function with this name
INVALID_FUNCTION_PARAMETERS_NUM=Wrong number of function parameters
INVALID_PROCEDURE_PARAMETERS_NUM=Wrong number of procedure parameters
NO_FUNCTION_WITH_SAME_PARAMETERS_NUM=No overloaded function with same number of parameters
INVALID_FUNCTION_ARGUMENTS=Invalid function arguments
NO_OVERLOADED_FUNCTION_WITH_SAME_ARGUMENTS=No overloaded function with same arguments
SEVERAL_FUNCTIONS_CAN_BE_CALLED=Several functions can be called
FUNCTION_NAME_USED_TO_DEFINE_ANOTHER_KIND_OF_OBJECT=Function name is used to define another kind of object
FUNCTION_DUPLICATE_DEFINITION=Duplicate function definition 
NAME_REDEFINITION_{0}=Duplicate identifier '{0}'
POSSIBLE_TWO_TYPE_CONVERTIONS=Two type of convertions are possible
THIS_IS_NOT_FUNCTION_NAME=This is not a function name
EXPECTED_ANOTHER_KIND_OF_OBJECT=Expected another kind of object
OPERATOR_{0}_CAN_NOT_APPLIED_TO_TYPE_{1}=Operator '{0}' cannot be applied to type '{1}'
TWO_OPERATORS_CAN_BE_CALLED_{0}_AND_{1}=Two operators can be called: '{0}' and '{1}'
CLASS_CAN_NOT_BE_DEFINED_IN_TYPE_OR_FUNCTION=Class cannot be defined in a type or function
ONLY_ONE_PARAMETER_NAME_WITH_DEFAULT_VALUE_ALLOWED=Only one parameter with default value allowed
NEED_DEFAULT_VALUE_FOR_PARAMETER=Default value for parameter needed
DUPLICATE_ATTRIBUTE_APPLICATION=Duplicate modifier
VAR_PARAMETER_CAN_NOT_HAVE_DEFAULT_VALUE=A var-parameter can not have default value
DUPLICATE_FUNCTION_DEFINITION=Duplicate function definition
THIS_EXPRESSION_CAN_NOT_BE_PASSED_BY_ADDRESS=A var or const argument must be an assignable variable
MEMBER_{0}_IS_NOT_DECLARED_IN_TYPE_{1}=The type '{1}' does not contain a definition for '{0}'
MEMBER_{0}_IS_NOT_DECLARED_IN_NAMESPACE_{1}=The namespace '{0}' does not contaion definition for '{1}'
CAN_NOT_CALL_STATIC_MEMBER_{0}_WITH_EXPRESSION=Static member '{0}' cannot be accessed with an instance reference
CAN_NOT_CALL_NON_STATIC_MEMBER_{0}_WITH_TYPE_{1}=An object reference is required for the nonstatic field, method, or property '{0}'
CAN_NOT_REFERENCE_TO_STATIC_FIELD_{0}_WITH_EXPRESSION=Static field '{0}' cannot be accessed with an instance reference
CAN_NOT_REFERENCE_TO_NONSTATIC_FIELD_{0}_WITH_TYPE=An object reference is required for the nonstatic field '{0}'
FUNCTION_EXPECTED_PROCEDURE_{0}_MEET=Function expected, procedure '{0}' met
ONLY_PROCEDURE_NAME_ALLOWED_IN_CLASS_FUNCTION_DEFINITION=Only procedure name allowed in method definition
BREAK_STATEMENT_WITHOUT_COMPREHENSIVE_CYCLE=No enclosing loop out of which to break
CONTINUE_STATEMENT_WITHOUT_COMPREHENSIVE_CYCLE=No enclosing loop out of which to continue
FOR_LOOP_CONTROL_MUST_BE_SIMPLE_LOCAL_VARIABLE=Loop variable must be a simple local variable
ORDINAL_TYPE_EXPECTED=Ordinal type expected
ORDINAL_OR_STRING_TYPE_EXPECTED=Ordinal or string type expected
CAN_NOT_REFERENCE_TO_NONSTATIC_PROPERTY_{0}_WITH_TYPE=An object reference is required for the nonstatic property '{0}'
CAN_NOT_REFERENCE_TO_STATIC_PROPERTY_{0}_WITH_EXPRESSION=Static property '{0}' cannot be accessed with an instance reference
THIS_PROPERTY_{0}_CAN_NOT_BE_READED=The property '{0}' has not read-accessor
THIS_PROPERTY_{0}_CAN_NOT_BE_WRITED=The property '{0}' can not write-accessor
PROPERTY_{0}_AND_READ_ACCESSOR_{1}_PARAMETERS_COUNT_CONVERGENCE=Mismatched number of parameters of property '{0}' and method '{1}'
PROPERTY_{0}_AND_WRITE_ACCESSOR_{1}_PARAMETERS_COUNT_CONVERGENCE=Mismatched number of parameters of property '{0}' and method '{1}'
PROPERTY_{0}_AND_WRITE_ACCESSOR_{1}_PARAMS_TYPE_CONVERGENCE=Mismatched type of parameters of property '{0}' and method '{1}'
PROPERTY_{0}_AND_READ_ACCESSOR_{1}_PARAMS_TYPE_CONVERGENCE=Mismatched type of parameters of property '{0}' and method '{1}'
PROPERTY_{0}_AND_READ_ACCESSOR_{1}_RETURN_VALUE_TYPE_CONVERGENCE=Mismatched return value type of property '{0}' and method '{1}'
PROPERTY_READ_ACCESSOR_CAN_NOT_BE_PROCEDURE=A read-accessor ca not be a procedure
PROPERTY_{0}_AND_WRITE_ACCESSOR_LAST_PARAMETER_TYPE_CONVERGENCE=Mismatched type of property '{0}' and the type of latter parameter in write accessor
PROPERTY_WRITE_ACCESSOR_CAN_NOT_BE_FUNCTION=A write-accessor can not be a function 
PROPERTY_{0}_REFERENCE_WITH_INVALID_PARAMS_COUNT=Property reference with invalid number of arguments
NO_DEFAULT_PROPERTY_TO_TYPE_{0}=No default property for type '{0}'
DUPLICATE_DEFAULT_PROPERTY_IN_CLASS=Duplicate definition of default property
DEFAULT_PROPERTY_MUST_BE_INDEXED=Default property must be an array type
FORWARD_DEFINITION_WITH_FUNCTION_BODY=Forward definition with a function body is not allowed 
FUNCTION_WITHOUT_BODY_MUST_HAVE_FORWARD_ATTRIBUTE=Function without body must have 'forward' attribute
DIFFERENT_PARAMETER_NAME_IN_FUNCTION_DEFINITION_{0}_AND_PREDEFINITION_{1}=Function predefinition and definition have different parameter name: '{0}' and '{1}'
FUNCTION_DEFINITION_HAVE_DIFFERENT_PARAMS_WITH_PREDEFINITION=Function definition and predefinition have different parameters
FUNCTION_PREDEFINITION_AND_DEFINITION_HAVE_DIFFERENT_RESULT_TYPES=Function predefinition and definition have different return type
FUNCTION_PREDEFINITION_WITHOUT_DEFINITION=Function has no realization
DIVISION_BY_ZERO_CONSTANT=Division by zero
TYPE_NAME_EXPECTED=A name of type expected
ONLY_COMMON_TYPE_METHOD_DEFINITION_ALLOWED=Illegal method declaration
CONSTANT_EXPRESSION_EXPECTED=Constant expression expected
EXCEPTION_TYPE_MUST_BE_SYSTEM_EXCEPTION_OR_DERIVED_FROM_EXCEPTION=The type caught or thrown must be derived from System.Exception
STATIC_KEYWORD_ALLOWED_ONLY_WITH_METHOD=Only method can have 
CAN_NOT_BE_VIRTUAL_STATIC_METHOD=A static method or property cannot be marked as override, virtual or abstract 
ONLY_CONSTRUCTOR_OF_TYPE_ALLOWED=Constructor must be method
CONSTRUCTOR_MUST_BE_REALIZED_WITH_CONSTRUCTOR_KEYWORD=Function header doesn't match the forward declaration: constructor expected 
FUNCTION_{0}_ALREADY_HAVE_A_BODY=The function '{0}' has already a body
NO_METHOD_TO_OVERRIDE= No suitable method found to override
CASE_CONSTANT_VARIANT_COINCIDE_WITH_ANOTHER=The label already occurs in this case statement
CASE_CONSTANT_VARIANT_COINCIDE_WITH_DIAPASON=The label already occurs in this case statement
CASE_DIAPASON_VARIANT_INTERSECTION=The label already occurs in this case statement
CAN_NOT_INCREMENT_ORDINAL_TYPE_VALUE=Cannot increment ordinal type value
CAN_NOT_DECREMENT_ORDINAL_TYPE_VALUE=Cannot decrement ordinal type value
EXPECTED_DELEGATE=Procedure or function name expected
EXPECTED_STATIC_METHOD=A static method expected
EXPECTED_NON_STATIC_METHOD=A nonstatic method expected
CAN_NOT_EXPLICITLY_CONVERT_TYPE_{0}_TO_TYPE_{1}=Cannot explicitly convert type '{0}' to type '{1}'
ONLY_ONE_PARAMETER_OF_TYPE_CONVERSION_ALLOWED=Only one parameter in type conversion is allowed 
REAL_TYPE_IN_DOUBLE_COLON_EXPRESSION_EXPECTED=Expression in this format expression must have real type
ONLY_ONE_PARAMS_PARAMETER_ALLOWED=A params parameter must be the last parameter in a formal parameter list
ONLY_UNSIZED_ARRAY_PARAMS_PARAMETER_ALLOWED=The params parameter must be a single dimensional array
{0}_DIMENSIONAL_ARRAY_CAN_NOT_HAVE_{1}_AND_MORE_INDEXING=Wrong number of indices. '{0}' expected
TUPLE_CAN_HAVE_ONLY_ONE_INDEX=Tuple can have only one index
TUPLE_INDEX_OUT_OF_RANGE_{0}=Tuple index must be >=0 and <={0}
TUPLE_INDEX_MUST_BE_INTEGER_CONSTANT=Tuple index must be integer constant
INHERITED_EXPECTED_IN_CLASS='inherited' can be used only in methods
NO_BASE_CLASS_DEFINED_BUT_INHERITED_MEET='inherited' is not allowed, because the class has no ancestor.
NO_METHOD_{0}_IN_CLASS_{1}=No method '{0}' in class '{1}'
OVERLOAD_OPERATOR_CAN_NOT_BE_PROCEDURE=Overloaded operator cannot be a procedure
OVERLOADED_OPERATOR_MUST_BE_STATIC_FUNCTION=Overloaded operator must be a static function
NOT_SUPPORTED_BY_THIS_VERSION_OF_COMPILER=Not supported by current version of compiler
NEGATIVE_ARRAY_LENGTH_({0})_NOT_ALLOWED=Upper bound of range is less than lower bound
INCOMPATIBLE_ARRAY_BOUNDS_TYPES=Incompatible types of array bounds
CAN_NOT_APPLY_SETLENGTH_TO_THIS_OPERAND_TYPE=Cannot call SetLength for this type
FUNCTION_NEED_RETURN_TYPE=Function must have a return type
