From 0629353fdc36f7f97d5f219c202bdf19877f96a4 Mon Sep 17 00:00:00 2001 From: Nikolaj Bjorner Date: Sat, 10 Sep 2022 16:02:11 -0700 Subject: [PATCH] add match for foldli --- src/ast/ast.h | 7 +++++++ src/ast/seq_decl_plugin.h | 1 + 2 files changed, 8 insertions(+) diff --git a/src/ast/ast.h b/src/ast/ast.h index d8eb072e3..512501226 100644 --- a/src/ast/ast.h +++ b/src/ast/ast.h @@ -531,6 +531,13 @@ public: #endif }; +#define MATCH_QUATARY(_MATCHER_) \ + bool _MATCHER_(expr const* n, expr*& a1, expr*& a2, expr *& a3, expr *& a4) const { \ + if (_MATCHER_(n) && to_app(n)->get_num_args() == 4) { \ + a1 = to_app(n)->get_arg(0); a2 = to_app(n)->get_arg(1); a3 = to_app(n)->get_arg(2); a4 = to_app(n)->get_arg(3); return true; } \ + return false; \ + } + #define MATCH_TERNARY(_MATCHER_) \ bool _MATCHER_(expr const* n, expr*& a1, expr*& a2, expr *& a3) const { \ if (_MATCHER_(n) && to_app(n)->get_num_args() == 3) { \ diff --git a/src/ast/seq_decl_plugin.h b/src/ast/seq_decl_plugin.h index 30b4a9fb3..c6550d33a 100644 --- a/src/ast/seq_decl_plugin.h +++ b/src/ast/seq_decl_plugin.h @@ -403,6 +403,7 @@ public: MATCH_BINARY(is_map); MATCH_TERNARY(is_mapi); MATCH_TERNARY(is_foldl); + MATCH_QUATARY(is_foldli); MATCH_BINARY(is_last_index); MATCH_TERNARY(is_replace); MATCH_TERNARY(is_replace_re);