source: icGREP/icgrep-devel/icgrep/re/re_parser_bre.h

Last change on this file was 5787, checked in by cameron, 2 months ago

RE parser restructuring; parsing symbolic ranges, collation and equivalence exprs

File size: 850 bytes
Line 
1/*
2 *  Copyright (c) 2016 International Characters.
3 *  This software is licensed to the public under the Open Software License 3.0.
4 *  icgrep is a trademark of International Characters.
5 */
6
7#ifndef ICGREP_RE_PARSER_BRE_H
8#define ICGREP_RE_PARSER_BRE_H
9
10#include <re/re_parser.h>
11#include <re/re_parser_ere.h>
12
13namespace re {
14    class RE_Parser_BRE : public RE_Parser_ERE  {
15    public:
16        RE_Parser_BRE(const std::string & regular_expression) : RE_Parser_ERE(regular_expression) {
17            mReSyntax = RE_Syntax::BRE;
18        }
19
20    protected:
21        RE * parse_alt() override;
22        RE * parse_seq() override;
23        RE * parse_next_item() override ;
24        RE * extend_item(RE * re) override;
25        RE * parse_group() override;
26        std::pair<int, int> parse_range_bound() override;
27    };
28}
29
30
31#endif //ICGREP_RE_PARSER_BRE_H
Note: See TracBrowser for help on using the repository browser.