Skip to content

Commit 383c18e

Browse files
committed
create Type_Repeat for repeat expr's
1 parent 31e3bb7 commit 383c18e

5 files changed

Lines changed: 12 additions & 8 deletions

File tree

include/express/type.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ extern SC_EXPRESS_EXPORT Type Type_Boolean;
193193
extern SC_EXPRESS_EXPORT Type Type_Enumeration;
194194
extern SC_EXPRESS_EXPORT Type Type_Expression;
195195
extern SC_EXPRESS_EXPORT Type Type_Aggregate;
196-
extern SC_EXPRESS_EXPORT Type Type_Integer;
196+
extern SC_EXPRESS_EXPORT Type Type_Repeat;
197197
extern SC_EXPRESS_EXPORT Type Type_Integer;
198198
extern SC_EXPRESS_EXPORT Type Type_Number;
199199
extern SC_EXPRESS_EXPORT Type Type_Real;

src/express/expparse.y

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ aggregate_init_body(A) ::= aggregate_init_element(B) TOK_COLON expression(C).
437437

438438
LISTadd_last(A, (Generic)C);
439439

440-
C->type->u.type->body->flags.repeat = 1;
440+
C->type = Type_Repeat;
441441
}
442442
aggregate_init_body(A) ::= aggregate_init_body(B) TOK_COMMA
443443
aggregate_init_element(C).
@@ -455,7 +455,7 @@ aggregate_init_body(A) ::= aggregate_init_body(B) TOK_COMMA
455455
LISTadd_last(A, (Generic)C);
456456
LISTadd_last(A, (Generic)D);
457457

458-
D->type->u.type->body->flags.repeat = 1;
458+
D->type = Type_Repeat;
459459
}
460460

461461
aggregate_type(A) ::= TOK_AGGREGATE TOK_OF parameter_type(B).

src/express/generated/expparse.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2378,7 +2378,7 @@ static void yy_reduce(
23782378

23792379
LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401);
23802380

2381-
yymsp[0].minor.yy401->type->u.type->body->flags.repeat = 1;
2381+
yymsp[0].minor.yy401->type = Type_Repeat;
23822382
}
23832383
#line 2384 "expparse.c"
23842384
break;
@@ -2400,7 +2400,7 @@ static void yy_reduce(
24002400
LISTadd_last(yygotominor.yy371, (Generic)yymsp[-2].minor.yy401);
24012401
LISTadd_last(yygotominor.yy371, (Generic)yymsp[0].minor.yy401);
24022402

2403-
yymsp[0].minor.yy401->type->u.type->body->flags.repeat = 1;
2403+
yymsp[0].minor.yy401->type = Type_Repeat;
24042404
}
24052405
#line 2406 "expparse.c"
24062406
break;

src/express/generated/verification_info.cmake

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ set(baseline_perplex_version "1.0.0")
55
set(baseline_lempar_c_md5 60741b9dd886b77a5732a2e85d6d56b0)
66
set(baseline_perplex_template_c_md5 7db377251a8c99c835f06df129d95bed)
77
set(baseline_expscan_l_md5 617531ffdf3ee747cd5980f3c3a9a4bd)
8-
set(baseline_expparse_y_md5 5443ad0e6683ac00766dfc6e2cd72cbf)
8+
set(baseline_expparse_y_md5 4f0aa066541f563ddcc96dcf1a89b29d)
99
set(baseline_expscan_c_md5 980080ce3ee1366a28f2ecfabbe65a3f)
1010
set(baseline_expscan_h_md5 3052c058a37045b43f96e4c04039bce3)
11-
set(baseline_expparse_c_md5 37b5ed548cd394342c18e240d312f55e)
11+
set(baseline_expparse_c_md5 010c5300472b52d88351c844d20581a5)
1212
set(baseline_expparse_h_md5 e4a5599839b2a9f7a6915a0dcc7747b0)

src/express/type.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ Type Type_Boolean;
138138
Type Type_Enumeration;
139139
Type Type_Expression;
140140
Type Type_Aggregate;
141-
Type Type_Integer;
141+
Type Type_Repeat;
142142
Type Type_Integer;
143143
Type Type_Number;
144144
Type Type_Real;
@@ -406,6 +406,10 @@ void TYPEinitialize() {
406406
Type_Identifier = TYPEcreate( identifier_ );
407407
Type_Identifier->u.type->body->flags.shared = 1;
408408

409+
Type_Repeat = TYPEcreate( integer_ );
410+
Type_Repeat->u.type->body->flags.shared = 1;
411+
Type_Repeat->u.type->body->flags.repeat = 1;
412+
409413
Type_Oneof = TYPEcreate( oneof_ );
410414
Type_Oneof->u.type->body->flags.shared = 1;
411415

0 commit comments

Comments
 (0)