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

Last change on this file since 5789 was 5787, checked in by cameron, 17 months ago

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

File size: 850 bytes
RevLine 
[5180]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>
[5787]11#include <re/re_parser_ere.h>
[5180]12
13namespace re {
[5787]14    class RE_Parser_BRE : public RE_Parser_ERE  {
[5180]15    public:
[5787]16        RE_Parser_BRE(const std::string & regular_expression) : RE_Parser_ERE(regular_expression) {
[5206]17            mReSyntax = RE_Syntax::BRE;
[5180]18        }
19
20    protected:
[5787]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;
[5180]27    };
28}
29
30
31#endif //ICGREP_RE_PARSER_BRE_H
Note: See TracBrowser for help on using the repository browser.