Skip to content

oneohyes/codecrafters-grep-cpp

Repository files navigation

progress-banner

This is a starting point for C++ solutions to the "Build Your Own grep" Challenge.

Regular expressions (Regexes, for short) are patterns used to match character combinations in strings. grep is a CLI tool for searching using Regexes.

In this challenge you'll build your own implementation of grep. Along the way we'll learn about Regex syntax, how parsers/lexers work, and how regular expressions are evaluated.

Note: If you're viewing this repo on GitHub, head over to codecrafters.io to try the challenge.

Passing the first stage

The entry point for your grep implementation is in src/Server.cpp. Study and uncomment the relevant code, and push your changes to pass the first stage:

git commit -am "pass 1st stage" # any msg
git push origin master

Time to move on to the next stage!

Stage 2 & beyond

Note: This section is for stages 2 and beyond.

  1. Ensure you have cmake installed locally
  2. Run ./your_program.sh to run your program, which is implemented in src/Server.cpp.
  3. Commit your changes and run git push origin master to submit your solution to CodeCrafters. Test output will be streamed to your terminal.

TODO

  • ASTParser: Parse a regex string into an abstract syntax tree
    • Lexer: 扫描token
    • Parser: 语法分析
    • AST: 抽象语法树
  • ASTMatcher: Match an AST against a string pattern
  • Explore parser combinator approach later

About

codecrafters grep impl

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •