source: icGREP/icgrep-devel/icgrep/grep_engine.h @ 5692

Last change on this file since 5692 was 5692, checked in by cameron, 21 months ago

Cleaning up icgrep - removing experimental nvptx and incomplete UTF-16 modes

File size: 1.2 KB
RevLine 
[4324]1/*
[5476]2 *  Copyright (c) 2017 International Characters.
[4324]3 *  This software is licensed to the public under the Open Software License 3.0.
4 *  icgrep is a trademark of International Characters.
5 */
[5476]6#ifndef GREP_ENGINE_H
7#define GREP_ENGINE_H
8#include <grep_interface.h>
[5267]9#include <grep_type.h>  // for GrepType, GrepType::Normal
10#include <string>       // for string
11#include <vector>
[5620]12#include <re/re_parser.h>
13#include <re/re_multiplex.h>
[5464]14
[5267]15namespace re { class CC; }
16namespace re { class RE; }
[5473]17namespace llvm { namespace cl { class OptionCategory; } }
[5474]18class Driver;
[4324]19
[5474]20
[5473]21namespace grep {
22
[5484]23// Thread function only.
24void *DoGrepThreadFunction(void *args);
25   
[5406]26class GrepEngine {
[4659]27public:
[4324]28
[5240]29    GrepEngine();
[5401]30
[5474]31
32    ~GrepEngine();
33
[5692]34    void grepCodeGen(std::vector<re::RE *> REs, GrepModeType grepMode, GrepSource grepSource);
[5398]35
[5550]36    void doGrep(const std::string & fileName, std::string & PTXFilename) const;
[5548]37   
[5484]38    uint64_t doGrep(const std::string & fileName, const uint32_t fileIdx) const;
[5458]39
[5419]40    uint64_t doGrep(const int32_t fileDescriptor, const uint32_t fileIdx) const;
[5481]41       
[4324]42private:
[4939]43   
[5474]44    Driver * mGrepDriver;
[4324]45};
46
[5481]47void initFileResult(std::vector<std::string> filenames);
48   
[5484]49void PrintResults();
[5481]50   
[5473]51}
[5033]52
[4324]53#endif
Note: See TracBrowser for help on using the repository browser.