commit ddb089c157628dc1b5ad10b526d24fb1a28c438e from: Omar Polo date: Fri Jan 26 16:54:58 2024 UTC rework the grammar so that ; is accepted after variables and options See Codeberg issue #1. commit - 3524375abe3db49d8eb887adc30476044ea029cf commit + ddb089c157628dc1b5ad10b526d24fb1a28c438e blob - ae2c143244e555dea89e2ba27203227085199e24 blob + 7313e9a31ddf32a6856ae803fa353b2563499667 --- parse.y +++ parse.y @@ -150,13 +150,12 @@ typedef struct { %% conf : /* empty */ - | conf include '\n' - | conf '\n' - | conf varset '\n' - | conf option '\n' - | conf vhost '\n' - | conf types '\n' - | conf error '\n' { file->errors++; } + | conf include nl + | conf varset nl + | conf option nl + | conf vhost nl + | conf types nl + | conf error nl { file->errors++; } ; include : INCLUDE STRING { @@ -617,7 +616,7 @@ mediaopts_l : mediaopts_l mediaoptsl nl mediaoptsl : STRING { free(current_media); current_media = $1; - } medianames_l optsemicolon + } medianames_l | include ; @@ -633,17 +632,13 @@ medianamesl : numberstring { ; nl : '\n' optnl + | ';' optnl ; -optnl : '\n' optnl /* zero or more newlines */ - | ';' optnl /* semicolons too */ +optnl : nl | /*empty*/ ; -optsemicolon : ';' - | - ; - %% static const struct keyword {