--------------------------------------------------------------------------------
0 |
--------------------------------------------------------------------------------
1 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
2 | architecture RTL of FIFO is
<class 'vsg.token.architecture_body.architecture_keyword'>
<class 'vsg.token.architecture_body.identifier'>
<class 'vsg.token.architecture_body.of_keyword'>
<class 'vsg.token.architecture_body.entity_name'>
<class 'vsg.token.architecture_body.is_keyword'>
--------------------------------------------------------------------------------
3 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
4 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
5 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
6 |   procedure PARITY
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
--------------------------------------------------------------------------------
7 |    (signal X : in std_logic_vector;
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic_vector'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
8 |     signal Y : out std_logic);
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.out_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
9 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
10 |   procedure Proc_1 (constant In1: in Integer; variable O1: out Integer);
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_constant_declaration.constant_keyword'>
<class 'vsg.token.interface_constant_declaration.identifier'>
<class 'vsg.token.interface_constant_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.interface_list.semicolon'>
<class 'vsg.token.interface_variable_declaration.variable_keyword'>
<class 'vsg.token.interface_variable_declaration.identifier'>
<class 'vsg.token.interface_variable_declaration.colon'>
<class 'vsg.token.mode.out_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
11 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
12 |   procedure Proc_2 (signal Sig: inout Bit);
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.inout_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
13 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
14 |   procedure sum2num(signal a: in signed(3 downto 0);
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.signed'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
15 |                     signal b: in signed(3 downto 0);
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.signed'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
16 |                     signal sum : out signed (3 downto 0));
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.out_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.signed'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
17 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
18 |   -- Test parameter keyword
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
19 |   procedure Proc_2 parameter (signal Sig: inout Bit);
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.parameter_keyword'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.inout_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
20 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
21 |   -- Test subprogram header
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
22 |   procedure Proc_2
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
--------------------------------------------------------------------------------
23 |     generic (G1: INTEGER; G2: INTEGER := G1; G3, G4, G5, G6: INTEGER)
<class 'vsg.token.subprogram_header.generic_keyword'>
<class 'vsg.token.subprogram_header.open_parenthesis'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.interface_list.semicolon'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.interface_unknown_declaration.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.interface_list.semicolon'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.subprogram_header.close_parenthesis'>
--------------------------------------------------------------------------------
24 |     parameter (signal Sig: inout Bit);
<class 'vsg.token.procedure_specification.parameter_keyword'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.inout_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
25 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
26 |   -- Test subprogram header with generic_map_aspect
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
27 |   procedure Proc_2
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
--------------------------------------------------------------------------------
28 |     generic (G1: INTEGER; G2: INTEGER := G1; G3, G4, G5, G6: INTEGER)
<class 'vsg.token.subprogram_header.generic_keyword'>
<class 'vsg.token.subprogram_header.open_parenthesis'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.interface_list.semicolon'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.interface_unknown_declaration.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.interface_list.semicolon'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.identifier_list.comma'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.integer'>
<class 'vsg.token.subprogram_header.close_parenthesis'>
--------------------------------------------------------------------------------
29 |     generic map (complex_fixed_left => 3, complex_fixed_right => -12,
<class 'vsg.token.generic_map_aspect.generic_keyword'>
<class 'vsg.token.generic_map_aspect.map_keyword'>
<class 'vsg.token.generic_map_aspect.open_parenthesis'>
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.adding_operator.minus'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
--------------------------------------------------------------------------------
30 |                  complex_fixed_formal_pkg => fixed_dsp_pkg)
<class 'vsg.token.association_element.formal_part'>
<class 'vsg.token.association_element.assignment'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.generic_map_aspect.close_parenthesis'>
--------------------------------------------------------------------------------
31 |     parameter (signal Sig: inout Bit);
<class 'vsg.token.procedure_specification.parameter_keyword'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.inout_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
32 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
33 |   -- Test parenthesis procedure interface
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
34 |   procedure proc_3 (signal sig1: in std_logic_vector(3 downto 0));
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic_vector'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
35 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
36 |   procedure proc_3 (constant con1: in std_logic_vector(3 downto 0));
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_constant_declaration.constant_keyword'>
<class 'vsg.token.interface_constant_declaration.identifier'>
<class 'vsg.token.interface_constant_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic_vector'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
37 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
38 |   procedure proc_3 (variable var1: in std_logic_vector(3 downto 0));
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_variable_declaration.variable_keyword'>
<class 'vsg.token.interface_variable_declaration.identifier'>
<class 'vsg.token.interface_variable_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic_vector'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
39 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
40 |   procedure proc_3 (sig1: in std_logic_vector(3 downto 0));
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic_vector'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_declaration.semicolon'>
--------------------------------------------------------------------------------
41 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
42 |   -- Test default assignments
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
43 |   procedure proc_4 (
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
--------------------------------------------------------------------------------
44 |     constant a : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_constant_declaration.constant_keyword'>
<class 'vsg.token.interface_constant_declaration.identifier'>
<class 'vsg.token.interface_constant_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_constant_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
45 |     variable b : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_variable_declaration.variable_keyword'>
<class 'vsg.token.interface_variable_declaration.identifier'>
<class 'vsg.token.interface_variable_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_variable_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
46 |     signal   c : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'))
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_signal_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
--------------------------------------------------------------------------------
47 |   ) is
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_body.is_keyword'>
--------------------------------------------------------------------------------
48 |   begin
<class 'vsg.token.subprogram_body.begin_keyword'>
--------------------------------------------------------------------------------
49 |     b <= a;
<class 'vsg.token.simple_waveform_assignment.target'>
<class 'vsg.token.simple_waveform_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_waveform_assignment.semicolon'>
--------------------------------------------------------------------------------
50 |   end procedure proc_4;
<class 'vsg.token.subprogram_body.end_keyword'>
<class 'vsg.token.subprogram_kind.procedure_keyword'>
<class 'vsg.token.subprogram_body.designator'>
<class 'vsg.token.subprogram_body.semicolon'>
--------------------------------------------------------------------------------
51 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
52 |   -- Test default assignments
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
53 |   procedure proc_4 (
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
--------------------------------------------------------------------------------
54 |     variable b : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_variable_declaration.variable_keyword'>
<class 'vsg.token.interface_variable_declaration.identifier'>
<class 'vsg.token.interface_variable_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_variable_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
55 |     signal   c : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_signal_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
56 |     constant a : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'))
<class 'vsg.token.interface_constant_declaration.constant_keyword'>
<class 'vsg.token.interface_constant_declaration.identifier'>
<class 'vsg.token.interface_constant_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_constant_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
--------------------------------------------------------------------------------
57 |   ) is
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_body.is_keyword'>
--------------------------------------------------------------------------------
58 |   begin
<class 'vsg.token.subprogram_body.begin_keyword'>
--------------------------------------------------------------------------------
59 |     b <= a;
<class 'vsg.token.simple_waveform_assignment.target'>
<class 'vsg.token.simple_waveform_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_waveform_assignment.semicolon'>
--------------------------------------------------------------------------------
60 |   end procedure proc_4;
<class 'vsg.token.subprogram_body.end_keyword'>
<class 'vsg.token.subprogram_kind.procedure_keyword'>
<class 'vsg.token.subprogram_body.designator'>
<class 'vsg.token.subprogram_body.semicolon'>
--------------------------------------------------------------------------------
61 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
62 |   -- Test default assignments
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
63 |   procedure proc_4 (
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
--------------------------------------------------------------------------------
64 |     signal   c : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_signal_declaration.signal_keyword'>
<class 'vsg.token.interface_signal_declaration.identifier'>
<class 'vsg.token.interface_signal_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_signal_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
65 |     constant a : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'));
<class 'vsg.token.interface_constant_declaration.constant_keyword'>
<class 'vsg.token.interface_constant_declaration.identifier'>
<class 'vsg.token.interface_constant_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_constant_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.interface_list.semicolon'>
--------------------------------------------------------------------------------
66 |     variable b : in t_slv_array(0 to 1)(7 downto 0) := (others => (others => '0'))
<class 'vsg.token.interface_variable_declaration.variable_keyword'>
<class 'vsg.token.interface_variable_declaration.identifier'>
<class 'vsg.token.interface_variable_declaration.colon'>
<class 'vsg.token.mode.in_keyword'>
<class 'vsg.token.type_mark.name'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.to'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.index_constraint.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.direction.downto'>
<class 'vsg.parser.todo'>
<class 'vsg.token.index_constraint.close_parenthesis'>
<class 'vsg.token.interface_variable_declaration.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.token.aggregate.open_parenthesis'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.element_association.assignment'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.aggregate.close_parenthesis'>
<class 'vsg.token.aggregate.close_parenthesis'>
--------------------------------------------------------------------------------
67 |   ) is
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_body.is_keyword'>
--------------------------------------------------------------------------------
68 |   begin
<class 'vsg.token.subprogram_body.begin_keyword'>
--------------------------------------------------------------------------------
69 |     b <= a;
<class 'vsg.token.simple_waveform_assignment.target'>
<class 'vsg.token.simple_waveform_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_waveform_assignment.semicolon'>
--------------------------------------------------------------------------------
70 |   end procedure proc_4;
<class 'vsg.token.subprogram_body.end_keyword'>
<class 'vsg.token.subprogram_kind.procedure_keyword'>
<class 'vsg.token.subprogram_body.designator'>
<class 'vsg.token.subprogram_body.semicolon'>
--------------------------------------------------------------------------------
71 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
72 |   -- Test parenthesis
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
73 |   package body demo_pkg is
<class 'vsg.token.package_body.package_keyword'>
<class 'vsg.token.package_body.body_keyword'>
<class 'vsg.token.package_body.package_simple_name'>
<class 'vsg.token.package_body.is_keyword'>
--------------------------------------------------------------------------------
74 |     procedure demo(any:natural) is
<class 'vsg.token.procedure_specification.procedure_keyword'>
<class 'vsg.token.procedure_specification.designator'>
<class 'vsg.token.procedure_specification.open_parenthesis'>
<class 'vsg.token.interface_unknown_declaration.identifier'>
<class 'vsg.token.interface_unknown_declaration.colon'>
<class 'vsg.token.ieee.std_logic_1164.types.natural'>
<class 'vsg.token.procedure_specification.close_parenthesis'>
<class 'vsg.token.subprogram_body.is_keyword'>
--------------------------------------------------------------------------------
75 |     begin
<class 'vsg.token.subprogram_body.begin_keyword'>
--------------------------------------------------------------------------------
76 |       func0(a, (proc0(b,c)) = (1 downto 0 => '0'), (others => '0'), d, e);
<class 'vsg.token.procedure_call.procedure_name'>
<class 'vsg.token.procedure_call.open_parenthesis'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.association_list.comma'>
<class 'vsg.token.association_element.actual_part'>
<class 'vsg.token.procedure_call.close_parenthesis'>
<class 'vsg.token.procedure_call_statement.semicolon'>
--------------------------------------------------------------------------------
77 |     end procedure;
<class 'vsg.token.subprogram_body.end_keyword'>
<class 'vsg.token.subprogram_kind.procedure_keyword'>
<class 'vsg.token.subprogram_body.semicolon'>
--------------------------------------------------------------------------------
78 |   end package body;
<class 'vsg.token.package_body.end_keyword'>
<class 'vsg.token.package_body.end_package_keyword'>
<class 'vsg.token.package_body.end_body_keyword'>
<class 'vsg.token.package_body.semicolon'>
--------------------------------------------------------------------------------
79 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
80 | begin
<class 'vsg.token.architecture_body.begin_keyword'>
--------------------------------------------------------------------------------
81 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
82 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
83 | end architecture RTL;
<class 'vsg.token.architecture_body.end_keyword'>
<class 'vsg.token.architecture_body.end_architecture_keyword'>
<class 'vsg.token.architecture_body.architecture_simple_name'>
<class 'vsg.token.architecture_body.semicolon'>
