2014-03-08 15:26:27 -08:00
|
|
|
#include "character_set_helpers.h"
|
|
|
|
|
#include <memory>
|
2014-02-20 23:05:32 -08:00
|
|
|
|
|
|
|
|
namespace tree_sitter {
|
2014-03-08 15:26:27 -08:00
|
|
|
using std::make_shared;
|
|
|
|
|
using std::set;
|
2014-03-09 19:49:35 -07:00
|
|
|
|
2014-02-20 23:05:32 -08:00
|
|
|
namespace rules {
|
|
|
|
|
rule_ptr character(const set<CharacterRange> &ranges) {
|
|
|
|
|
return make_shared<CharacterSet>(ranges);
|
|
|
|
|
}
|
2014-03-08 15:26:27 -08:00
|
|
|
|
2014-02-20 23:05:32 -08:00
|
|
|
rule_ptr character(const set<CharacterRange> &ranges, bool sign) {
|
|
|
|
|
if (sign)
|
|
|
|
|
return character(ranges);
|
|
|
|
|
else
|
|
|
|
|
return CharacterSet(ranges).complement().copy();
|
|
|
|
|
}
|
|
|
|
|
}
|
2014-03-08 15:26:27 -08:00
|
|
|
}
|