asn1: Fix 5 shift/reduce conflicts

There remains one tough shift/reduce conflict, the warning for which is
quieted with an `%expect 1` directive.

The remaining conflict has to do with whether a constraint attaches to
the inner type that some other outer type is a SET OF or SEQUENCE OF or
tagged-type of, or whether it attaches to the outer type.  The two are
really the same thing.  The latter is the reduce side, so it's not used,
but if it were we could grab the constraint in the action and attach it
to the inner type anyways.
This commit is contained in:
Nicolas Williams
2022-01-21 22:34:12 -06:00
parent f0f6bb03f4
commit e1fa08a4d6
3 changed files with 53 additions and 36 deletions

View File

@@ -120,7 +120,7 @@ struct range {
int64_t max;
};
enum ctype { CT_CONTENTS, CT_USER, CT_TABLE_CONSTRAINT } ;
enum ctype { CT_CONTENTS, CT_USER, CT_TABLE_CONSTRAINT, CT_RANGE } ;
struct constraint_spec;
@@ -217,6 +217,7 @@ struct constraint_spec {
struct value *encoding;
struct component_relation_constraint crel;
} content;
struct range *range;
} u;
};