Skip to content

Commit 78b7cf3

Browse files
Issue#1433: Fixed mis-classification of signs. (#1434)
1 parent aecb5f6 commit 78b7cf3

File tree

7 files changed

+77
-25
lines changed

7 files changed

+77
-25
lines changed

tests/vhdlFile/concurrent_simple_signal_assignment/classification_results.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -253,11 +253,11 @@
253253
40 | G_FIRST => (blah <= 0),
254254
<class 'vsg.token.association_element.formal_part'>
255255
<class 'vsg.token.association_element.assignment'>
256+
<class 'vsg.parser.open_parenthesis'>
256257
<class 'vsg.token.association_element.actual_part'>
258+
<class 'vsg.token.relational_operator.less_than_or_equal'>
257259
<class 'vsg.token.association_element.actual_part'>
258-
<class 'vsg.token.association_element.actual_part'>
259-
<class 'vsg.token.association_element.actual_part'>
260-
<class 'vsg.token.association_element.actual_part'>
260+
<class 'vsg.parser.close_parenthesis'>
261261
<class 'vsg.token.association_list.comma'>
262262
--------------------------------------------------------------------------------
263263
41 | G_SECOND => 3

tests/vhdlFile/function_specification/classification_results.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@
294294
<class 'vsg.token.association_list.comma'>
295295
<class 'vsg.token.association_element.formal_part'>
296296
<class 'vsg.token.association_element.assignment'>
297-
<class 'vsg.token.adding_operator.minus'>
297+
<class 'vsg.token.sign.minus'>
298298
<class 'vsg.token.association_element.actual_part'>
299299
<class 'vsg.token.association_list.comma'>
300300
--------------------------------------------------------------------------------

tests/vhdlFile/procedure_specification/classification_results.txt

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@
232232
<class 'vsg.token.association_list.comma'>
233233
<class 'vsg.token.association_element.formal_part'>
234234
<class 'vsg.token.association_element.assignment'>
235-
<class 'vsg.token.adding_operator.minus'>
235+
<class 'vsg.token.sign.minus'>
236236
<class 'vsg.token.association_element.actual_part'>
237237
<class 'vsg.token.association_list.comma'>
238238
--------------------------------------------------------------------------------
@@ -704,28 +704,28 @@
704704
<class 'vsg.token.procedure_call.open_parenthesis'>
705705
<class 'vsg.token.association_element.actual_part'>
706706
<class 'vsg.token.association_list.comma'>
707+
<class 'vsg.parser.open_parenthesis'>
707708
<class 'vsg.token.association_element.actual_part'>
709+
<class 'vsg.parser.open_parenthesis'>
708710
<class 'vsg.token.association_element.actual_part'>
709711
<class 'vsg.token.association_element.actual_part'>
710712
<class 'vsg.token.association_element.actual_part'>
713+
<class 'vsg.parser.close_parenthesis'>
714+
<class 'vsg.parser.close_parenthesis'>
715+
<class 'vsg.token.relational_operator.equal'>
716+
<class 'vsg.token.aggregate.open_parenthesis'>
711717
<class 'vsg.token.association_element.actual_part'>
718+
<class 'vsg.token.direction.downto'>
712719
<class 'vsg.token.association_element.actual_part'>
720+
<class 'vsg.token.element_association.assignment'>
713721
<class 'vsg.token.association_element.actual_part'>
714-
<class 'vsg.token.association_element.actual_part'>
715-
<class 'vsg.token.association_element.actual_part'>
716-
<class 'vsg.token.association_element.actual_part'>
717-
<class 'vsg.token.association_element.actual_part'>
718-
<class 'vsg.token.association_element.actual_part'>
719-
<class 'vsg.token.association_element.actual_part'>
720-
<class 'vsg.token.association_element.actual_part'>
721-
<class 'vsg.token.association_element.actual_part'>
722-
<class 'vsg.token.association_element.actual_part'>
722+
<class 'vsg.token.aggregate.close_parenthesis'>
723723
<class 'vsg.token.association_list.comma'>
724+
<class 'vsg.token.aggregate.open_parenthesis'>
725+
<class 'vsg.token.choice.others_keyword'>
726+
<class 'vsg.token.element_association.assignment'>
724727
<class 'vsg.token.association_element.actual_part'>
725-
<class 'vsg.token.association_element.actual_part'>
726-
<class 'vsg.token.association_element.actual_part'>
727-
<class 'vsg.token.association_element.actual_part'>
728-
<class 'vsg.token.association_element.actual_part'>
728+
<class 'vsg.token.aggregate.close_parenthesis'>
729729
<class 'vsg.token.association_list.comma'>
730730
<class 'vsg.token.association_element.actual_part'>
731731
<class 'vsg.token.association_list.comma'>

