From 8fd0e0761f0cfa90cff210047d3314e135268305 Mon Sep 17 00:00:00 2001 From: Federico Panzani Date: Wed, 13 Sep 2023 12:15:05 +0200 Subject: [PATCH] Bugfixed on #23 and #41 #23 Now signed integer is correctly parsed in VAL_ regex #41 Bug preventing BA_DEF_ regex to be correctly parsed is now fixed --- DbcParserLib/Parsers/PropertiesDefinitionLineParser.cs | 2 +- DbcParserLib/Parsers/ValueTableLineParser.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/DbcParserLib/Parsers/PropertiesDefinitionLineParser.cs b/DbcParserLib/Parsers/PropertiesDefinitionLineParser.cs index a4d5627..ab0f3fb 100644 --- a/DbcParserLib/Parsers/PropertiesDefinitionLineParser.cs +++ b/DbcParserLib/Parsers/PropertiesDefinitionLineParser.cs @@ -9,7 +9,7 @@ internal class PropertiesDefinitionLineParser : ILineParser { private const string PropertiesDefinitionLineStarter = "BA_DEF_ "; private const string PropertiesDefinitionDefaultLineStarter = "BA_DEF_DEF_ "; - private const string PropertyDefinitionParsingRegex = @"BA_DEF_\s+(BU_|BO_|SG_|EV_)\s+""([a-zA-Z_][\w]*)""\s+(?:(?:(INT|HEX)\s+(-?\d+)\s+(-?\d+))|(?:(FLOAT)\s+([\d\+\-eE.]+)\s+([\d\+\-eE.]+))|(STRING)|(?:(ENUM)\s+((?:""[^""]*"",+)*(""[^""]*""))))\s*;"; + private const string PropertyDefinitionParsingRegex = @"BA_DEF_(?:\s+(BU_|BO_|SG_|EV_))?\s+""([a-zA-Z_][\w]*)""\s+(?:(?:(INT|HEX)\s+(-?\d+)\s+(-?\d+))|(?:(FLOAT)\s+([\d\+\-eE.]+)\s+([\d\+\-eE.]+))|(STRING)|(?:(ENUM)\s+((?:""[^""]*"",+)*(""[^""]*""))))\s*;"; private const string PropertyDefinitionDefaultParsingRegex = @"BA_DEF_DEF_\s+""([a-zA-Z_][\w]*)""\s+(-?\d+|[\d\+\-eE.]+|""[^""]*"")\s*;"; private readonly IParseFailureObserver m_observer; diff --git a/DbcParserLib/Parsers/ValueTableLineParser.cs b/DbcParserLib/Parsers/ValueTableLineParser.cs index 7771a4d..dad1017 100644 --- a/DbcParserLib/Parsers/ValueTableLineParser.cs +++ b/DbcParserLib/Parsers/ValueTableLineParser.cs @@ -8,7 +8,7 @@ internal class ValueTableLineParser : ILineParser { private const string ValueTableLineStarter = "VAL_ "; private const string ValueTableLinkParsingRegex = @"VAL_\s+(\d+)\s+([a-zA-Z_][\w]*)\s+([a-zA-Z_][\w]*)\s*;"; - private const string ValueTableParsingRegex = @"VAL_\s+(?:(?:(\d+)\s+([a-zA-Z_][\w]*))|([a-zA-Z_][\w]*))\s+((?:\d+\s+(?:""[^""]*"")\s+)*)\s*;"; + private const string ValueTableParsingRegex = @"VAL_\s+(?:(?:(\d+)\s+([a-zA-Z_][\w]*))|([a-zA-Z_][\w]*))\s+((?:(?:-?\d+)\s+(?:""[^""]*"")\s+)*)\s*;"; private readonly IParseFailureObserver m_observer;