
(* This file was auto-generated based on "parser.messages". *)

(* Please note that the function [message] can raise [Not_found]. *)

let message =
  fun s ->
    match s with
    | 629 | 628 | 604 | 603 | 328 | 327 ->
        "\";\\\" expected after variable declaration.\nIt looks like you are trying to use the old array syntax.\nPlease use the new syntax:\nhttps://mc-stan.org/docs/reference-manual/types.html#array-data-types.section\n"
    | 294 | 293 | 292 | 291 ->
        "Ill-formed fatal error statement. After \"fatal_error(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 15 | 14 ->
        "\"[\" (list of commas) \"]\" expected in unsized return type of function definition.\n"
    | 596 | 602 ->
        "\";\" expected after variable declaration.\n"
    | 627 | 319 | 309 | 326 ->
        "\";\" or plain assignment expected after variable declaration.\n"
    | 20 | 3 | 194 | 486 ->
        "Invalid type specification.\nExpected \"(\" followed by further types and \")\" to complete tuple.\n"
    | 585 | 618 | 580 | 302 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 468 ->
        "Expected \">\" or \", upper = expression>\" (with expression not containing binary logical operators) expected after specifying lower bound for type.\n"
    | 224 ->
        "Expected expressions for size of array.\n"
    | 19 | 237 | 565 ->
        "Expected non-array type after \"array\" declaration.\n"
    | 23 | 22 | 24 | 32 | 33 | 4 | 25 | 21 ->
        "Expected comma-separated list of types followed by \")\" to declare tuple type.\n"
    | 102 | 183 ->
        "Expression or comma separated list of expressions followed by \")\" expected after \"(\".\n"
    | 195 | 487 ->
        "Incomplete type declaration. Expected comma separated list of types between \"(\"\nand \")\" to declare tuple variable.\n"
    | 234 | 562 | 231 | 559 | 229 | 557 ->
        "Incomplete type specification. Expected either \")\" or \",\" followed by\nfurther types and \")\" to complete tuple.\n"
    | 227 | 247 | 555 | 575 | 243 | 571 ->
        "Invalid type specification, unmatched \"(\".\nExpected \",\" followed by further types and \")\" to complete tuple.\n"
    | 248 | 232 | 560 | 230 | 558 | 228 | 235 | 563 | 556 | 576 | 244 | 572 ->
        "Incomplete type specification, expected further types followed by \")\" to complete tuple.\n"
    | 635 | 376 | 609 ->
        "Expected identifier after type in declaration.\n"
    | 225 | 13 | 223 ->
        "Expected \"[\" array sizes \"]\" followed by type after \"array\".\n"
    | 399 ->
        "Only function definitions/declarations are expected in '.stanfunctions' file\n"
    | 0 ->
        "Function definitions/declarations expected in '.stanfunctions' file\n"
    | 542 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 274 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 273 ->
        "Expected \"{\" after profile definition.\n"
    | 272 ->
        "Expected \")\" after profile name.\n"
    | 271 ->
        "Expected profile name as string in parenthesis\n"
    | 270 ->
        "Expected profile name as string in parenthesis\n"
    | 311 | 587 | 582 | 304 ->
        "Expected a new identifier after comma in declaration.\nAll variables declared must be of the same type, and any initializing assignment must follow the identifier before the next comma.\n"
    | 610 | 584 | 581 | 588 | 599 ->
        "Cannot assign to variables in the `data` or `parameters` blocks; expected ';'\nafter variable declaration.\n"
    | 465 ->
        "Expected '>' after multiplier expression.\n"
    | 464 ->
        "Numerical expression expected after '=' in a multiplier expression.\n"
    | 463 ->
        "'=' expected after 'multiplier' keyword.\n"
    | 461 | 462 ->
        "Expected '>' or offset expression after multiplier expression.\n"
    | 451 ->
        "Expected '>' after lower expression.\n"
    | 450 ->
        "Numerical expression expected after '=' in a lower expression.\n"
    | 449 ->
        "'=' expected after 'upper' keyword.\n"
    | 448 ->
        "'>' or lower expression expected after upper expression.\n"
    | 649 ->
        "We expect \"{\" after \"transformed parameters\".\n"
    | 650 ->
        "Expect a statement or top-level variable declaration.\n"
    | 654 ->
        "\"model {\" or \"generated quantities {\" expected after end of transformed parameters block.\n"
    | 616 ->
        "We expect \"{\" after \"transformed data\".\n"
    | 94 ->
        "After \"while\", we expect \"(\" expression \")\" statement.\n"
    | 188 | 95 ->
        "Ill-formed expression. We expect an expression after \"(\" for the test of a while-loop.\n"
    | 189 ->
        "Ill-formed statement. We expect a statement after \")\", for the body of the while-loop.\n"
    | 617 ->
        "Expect a statement or top-level variable declaration.\n"
    | 623 ->
        "Ill-formed top-level variable declaration. Expect an identifier next.\n"
    | 372 ->
        "Ill-formed assignment statement. Expected an expression followed by \";\" next.\n"
    | 373 ->
        "Ill-formed assignment statement. Expected a \";\" after the value being assigned.\n"
    | 360 | 357 | 369 | 366 | 354 ->
        "Ill-formed compound assignment statement. Expected an expression followed by \";\" next.\n"
    | 358 | 361 | 367 | 364 | 370 | 355 ->
        "Ill-formed compound assignment statement. Expected a \";\" after the value being assigned.\n"
    | 391 | 336 ->
        "Ill-formed phrase. Found an expression where we expected a statement.\n"
    | 332 | 114 | 333 ->
        "Ill-formed function application. Expect comma-separated list of expressions followed by \")\" after \"(\".\n"
    | 334 ->
        "Ill-formed phrase. Found a well-formed function application. Expected either a \";\" or a valid continuation of the expression.\n"
    | 173 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 174 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 251 ->
        "Ill-formed phrase. Expect either \"+=\" or \"()\" after \"target\".\n"
    | 252 | 253 ->
        "Ill-formed statement. Expression followed by \";\" expected after \"target +=\".\n"
    | 97 ->
        "Ill-formed expression. Expected \")\" after \"target(\".\n"
    | 256 | 258 ->
        "Ill-formed return statement. \";\" or expression followed by \";\" expected after \"return\".\n"
    | 110 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 112 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 96 ->
        "Ill formed expression. After \"target\", we expect \"()\".\n"
    | 104 ->
        "Expression expected after \"{\" in array expression.\n"
    | 260 | 264 | 269 | 265 | 261 ->
        "Ill-formed reject statement. After \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 267 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 268 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 337 ->
        "Ill-formed \"~\"-statement. Expect an distribution name after \"~\".\n"
    | 338 ->
        "Ill-formed \"~\"-statement. Expect \"(\" after distribution name, followed by a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 339 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 340 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 341 ->
        "Ill-formed \"~\"-statement. Expect either \";\" or a truncation with the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 345 | 346 | 344 | 342 | 348 | 343 ->
        "Ill-formed truncation. Expect the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 350 ->
        "Expected \";\" after \"~\"-statement (with optional truncation).\n"
    | 168 | 167 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 164 ->
        "Expected index after indices followed by \",\".\n"
    | 126 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 186 | 187 ->
        "Ill-formed expression. Found an expression. Expect an infix or postfix operator or \"[\"\n"
    | 127 ->
        "Ill-formed phrase. Found \":\" expression. We expect either an infix or postfix operator, or \",\" or or \"[\" or \"]\" next.\n"
    | 160 | 145 | 144 ->
        "Found an incomplete ternary expression, should be \"(condition) ? (true branch) : (false branch)\".\nDid you forget to add a colon or a false branch?\nFor example, this returns 3.0:\n  1 ? 0.0 : 3.0\n"
    | 118 | 142 | 130 | 146 | 148 | 132 | 150 | 128 | 116 | 158 | 140 | 138 | 136 | 156 | 154 | 120 | 152 | 363 | 434 | 424 | 134 | 122 ->
        "Found an incomplete binary expression - are you missing the right hand side?\n"
    | 353 | 177 | 109 | 172 | 161 | 123 | 137 | 129 | 117 | 157 | 155 | 121 | 135 | 119 | 153 | 151 | 139 | 159 | 143 | 133 | 149 | 147 | 131 | 141 | 124 | 331 ->
        "Unexpected input after the conclusion of a valid expression.\nYou may be missing a \",\" between expressions, an operator, or a terminating \"}\", \")\", \"]\", or \";\".\n"
    | 642 ->
        "Expected \"parameters {\", \"transformed parameters {\", \"model {\", \"generated quantities {\" or end-of-file after end of transformed data block.\n"
    | 275 ->
        "Expected \"(\" followed by a comma-separated list of expressions or strings followed by \");\" after \"print\".\n"
    | 276 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 278 ->
        "Expected a \";\" after \"print(...)\".\n"
    | 277 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 100 ->
        "Ill-formed expression. Expect an expression after \"+\".\n"
    | 101 ->
        "Ill-formed expression. Expect an expression after \"-\".\n"
    | 184 | 181 ->
        "Ill-formed phrase. Found \"(\" followed by expression. Expect a \"[\", \",\" or \")\" or an infix or postfix operator.\n"
    | 103 ->
        "Comma separated list of expressions followed by \"]\" expected after \"[\".\n"
    | 125 | 166 | 179 ->
        "Ill-formed expression. We expect a comma separated list of expressions, followed by \"]\".\n"
    | 170 ->
        "Ill-formed expression. We expect a comma separated list of expressions.\n"
    | 280 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 281 ->
        "\"(\" expression \")\" expected after \"if\".\n"
    | 282 ->
        "Expected expression for test of conditional control flow construct.\n"
    | 283 ->
        "Ill-formed expression. Expression expected after \"(\", for test of conditional control flow construct.\n"
    | 385 ->
        "Ill-formed statement. Expected statement after else.\n"
    | 284 ->
        "Ill-formed statement. Statement expected for true branch of conditional.\n"
    | 622 | 384 ->
        "Ill-formed block. Expected a statement, variable declaration, or just \"}\".\n"
    | 285 ->
        "Expected \"(\" after \"for\".\n"
    | 286 ->
        "Expected (loop) identifier after \"(\".\n"
    | 287 ->
        "Expected \"in\" after loop identifier.\n"
    | 288 | 289 ->
        "Ill-formed expression. Expected expression followed by \")\" or \":\" after \"for (\" identifier \"in\".\n"
    | 290 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the foreach loop.\n"
    | 381 | 380 ->
        "Ill-formed expression. Expected expression followed by \")\" after \"for (\" identifier \"in\" expression \":\".\n"
    | 382 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the for loop.\n"
    | 296 ->
        "Expected \";\" after \"continue\".\n"
    | 298 ->
        "Expected \";\" after \"break\".\n"
    | 176 | 108 ->
        "Ill-formed expression. Expression expected after \"!\".\n"
    | 643 ->
        "Expected \"{\" after \"parameters\".\n"
    | 644 ->
        "Expected top-level variable declaration or \"}\".\n"
    | 648 ->
        "\"transformed parameters {\", \"model {\" or \"generated quantities {\" expected after end of parameters block.\n"
    | 655 ->
        "Expected \"{\" after \"model\".\n"
    | 656 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 526 | 528 | 527 | 525 | 210 | 477 | 479 | 478 | 413 | 192 | 209 | 191 | 208 | 190 ->
        "Expected \"[\" expression \"]\" for vector size.\n"
    | 387 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 494 | 492 | 531 | 533 | 532 | 530 | 214 | 213 | 212 | 495 | 198 | 196 | 197 ->
        "\"[\" expression \"]\" expected for row_vector size.\n"
    | 322 ->
        "Identifier expected after sized type in local (or model block) variable declaration. (No transformations/constraints allowed.)\n"
    | 313 | 312 ->
        "Ill-formed expression. Expression followed by \";\" expected after \"=\".\n"
    | 659 ->
        "Expected \"generated quantities {\" or end of file after end of model block.\n"
    | 508 | 512 | 511 | 510 | 509 | 507 | 536 | 540 | 539 | 538 | 537 | 535 | 220 | 219 | 218 | 217 | 216 | 205 | 204 | 203 | 202 | 201 ->
        "\"[\" expression \",\" expression \"]\" expected for matrix sizes.\n"
    | 660 ->
        "Expected \"{\" after block keyword.\n"
    | 661 ->
        "Variable declaration or statement or \"}\" expected in generated quantities block.\n"
    | 664 ->
        "Expected end of file after end of generated quantities block.\n"
    | 405 ->
        "\"{\" expected after \"functions\".\n"
    | 406 ->
        "Function forward declaration, definition or \"}\" expected after \"functions {\".\n"
    | 37 ->
        "An identifier is expected as a function name.\n"
    | 85 ->
        "\"(\" expected after function name.\n"
    | 396 ->
        "\",\" or \")\" expected after function argument declaration.\n"
    | 86 | 397 ->
        "An argument declaration (unsized and unconstrained type followed by identifier) is expected.\n"
    | 93 ->
        "Either \"{\" statement \"}\" is expected for a function definition or \";\" for a function forward declaration.\n"
    | 90 | 27 | 89 ->
        "An identifier is expected after the type as a function argument name.\n"
    | 407 | 402 ->
        "A \"}\" or a function definition/declaration is expected.\n"
    | 410 ->
        "Expected \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 411 ->
        "\"{\" followed by a list of top-level variable declarations is expected after seeing \"data\".\n"
    | 412 ->
        "Invalid type in declaration. Valid types:\n  int, real, vector, row_vector, matrix,\n  unit_vector, simplex, ordered, positive_ordered,\n  corr_matrix, cov_matrix, cholesky_factor_corr, cholesky_factor_cov,\n  tuple(...)\noptionally preceded by a single array[...]\n"
    | 598 ->
        "We expect to see an identifier after a sized type.\n"
    | 414 ->
        "We expect to see \"lower =\", \"upper =\", \"offset =\" or \"multiplier =\" followed by an expression after \"<\".\n"
    | 415 ->
        "Expect \"=\" expression \">\" after seeing \"upper\".\n"
    | 416 ->
        "Expression (not containing binary logical operators) expected after \"upper =\". Ill-formed expression.\n"
    | 430 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 436 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 438 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 446 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 432 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 422 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 440 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 442 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 444 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 417 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 418 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 426 | 419 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 459 ->
        "Expected \"=\" expression (not containing binary logical operators) \">\" after \"multiplier\".\n"
    | 460 ->
        "Expected expression (not containing binary logical operators) after \"multiplier =\".\n"
    | 466 ->
        "Expected \"=\" expression (not containing binary logical operators), after \"lower\".\n"
    | 467 ->
        "An expression (not containing binary logical operators) is expected for type lower bound.\n"
    | 469 ->
        "\"upper =\" expression (not containing binary logical operators) \">\" expected after \"<lower =\" expression \",\" in top-level variable declaration.\n"
    | 470 ->
        "Expected \"=\" expression (not containing binary logical operators) after \"upper\".\n"
    | 420 | 471 ->
        "Expected expression (not containing binary logical operators) after \"upper = \".\n"
    | 445 | 443 | 425 | 441 | 423 | 435 | 433 | 447 | 439 | 437 | 431 | 429 | 428 | 427 | 472 ->
        "Expected \">\" after \"upper = \" expression.\n"
    | 452 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 453 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 454 | 455 ->
        "Expected \">\" or \", multiplier = \" expression (not containing binary logical operators) \">\" after \"offset = \" expression.\n"
    | 456 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 457 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 458 ->
        "Expected \">\" after \"multiplier = \" expression.\n"
    | 484 | 483 | 482 ->
        "Expected \"[\" expression \"]\" for size of unit_vector.\n"
    | 490 | 489 | 488 ->
        "Expected \"[\" expression \"]\" for size of simplex.\n"
    | 493 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 497 ->
        "Identifier expected after type in top-level variable declaration.\n"
    | 606 ->
        "Only top-level variable declarations allowed in data and parameters blocks.\n"
    | 615 ->
        "Expected \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 501 | 500 | 499 ->
        "Expected \"[\" expression \"]\" for size of positive_ordered.\n"
    | 505 | 504 | 503 ->
        "Expected \"[\" expression \"]\" for size of ordered.\n"
    | 514 ->
        "Expected range constraint or identifier as part of top-level variable declaration.\n"
    | 515 ->
        "Expected \"lower = \" expression or \"upper = \" expression for integer bounds.\n"
    | 519 | 518 | 517 ->
        "Expected \"[\" expression \"]\" for size of cov_matrix.\n"
    | 523 | 522 | 521 ->
        "Expected \"[\" expression \"]\" for size of corr_matrix.\n"
    | 548 | 547 | 544 | 546 | 545 ->
        "Expected \"[\" expression \"]\" or \"[\" expression \",\" expression \"]\" for size of cholesky_factor_cov.\n"
    | 553 | 552 | 551 ->
        "Expected \"[\" expression \"]\" for size of cholesky_factor_corr.\n"
    | 404 ->
        "Expected \"functions {\" or \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | _ ->
        raise Not_found