tests/vhdlFile/sign/classification_results.txt

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -293,7 +293,50 @@
293293
52 |
294294
<class 'vsg.parser.blank_line'>
295295
--------------------------------------------------------------------------------
296-
53 | end architecture RTL;
296+
53 | -- Check exponents
297+
<class 'vsg.parser.comment'>
298+
--------------------------------------------------------------------------------
299+
54 |
300+
<class 'vsg.parser.blank_line'>
301+
--------------------------------------------------------------------------------
302+
55 | a <= 1e-6;
303+
<class 'vsg.token.concurrent_simple_signal_assignment.target'>
304+
<class 'vsg.token.concurrent_simple_signal_assignment.assignment'>
305+
<class 'vsg.parser.todo'>
306+
<class 'vsg.token.exponent.e_keyword'>
307+
<class 'vsg.token.exponent.minus_sign'>
308+
<class 'vsg.token.exponent.integer'>
309+
<class 'vsg.token.concurrent_simple_signal_assignment.semicolon'>
310+
--------------------------------------------------------------------------------
311+
56 |
312+
<class 'vsg.parser.blank_line'>
313+
--------------------------------------------------------------------------------
314+
57 | u_inst : inst
315+
<class 'vsg.token.component_instantiation_statement.instantiation_label'>
316+
<class 'vsg.token.component_instantiation_statement.label_colon'>
317+
<class 'vsg.token.instantiated_unit.component_name'>
318+
--------------------------------------------------------------------------------
319+
58 | generic map (
320+
<class 'vsg.token.generic_map_aspect.generic_keyword'>
321+
<class 'vsg.token.generic_map_aspect.map_keyword'>
322+
<class 'vsg.token.generic_map_aspect.open_parenthesis'>
323+
--------------------------------------------------------------------------------
324+
59 | real_generic => 1.23e-2
325+
<class 'vsg.token.association_element.formal_part'>
326+
<class 'vsg.token.association_element.assignment'>
327+
<class 'vsg.token.association_element.actual_part'>
328+
<class 'vsg.token.exponent.e_keyword'>
329+
<class 'vsg.token.exponent.minus_sign'>
330+
<class 'vsg.token.exponent.integer'>
331+
--------------------------------------------------------------------------------
332+
60 | );
333+
<class 'vsg.token.generic_map_aspect.close_parenthesis'>
334+
<class 'vsg.token.component_instantiation_statement.semicolon'>
335+
--------------------------------------------------------------------------------
336+
61 |
337+
<class 'vsg.parser.blank_line'>
338+
--------------------------------------------------------------------------------
339+
62 | end architecture RTL;
297340
<class 'vsg.token.architecture_body.end_keyword'>
298341
<class 'vsg.token.architecture_body.end_architecture_keyword'>
299342
<class 'vsg.token.architecture_body.architecture_simple_name'>

tests/vhdlFile/sign/classification_test_input.vhd

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,4 +50,13 @@ begin
5050

5151
end process;
5252

53+
-- Check exponents
54+
55+
a <= 1e-6;
56+
57+
u_inst : inst
58+
generic map (
59+
real_generic => 1.23e-2
60+
);
61+
5362
end architecture RTL;

tests/vhdlFile/simple_waveform_assignment/classification_results.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,13 @@
7171
<class 'vsg.token.procedure_call.procedure_name'>
7272
<class 'vsg.token.procedure_call.open_parenthesis'>
7373
<class 'vsg.token.association_element.actual_part'>
74+
<class 'vsg.parser.open_parenthesis'>
7475
<class 'vsg.token.association_element.actual_part'>
76+
<class 'vsg.parser.open_parenthesis'>
7577
<class 'vsg.token.association_element.actual_part'>
76-
<class 'vsg.token.association_element.actual_part'>
77-
<class 'vsg.token.association_element.actual_part'>
78-
<class 'vsg.token.association_element.actual_part'>
79-
<class 'vsg.token.association_element.actual_part'>
80-
<class 'vsg.token.association_element.actual_part'>
78+
<class 'vsg.parser.close_parenthesis'>
79+
<class 'vsg.parser.close_parenthesis'>
80+
<class 'vsg.token.relational_operator.less_than_or_equal'>
8181
<class 'vsg.token.association_element.actual_part'>
8282
<class 'vsg.token.association_list.comma'>
8383
<class 'vsg.token.association_element.actual_part'>

vsg/vhdlFile/classify/association_element.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def classify(iStart, iEnd, lObjects, sEnd):
4545
# Classify actual part
4646
for iCurrent in range(iCurrent, iEnd):
4747
if utils.is_item(lObjects, iCurrent):
48-
utils.assign_token(lObjects, iCurrent, token.actual_part)
48+
utils.assign_special_tokens(lObjects, iCurrent, token.actual_part)
4949

5050
return iCurrent
5151

0 commit comments

Comments
 (0)