--------------------------------------------------------------------------------
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 | begin
<class 'vsg.token.architecture_body.begin_keyword'>
--------------------------------------------------------------------------------
5 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
6 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
7 |   a <= b;
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
8 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
9 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
10 |   a <= b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
11 |        c when 'b' else
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
12 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
13 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
14 |   -- Basic version
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
15 |   with sel select
<class 'vsg.token.concurrent_selected_signal_assignment.with_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_selected_signal_assignment.select_keyword'>
--------------------------------------------------------------------------------
16 |     out1 <= a when "00",
<class 'vsg.token.concurrent_selected_signal_assignment.target'>
<class 'vsg.token.concurrent_selected_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
17 |             b when "01",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
18 |             c when "10",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
19 |             d when others;
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
20 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
21 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
22 |   --| Add labels:
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
23 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
24 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
25 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
26 |   simple_label : a <= b;
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
27 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
28 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
29 |   conditional_label : a <= b when 'a' else
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
30 |        c when 'b' else
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
31 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
32 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
33 |   -- Basic version
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
34 |   select_label : with sel select
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_selected_signal_assignment.with_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_selected_signal_assignment.select_keyword'>
--------------------------------------------------------------------------------
35 |     out1 <= a when "00",
<class 'vsg.token.concurrent_selected_signal_assignment.target'>
<class 'vsg.token.concurrent_selected_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
36 |             b when "01",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
37 |             c when "10",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
38 |             d when others;
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
39 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
40 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
41 |   --| Add postponed keyword
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
42 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
43 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
44 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
45 |   simple_label : postponed a <= b;
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
46 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
47 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
48 |   conditional_label : postponed a <= b when 'a' else
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
49 |        c when 'b' else
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
50 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
51 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
52 |   -- Basic version
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
53 |   select_label : postponed with sel select
<class 'vsg.token.concurrent_signal_assignment_statement.label_name'>
<class 'vsg.token.concurrent_signal_assignment_statement.label_colon'>
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.with_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_selected_signal_assignment.select_keyword'>
--------------------------------------------------------------------------------
54 |     out1 <= a when "00",
<class 'vsg.token.concurrent_selected_signal_assignment.target'>
<class 'vsg.token.concurrent_selected_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
55 |             b when "01",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
56 |             c when "10",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
57 |             d when others;
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
58 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
59 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
60 |   --| With only postponed keyword
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
61 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
62 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
63 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
64 |   postponed a <= b;
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
65 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
66 |   -- Simple form
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
67 |   postponed a <= b when 'a' else
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
68 |        c when 'b' else
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
69 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
70 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
71 |   -- Basic version
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
72 |   postponed with sel select
<class 'vsg.token.concurrent_signal_assignment_statement.postponed_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.with_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_selected_signal_assignment.select_keyword'>
--------------------------------------------------------------------------------
73 |     out1 <= a when "00",
<class 'vsg.token.concurrent_selected_signal_assignment.target'>
<class 'vsg.token.concurrent_selected_signal_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
74 |             b when "01",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
75 |             c when "10",
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.comma'>
--------------------------------------------------------------------------------
76 |             d when others;
<class 'vsg.parser.todo'>
<class 'vsg.token.selected_waveforms.when_keyword'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.concurrent_selected_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
77 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
78 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
79 |   --| Test parenthesis
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
80 |   --+-------------------
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
81 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
82 |   a <= std_logic(to_unsigned(b, 4));
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
<class 'vsg.token.ieee.std_logic_1164.types.std_logic'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.comma'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
83 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
84 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
85 | 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'>
