* Full RFC 7950 if-feature-expr support (Section 7.20.2)

* Previous implementation did not handle nested if-feature expressions
  * As part of fixing: [YANG if-feature does not support nested boolean expression](https://github.com/clicon/clixon/issues/341)
  * Added new yacc/lex parser for if-feature-expr string
This commit is contained in:
Olof hagsand 2022-06-26 10:56:03 +02:00
parent 5bb3767358
commit a00e36caa2
11 changed files with 484 additions and 155 deletions

View file

@ -262,6 +262,7 @@ int yang_spec_dump(yang_stmt *yspec, int debuglevel);
int if_feature(yang_stmt *yspec, char *module, char *feature);
int ys_populate(yang_stmt *ys, void *arg);
int ys_populate2(yang_stmt *ys, void *arg);
int yang_if_feature_parse(char *str, yang_stmt *ys, int linenum, int *enabled);
int yang_apply(yang_stmt *yn, enum rfc_6020 key, yang_applyfn_t fn, int from, void *arg);
int yang_datanode(yang_stmt *ys);
int yang_abs_schema_nodeid(yang_stmt *ys, char *schema_nodeid, yang_stmt **yres);