--------------------------------------------------------------------------------
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 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'>
--------------------------------------------------------------------------------
8 |        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'>
--------------------------------------------------------------------------------
9 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
10 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
11 |   -- with guarded
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
12 |   a <= guarded b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.concurrent_conditional_signal_assignment.guarded_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
13 |        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'>
--------------------------------------------------------------------------------
14 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
15 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
16 |   -- with transport delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
17 |   a <= transport b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.transport_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
18 |        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'>
--------------------------------------------------------------------------------
19 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
20 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
21 |   -- with inertial delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
22 |   a <= inertial b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
23 |        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'>
--------------------------------------------------------------------------------
24 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
25 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
26 |   -- with reject delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
27 |   a <= reject 10 ns inertial b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.delay_mechanism.reject_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
28 |        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'>
--------------------------------------------------------------------------------
29 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
30 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
31 |   -- with guarded and transport delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
32 |   a <= guarded transport b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.concurrent_conditional_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.transport_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
33 |        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'>
--------------------------------------------------------------------------------
34 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
35 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
36 |   -- with guarded and inertial delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
37 |   a <= guarded inertial b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.concurrent_conditional_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
38 |        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'>
--------------------------------------------------------------------------------
39 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
40 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
41 |   -- with guarded and reject delay mechanism
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
42 |   a <= guarded reject 10 ns inertial b when 'a' else
<class 'vsg.token.concurrent_conditional_signal_assignment.target'>
<class 'vsg.token.concurrent_conditional_signal_assignment.assignment'>
<class 'vsg.token.concurrent_conditional_signal_assignment.guarded_keyword'>
<class 'vsg.token.delay_mechanism.reject_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.parser.todo'>
<class 'vsg.token.delay_mechanism.inertial_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
--------------------------------------------------------------------------------
43 |        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'>
--------------------------------------------------------------------------------
44 |        d;
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
45 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
46 |   -- Variations on else's
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
47 |   a <= b when 'a' else c;
<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'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
48 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
49 |   a <= b when 'a' else c when 'b' else d;
<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'>
<class 'vsg.parser.todo'>
<class 'vsg.token.conditional_waveforms.when_keyword'>
<class 'vsg.parser.character_literal'>
<class 'vsg.token.conditional_waveforms.else_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.concurrent_conditional_signal_assignment.semicolon'>
--------------------------------------------------------------------------------
50 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
51 | 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'>
