I am writing this code in a R version 4.0 with rstan version 2.21.x

```
model_code <- "
// a basic GLM example
data {
int<lower=1> N; // rows of data
vector[N] x; // predictor
int<lower=0> y[N]; // response
}
parameters {
real<lower=0> phi; // neg. binomial dispersion parameter
real b0; // intercept
real b1; // slope
}
model {
// priors:
phi ~ cauchy(0, 3);
b0 ~ normal(0, 5);
b1 ~ normal(0, 5);
// data model:
target += neg_binomial_2_lupmf(y | b0 + b1 * x, phi);
}
"
mod <- stan_model(model_code = model_code)
```

The above code throws the following error,

```
SYNTAX ERROR, MESSAGE(S) FROM PARSER:
error in 'model46857a400aac_44eb016e60d737798188749d5f0feb88' at line 21, column 32
-------------------------------------------------
19: b1 ~ normal(0, 5);
20: // data model:
21: target += neg_binomial_2_lupmf(y | b0 + b1 * x, phi);
^
22: }
-------------------------------------------------
PARSER EXPECTED: "("
```

I am really confused about the syntax error. Not sure how to proceed. Any help would be appreciated greatly.