From 0518ed08a9c7502ae63c9bb55e979876f104d58e Mon Sep 17 00:00:00 2001 From: Christian Lanius Date: Fri, 2 Apr 2021 22:24:38 +0200 Subject: [PATCH 1/3] allow backslash in string, fixes issue #45 Signed-off-by: Christian Lanius --- sdf_timing/sdflex.py | 2 +- tests/data/escaped_name.sdf | 16 ++++++++++++++++ tests/data/golden/escaped_name.sdf | 16 ++++++++++++++++ 3 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 tests/data/escaped_name.sdf create mode 100644 tests/data/golden/escaped_name.sdf diff --git a/sdf_timing/sdflex.py b/sdf_timing/sdflex.py index 85c253c..671f07e 100644 --- a/sdf_timing/sdflex.py +++ b/sdf_timing/sdflex.py @@ -150,7 +150,7 @@ def t_SLASH(t): def t_STRING(t): - r'[a-zA-Z0-9_\/.\[\]]+' + r'[a-zA-Z0-9_\/.\[\]\\\\]+' t.type = reserved.get(t.value, 'STRING') return t diff --git a/tests/data/escaped_name.sdf b/tests/data/escaped_name.sdf new file mode 100644 index 0000000..47f5560 --- /dev/null +++ b/tests/data/escaped_name.sdf @@ -0,0 +1,16 @@ +(DELAYFILE + (SDFVERSION "3.0") + (TIMESCALE 1ps) + + (CELL + (CELLTYPE "vpr_interconnect") + (INSTANCE dut/routing_segment_b0_output_0_0_to_c0_input_0_0) + (DELAY + (ABSOLUTE + (INTERCONNECT clk_i TESTENV/clock_generator/clk_mux/CLK1 (1.4:8.4:8.4)(1.6:7.7:7.7)) + (INTERCONNECT rstn_i TESTENV/reset_synchronizer_genblk1\[0\]\.ff_1_reg/RESET (3.7:3.5:3.5)(3.8:3.5:3.5)) + (INTERCONNECT rstn_i TESTENV/reset_synchronizer_genblk1\[0\]\.ff_2_reg/RESET (3.7:3.5:3.5)(3.8:3.5:3.5)) + ) + ) + ) +) \ No newline at end of file diff --git a/tests/data/golden/escaped_name.sdf b/tests/data/golden/escaped_name.sdf new file mode 100644 index 0000000..47f5560 --- /dev/null +++ b/tests/data/golden/escaped_name.sdf @@ -0,0 +1,16 @@ +(DELAYFILE + (SDFVERSION "3.0") + (TIMESCALE 1ps) + + (CELL + (CELLTYPE "vpr_interconnect") + (INSTANCE dut/routing_segment_b0_output_0_0_to_c0_input_0_0) + (DELAY + (ABSOLUTE + (INTERCONNECT clk_i TESTENV/clock_generator/clk_mux/CLK1 (1.4:8.4:8.4)(1.6:7.7:7.7)) + (INTERCONNECT rstn_i TESTENV/reset_synchronizer_genblk1\[0\]\.ff_1_reg/RESET (3.7:3.5:3.5)(3.8:3.5:3.5)) + (INTERCONNECT rstn_i TESTENV/reset_synchronizer_genblk1\[0\]\.ff_2_reg/RESET (3.7:3.5:3.5)(3.8:3.5:3.5)) + ) + ) + ) +) \ No newline at end of file From 6f15b0c22f7c38cad75ab70c37f904b19dbefdfc Mon Sep 17 00:00:00 2001 From: Christian Lanius Date: Tue, 6 Apr 2021 18:46:14 +0200 Subject: [PATCH 2/3] move test files Signed-off-by: Christian Lanius --- {tests => sdf_timing/tests}/data/escaped_name.sdf | 0 {tests => sdf_timing/tests}/data/golden/escaped_name.sdf | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {tests => sdf_timing/tests}/data/escaped_name.sdf (100%) rename {tests => sdf_timing/tests}/data/golden/escaped_name.sdf (100%) diff --git a/tests/data/escaped_name.sdf b/sdf_timing/tests/data/escaped_name.sdf similarity index 100% rename from tests/data/escaped_name.sdf rename to sdf_timing/tests/data/escaped_name.sdf diff --git a/tests/data/golden/escaped_name.sdf b/sdf_timing/tests/data/golden/escaped_name.sdf similarity index 100% rename from tests/data/golden/escaped_name.sdf rename to sdf_timing/tests/data/golden/escaped_name.sdf From 9ad24f97d0e0615d79e317adfb2c39036d071084 Mon Sep 17 00:00:00 2001 From: Christian Lanius Date: Tue, 6 Apr 2021 19:20:18 +0200 Subject: [PATCH 3/3] Remove second literal backslash in string regex Signed-off-by: Christian Lanius --- sdf_timing/sdflex.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdf_timing/sdflex.py b/sdf_timing/sdflex.py index 671f07e..3f172aa 100644 --- a/sdf_timing/sdflex.py +++ b/sdf_timing/sdflex.py @@ -150,7 +150,7 @@ def t_SLASH(t): def t_STRING(t): - r'[a-zA-Z0-9_\/.\[\]\\\\]+' + r'[a-zA-Z0-9_\/.\[\]\\]+' t.type = reserved.get(t.value, 'STRING') return t