3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-04-29 07:13:43 +00:00

libparse: parse expressions in filterlib

This commit is contained in:
Emil J. Tywoniak 2025-11-05 12:12:30 +01:00
parent 66d8fc5c28
commit 547e254a9b
3 changed files with 79 additions and 55 deletions

View file

@ -91,11 +91,13 @@ namespace Yosys
LibertyExpression() : kind(Kind::EMPTY) {}
static LibertyExpression parse(Lexer &s, int min_prio = 0);
void get_pin_names(pool<std::string>& names);
bool eval(dict<std::string, bool>& values);
std::string str(int indent = 0);
void get_pin_names(std::unordered_set<std::string>& names);
bool eval(std::unordered_map<std::string, bool>& values);
std::string sexpr_str(int indent = 0);
std::string vlog_str();
private:
static bool is_nice_binop(char c);
static bool char_is_nice_binop(char c);
bool is_binop();
};
class LibertyInputStream {