From 8d03c57957e40a6a564643dc9fe4ebda3054e400 Mon Sep 17 00:00:00 2001 From: Daniel Kroening Date: Wed, 29 Jan 2025 16:43:45 +0000 Subject: [PATCH] SystemVerilog: create identifier expressions in scanner --- src/hw_cbmc_irep_ids.h | 1 + src/verilog/scanner.l | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/hw_cbmc_irep_ids.h b/src/hw_cbmc_irep_ids.h index 18d9bb9f2..1985404b7 100644 --- a/src/hw_cbmc_irep_ids.h +++ b/src/hw_cbmc_irep_ids.h @@ -108,6 +108,7 @@ IREP_ID_ONE(verilog_associative_array) IREP_ID_ONE(verilog_declarations) IREP_ID_ONE(verilog_default_clocking) IREP_ID_ONE(verilog_default_disable) +IREP_ID_ONE(verilog_identifier) IREP_ID_ONE(verilog_lifetime) IREP_ID_ONE(verilog_logical_equality) IREP_ID_ONE(verilog_logical_inequality) diff --git a/src/verilog/scanner.l b/src/verilog/scanner.l index 14baae647..33d2ffc4f 100644 --- a/src/verilog/scanner.l +++ b/src/verilog/scanner.l @@ -66,7 +66,9 @@ static void preprocessor() #define IDENTIFIER(text) \ { newstack(yyveriloglval); \ irep_idt irep_id = text; \ - stack_expr(yyveriloglval).id(irep_id); \ + stack_expr(yyveriloglval).id(ID_verilog_identifier); \ + stack_expr(yyveriloglval).set(ID_base_name, irep_id); \ + PARSER.set_source_location(stack_expr(yyveriloglval)); \ return PARSER.scopes.identifier_token(irep_id); \ } #define KEYWORD(s, x) \