--------------------------------------------------------------------------------
0 |
--------------------------------------------------------------------------------
1 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
2 | architecture RTL of ENTITY_NAME 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 |   process
<class 'vsg.token.process_statement.process_keyword'>
--------------------------------------------------------------------------------
7 |   begin
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
8 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
9 |     C1: case ? x is
<class 'vsg.token.case_statement.case_label'>
<class 'vsg.token.case_statement.label_colon'>
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.token.case_statement.question_mark'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
10 |       when 1 => Out_1 <= 0;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
11 |       when 2 => Out_1 <= 1;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
12 |       when 3 => Out_1 <= 2;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
13 |     end case ? C1;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.question_mark'>
<class 'vsg.token.case_statement.end_case_label'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
14 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
15 |     C1: case x is
<class 'vsg.token.case_statement.case_label'>
<class 'vsg.token.case_statement.label_colon'>
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
16 |       when 1 => Out_1 <= 0;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
17 |       when 2 => Out_1 <= 1;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
18 |       when 3 => Out_1 <= 2;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
19 |     end case C1;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.end_case_label'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
20 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
21 |     case x is
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
22 |       when 1 => Out_1 <= 0;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
23 |       when 2 => Out_1 <= 1;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
24 |       when 3 => Out_1 <= 2;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
25 |     end case;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
26 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
27 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
28 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
29 |   process
<class 'vsg.token.process_statement.process_keyword'>
--------------------------------------------------------------------------------
30 |   begin
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
31 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
32 |     C3: case Code_Variable is
<class 'vsg.token.case_statement.case_label'>
<class 'vsg.token.case_statement.label_colon'>
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
33 |       when ADD | SUB => Operation := 0;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.choices.bar'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
34 |       when MULT | DIV => Operation := 1;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.choices.bar'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement_alternative.assignment'>
<class 'vsg.token.simple_variable_assignment.simple_name'>
<class 'vsg.token.simple_variable_assignment.assignment'>
<class 'vsg.parser.todo'>
<class 'vsg.token.simple_variable_assignment.semicolon'>
--------------------------------------------------------------------------------
35 |     end case C3;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.end_case_label'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
36 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
37 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
38 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
39 |   -- Check others
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
40 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
41 |   process begin
<class 'vsg.token.process_statement.process_keyword'>
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
42 |     case x is
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.parser.todo'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
43 |       when others => Out_1 <= 0;
<class 'vsg.token.case_statement_alternative.when_keyword'>
<class 'vsg.token.choice.others_keyword'>
<class 'vsg.token.case_statement_alternative.assignment'>
<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'>
--------------------------------------------------------------------------------
44 |     end case;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
45 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
46 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
47 |   process begin
<class 'vsg.token.process_statement.process_keyword'>
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
48 |     case foo(i) is
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.token.todo.name'>
<class 'vsg.token.todo.open_parenthesis'>
<class 'vsg.parser.todo'>
<class 'vsg.token.todo.close_parenthesis'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
49 |     end case;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
50 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
51 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
52 |   -- Testing combined case and ?
<class 'vsg.parser.comment'>
--------------------------------------------------------------------------------
53 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
54 |   process begin
<class 'vsg.token.process_statement.process_keyword'>
<class 'vsg.token.process_statement.begin_keyword'>
--------------------------------------------------------------------------------
55 |     case? is
<class 'vsg.token.case_statement.case_keyword'>
<class 'vsg.token.case_statement.question_mark'>
<class 'vsg.token.case_statement.is_keyword'>
--------------------------------------------------------------------------------
56 |     end case;
<class 'vsg.token.case_statement.end_keyword'>
<class 'vsg.token.case_statement.end_case_keyword'>
<class 'vsg.token.case_statement.semicolon'>
--------------------------------------------------------------------------------
57 |   end process;
<class 'vsg.token.process_statement.end_keyword'>
<class 'vsg.token.process_statement.end_process_keyword'>
<class 'vsg.token.process_statement.semicolon'>
--------------------------------------------------------------------------------
58 |
<class 'vsg.parser.blank_line'>
--------------------------------------------------------------------------------
59 | 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'>
