update
This commit is contained in:
parent
ed580127d3
commit
d921431bc9
|
@ -36,16 +36,20 @@ namespace lib_composit {
|
|||
SeqsR() : Seqs(__types_list<TYPES...>::getRules()){ }
|
||||
};
|
||||
|
||||
template<typename TYPE, int min, int max>
|
||||
template<typename TYPE, int min, int max> requires std::derived_from<TYPE, lib_syntax::IBasicRule>
|
||||
class ReptR : public lib_syntax::Rept {
|
||||
public:
|
||||
ReptR() : Rept(std::make_shared<TYPE>(), min, max){ }
|
||||
};
|
||||
template<typename TYPE> class OptMulti : public ReptR<TYPE, 0, INT_MAX>{ };
|
||||
template<typename TYPE> class Multi : public ReptR<TYPE, 1, INT_MAX>{ };
|
||||
template<typename TYPE> class Opt : public ReptR<TYPE, 0, 1>{ };
|
||||
|
||||
template<typename E, typename T, lib_token::TokenProc<E> xproc = nullptr>
|
||||
|
||||
template<typename E, typename T, lib_token::TokenProc<E> p = nullptr>
|
||||
requires std::derived_from<E, ast_basic::IExprInstance> && std::derived_from<T, lib_token::ITokenProcess>
|
||||
class TokenR : public lib_syntax::TokenMatch<E, xproc> {
|
||||
class TokenR : public lib_syntax::TokenMatch<E, p> {
|
||||
public:
|
||||
TokenR() : TokenMatch<E, xproc>(std::make_shared<T>()){ }
|
||||
TokenR() : TokenMatch<E, p>(std::make_shared<T>()){ }
|
||||
};
|
||||
}
|
||||
|
|
|
@ -54,7 +54,6 @@ namespace example_novel {
|
|||
virtual std::tuple<std::shared_ptr<const lib_token::IToken>, std::shared_ptr<const lib_words::IPrimitiveWord>>
|
||||
analysis(std::shared_ptr<const lib_words::IPrimitiveWord> content) const override;
|
||||
};
|
||||
|
||||
class LIBSYNTAX_EXPORT RankWord : public __keywords {
|
||||
public:
|
||||
RankWord();
|
||||
|
|
Loading…
Reference in New Issue