Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Write matchers using C++ regex to match (and test the match) forC++ - style doubles and identifiers Using the template below. //Begin of code //

Write matchers using C++ regex to match (and test the match) forC++ - style doubles and identifiers Using the template below.

//Begin of code

// Goal - match C++ decimal (base 10) integer strings.

// Digit = r(0|..|9)

// PositiveDigit=r(1|..|9)

// Decimal = r(0|(PositiveDigit((|')Digit)*))

#include "gtest/gtest.h"

#include

#include

using namespace std;

bool IsDecimal(const std::string &candidate) {

regexmatcher("(-?(0|([1-9]('?[0-9])*))|((0|([1-9]('?[0-9])*))))");

return regex_match(candidate,matcher);

}

bool IsDouble(const std::string &candidate) {

return true;

}

bool IsIdentifier(const std::string &candidate) {

return true;

}

TEST(RegEx,DecimalInteger) {

ASSERT_TRUE(IsDecimal("0"));

ASSERT_TRUE(IsDecimal("1"));

ASSERT_TRUE(IsDecimal("1'2'3"));

ASSERT_TRUE(IsDecimal("1'000'000"));

ASSERT_TRUE(IsDecimal("-0"));

ASSERT_TRUE(IsDecimal("-1"));

ASSERT_TRUE(IsDecimal("-1'2'3"));

ASSERT_TRUE(IsDecimal("-1'000'000"));

ASSERT_FALSE(IsDecimal("-"));

ASSERT_FALSE(IsDecimal("00"));

ASSERT_FALSE(IsDecimal("00"));

ASSERT_FALSE(IsDecimal("0001"));

ASSERT_FALSE(IsDecimal("1''000''000"));

ASSERT_FALSE(IsDecimal(".20"));

ASSERT_FALSE(IsDecimal("20."));

}

TEST(RegEx,Double) {

}

TEST(RegEx,Identifier) {

}

#end of code

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Computer Performance Engineering 10th European Workshop Epew 2013 Venice Italy September 17 2013 Proceedings

Authors: Maria Simonetta Balsamo ,William Knottenbelt ,Andrea Marin

2013 Edition

3642407242, 978-3642407246

More Books

Students also viewed these Programming questions