diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-06 16:41:31 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-08-06 16:41:31 +0100 |
| commit | 3658cb8407814603aceaf2970a5c1016b6c9fdc8 (patch) | |
| tree | 070b8a2bfed27899f1baad50c99da13884d2471f /dev/CompilerKit/src/Frontend.cc | |
| parent | 555530e9de49324e2e5fed035418d32ac4045608 (diff) | |
feat! breaking API changes before NeKernel.org 0.0.4.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'dev/CompilerKit/src/Frontend.cc')
| -rw-r--r-- | dev/CompilerKit/src/Frontend.cc | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/dev/CompilerKit/src/Frontend.cc b/dev/CompilerKit/src/Frontend.cc deleted file mode 100644 index 37b36f7..0000000 --- a/dev/CompilerKit/src/Frontend.cc +++ /dev/null @@ -1,51 +0,0 @@ -/* ------------------------------------------- - - Copyright (C) 2025 Amlal EL Mahrouss, all rights reserved - -------------------------------------------- */ - -#include <CompilerKit/Frontend.h> - -namespace CompilerKit { -/// find the perfect matching word in a haystack. -/// \param haystack base string -/// \param needle the string we search for. -/// \return if we found it or not. -BOOL find_word(STLString haystack, STLString needle) noexcept { - auto index = haystack.find(needle); - - // check for needle validity. - if (index == STLString::npos) return false; - - // declare lambda - auto not_part_of_word = [&](int index) { - if (std::isspace(haystack[index]) || std::ispunct(haystack[index])) return true; - - if (index <= 0 || index >= haystack.size()) return true; - - return false; - }; - - return not_part_of_word(index - 1) && not_part_of_word(index + needle.size()); -} - -/// find a word within strict conditions and returns a range of it. -/// \param haystack -/// \param needle -/// \return position of needle. -SizeType find_word_range(STLString haystack, STLString needle) noexcept { - auto index = haystack.find(needle); - - // check for needle validity. - if (index == STLString::npos) return false; - - if (!isalnum((haystack[index + needle.size() + 1])) && - !isdigit(haystack[index + needle.size() + 1]) && - !isalnum((haystack[index - needle.size() - 1])) && - !isdigit(haystack[index - needle.size() - 1])) { - return index; - } - - return STLString::npos; -} -} // namespace CompilerKit
\ No newline at end of file |
