[Top] [Prev] [Next] [Bottom]

CHAPTER 8 FIR_Literal
Derived Classes

Literals represent values explicit in the source code. This Chapter specifies the properties, predefined public methods, predefined functions and predefined data elements used to represent the literal derived classes shown in Table 15 on page 63.
TABLE 15. Class derivation hierarchy from FIR_Literal

Level 3 Derived Classes
(only classes derived from FIR_Literal)

Level 4 Derived Classes

Level 5 Derived Classes

E

FIR_IntegerLiteral

E

E

E

FIR_IntegerLiteral32

E

E

E

FIR_IntegerLiteral64

E

E

E

FIR_FloatingPointLiteral

E

E

E

FIR_FloatingPointLiteral32

E

E

E

FIR_FloatingPointLiteral64

E

E

E

FIR_CharacterLiteral

E

E

E

FIR_StringLiteral

E

E

E

FIR_BitStringLiteral

E

E

8.1 FIR_Literal

8.1.1 Derived Class Description

The predefined FIR_Literal class, derived from FIR, is the parent class for all explicit literal values.

8.1.2 Properties
TABLE 16. FIR_Expression Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*

IR_Kind enumeration value

None, not directly instantiated

Parent class

FIR

Predefined child classes

FIR_IntegerLiteral
FIR_IntegerLiteral32
FIR_IntegerLiteral64
FIR_FloatingPointLiteral
FIR_FloatingPointLiteral32
FIR_FloatingPointLiteral64
FIR_CharacterLiteral
FIR_StringLiteral
FIR_BitStringLiteral

Instantiation?

Indirectly via any of the derived classes of FIR_Literal

8.1.3 Predefined Data Elements

FIR_Literal has no additional predefined data elements.

8.2 FIR_IntegerLiteral

8.2.1 Derived Class Description

The predefined FIR_IntegerLiteral class is the most general representation of an integer literal. It is capable of representing any integer literal value falling within the limitations of a specific FIR foundation implementation.

8.2.2 Properties
TABLE 17. FIR_IntegerLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_INTEGER_LITERAL

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.2.3 Predefined Data Elements

Value is a two's complement representation of the integer. The sign of the integer is the sign of value[0].

struct FIR_IntegerLiteral {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int32		length;
	IR_Char		value[length];
};

8.3 FIR_IntegerLiteral32

8.3.1 Derived Class Description

The predefined FIR_IntegerLiteral32 class is an integer literal class capable of representing any literal value within the range covered by a 32 bit signed, two's complement representation.

8.3.2 Properties
TABLE 18. FIR_Integer32 Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A,

IR_Kind enumeration value

IR_INTEGER_LITERAL32

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension class

8.3.3 Predefined Data Elements

struct FIR_IntegerLiteral32 {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int32		value;
};

8.4 FIR_IntegerLiteral64

8.4.1 Derived Class Description

The predefined FIR_IntegerLiteral64 class is an integer literal class capable of representing any literal value within the range covered by a 64 bit signed, two's complement representation.

8.4.2 Properties
TABLE 19. FIR_Integer64 Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_INTEGER_LITERAL64

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension class

8.4.3 Predefined Data Elements

struct FIR_IntegerLiteral64 { 
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int64		value;
};

 

8.5 FIR_FloatingPointLiteral

8.5.1 Derived Class Description

FIR_FloatingPointLiteral is the most general representation of a floating point literal. It is capable of representing any floating point literal value within the implementation-defined limitations of a specific FIR foundation.

8.5.2 Properties
TABLE 20. FIR_FloatingPointLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_FLOATING_POINT_LITERAL

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.5.3 Predefined Data Elements

struct FIR_FloatingPointLiteral {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int32		base;
	IR_Int32		mantissa_length;
	IR_Char		mantissa[mantissa_length];
	IR_Int32		exponent_length);
	IR_Char		exponent[exponent_length];
};

8.6 FIR_FloatingPointLiteral32

8.6.1 Derived Class Description

The predefined FIR_FloatingPointLiteral32 is a floating point literal class capable of representing any literal value within the range covered by an IEEE single precision representation.

8.6.2 Properties
TABLE 21. FIR_FloatingPoint32 Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_FLOATING_POINT_LITERAL32

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.6.3 Predefined Data Elements

struct FIR_FloatingPointLiteral32 {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_FP32		value);
};

8.7 FIR_FloatingPointLiteral64

8.7.1 Derived Class Description

The predefined FIR_FloatingPointLiteral64 class is capable of representing any literal value within the range covered by an IEEE double precision representation.

8.7.2 Properties
TABLE 22. FIR_FloatingPoint64 Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_FLOATING_POINT_LITERAL64

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.7.3 Predefined Data Elements

struct FIR_FloatingPointLiteral32 {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_FP64		value);
};

8.8 FIR_CharacterLiteral

8.8.1 Derived Class Description

The predefined FIR_CharacterLiteral class represents character literals defined by ISO Std. 8859-1.

8.8.2 Properties
TABLE 23. FIR_CharacterLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_CHARACTER_LITERAL

Parent class

FIR_Literal

Predefined child classes

None

Instantiation?

Dynamically via new

Application-specific data elements

Via extension classes

Public data elements

None

8.8.3 Predefined Data Elements

struct FIR_CharacterLiteral {
	IR_Kind			kind;
	FIR_Source 		source_locator;
	IR_Char			value;
};

8.9 FIR_StringLiteral

8.9.1 Derived Class Description

The predefined FIR_StringLiteral class represents an array of zero or more character literals defined by ISO Std. 8859-1.

8.9.2 Properties
TABLE 24. FIR_StringLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_STRING_LITERAL

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.9.3 Predefined Data Elements

struct FIR_StringLiteral {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int32		length;
	IR_Char		value[length];
};

8.10 FIR_BitStringLiteral

8.10.1 Derived Class Description

The FIR_BitStringLiteral represents an array of zero or more literals having either character literal value `0' or `1'.

8.10.2 Properties
TABLE 25. FIR_BitStringLiteral Properties

Applicable language(s)

VHDL-87, VHDL-93, VHDL-98*,VHDL-A

IR_Kind enumeration value

IR_BIT_STRING_LITERAL

Parent class

FIR_Literal

Predefined child classes

None

Application-specific data elements

Via extension classes

8.10.3 Predefined Public Methods

struct FIR_IntegerLiteral {
	IR_Kind		kind;
	FIR_Source 		source_locator;
	IR_Int32		length;
	IR_Char		value[length];
};



[Top] [Prev] [Next] [Bottom]

aire@vhdl.org
Copyright © 1995, 1996 FTL Systems Inc. All rights reserved except as noted in the document copyright statement.