
(* 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
    | 15 | 14 ->
        "\"[\" (list of commas) \"]\" expected in unsized return type of function definition.\n"
    | 583 ->
        "\";\" expected after variable declaration.\n"
    | 300 | 310 ->
        "\";\" or plain assignment expected after variable declaration.\n"
    | 20 | 3 | 190 | 473 ->
        "Invalid type specification.\nExpected \"(\" followed by further types and \")\" to complete tuple.\n"
    | 572 | 601 | 567 | 293 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 455 ->
        "Expected \">\" or \", upper = expression>\" (with expression not containing binary logical operators) expected after specifying lower bound for type.\n"
    | 220 ->
        "Expected expressions for size of array.\n"
    | 19 | 233 | 552 ->
        "Expected non-array type after \"array\" declaration.\n"
    | 23 | 22 | 24 | 31 | 32 | 4 | 25 | 21 ->
        "Expected comma-separated list of types followed by \")\" to declare tuple type.\n"
    | 98 | 179 ->
        "Expression or comma separated list of expressions followed by \")\" expected after \"(\".\n"
    | 191 | 474 ->
        "Incomplete type declaration. Expected comma separated list of types between \"(\"\nand \")\" to declare tuple variable.\n"
    | 230 | 549 | 227 | 546 | 225 | 544 ->
        "Incomplete type specification. Expected either \")\" or \",\" followed by\nfurther types and \")\" to complete tuple.\n"
    | 223 | 243 | 542 | 562 | 239 | 558 ->
        "Invalid type specification, unmatched \"(\".\nExpected \",\" followed by further types and \")\" to complete tuple.\n"
    | 244 | 228 | 547 | 226 | 545 | 224 | 231 | 550 | 543 | 563 | 240 | 559 ->
        "Incomplete type specification, expected further types followed by \")\" to complete tuple.\n"
    | 614 | 363 | 592 ->
        "Expected identifier after type in declaration.\n"
    | 221 | 13 | 219 ->
        "Expected \"[\" array sizes \"]\" followed by type after \"array\".\n"
    | 386 ->
        "Only function definitions/declarations are expected in '.stanfunctions' file\n"
    | 0 ->
        "Function definitions/declarations expected in '.stanfunctions' file\n"
    | 529 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 270 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 269 ->
        "Expected \"{\" after profile definition.\n"
    | 268 ->
        "Expected \")\" after profile name.\n"
    | 267 ->
        "Expected profile name as string in parenthesis\n"
    | 266 ->
        "Expected profile name as string in parenthesis\n"
    | 302 | 574 | 569 | 295 ->
        "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"
    | 593 | 571 | 568 | 575 | 586 ->
        "Cannot assign to variables in the `data` or `parameters` blocks; expected ';'\nafter variable declaration.\n"
    | 452 ->
        "Expected '>' after multiplier expression.\n"
    | 451 ->
        "Numerical expression expected after '=' in a multiplier expression.\n"
    | 450 ->
        "'=' expected after 'multiplier' keyword.\n"
    | 448 | 449 ->
        "Expected '>' or offset expression after multiplier expression.\n"
    | 438 ->
        "Expected '>' after lower expression.\n"
    | 437 ->
        "Numerical expression expected after '=' in a lower expression.\n"
    | 436 ->
        "'=' expected after 'upper' keyword.\n"
    | 435 ->
        "'>' or lower expression expected after upper expression.\n"
    | 628 ->
        "We expect \"{\" after \"transformed parameters\".\n"
    | 629 ->
        "Expect a statement or top-level variable declaration.\n"
    | 633 ->
        "\"model {\" or \"generated quantities {\" expected after end of transformed parameters block.\n"
    | 599 ->
        "We expect \"{\" after \"transformed data\".\n"
    | 90 ->
        "After \"while\", we expect \"(\" expression \")\" statement.\n"
    | 184 | 91 ->
        "Ill-formed expression. We expect an expression after \"(\" for the test of a while-loop.\n"
    | 185 ->
        "Ill-formed statement. We expect a statement after \")\", for the body of the while-loop.\n"
    | 600 ->
        "Expect a statement or top-level variable declaration.\n"
    | 606 ->
        "Ill-formed top-level variable declaration. Expect an identifier next.\n"
    | 341 ->
        "Ill-formed expression. Found L-value \"*=\". Expect an expression followed by \";\" next.\n"
    | 342 ->
        "Ill-formed phrase. Found L-value \"*=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 378 | 323 ->
        "Ill-formed phrase. Found an expression where we expected a statement.\n"
    | 344 ->
        "Ill-formed expression. Found L-value \"+=\". Expect an expression followed by \";\" next.\n"
    | 345 ->
        "Ill-formed phrase. Found L-value \"+=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 347 ->
        "Ill-formed expression. Found L-value \"-=\". Expect an expression followed by \";\" next.\n"
    | 348 ->
        "Ill-formed phrase. Found L-value \"-=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 319 | 110 | 320 ->
        "Ill-formed function application. Expect comma-separated list of expressions followed by \")\" after \"(\".\n"
    | 321 ->
        "Ill-formed phrase. Found a well-formed function application. After this, there are many legal completions of the phrase.\n"
    | 169 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 170 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 351 ->
        "Ill-formed phrase. Found L-value \".*=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 353 ->
        "Ill-formed expression. Found L-value \"./=\". Expect an expression followed by \";\" next.\n"
    | 354 ->
        "Ill-formed phrase. Found L-value \"./=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 356 ->
        "Ill-formed expression. Found L-value \"/=\". Expect an expression followed by \";\" next.\n"
    | 357 ->
        "Ill-formed phrase. Found L-value \"/=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 359 ->
        "Ill-formed expression. Found L-value \"=\". Expect an expression followed by \";\" next.\n"
    | 360 ->
        "Ill-formed phrase. Found L-value \"=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 247 ->
        "Ill-formed phrase. Expect either \"+=\" or \"()\" after \"target\".\n"
    | 248 | 249 ->
        "Ill-formed statement. Expression followed by \";\" expected after \"target +=\".\n"
    | 93 ->
        "Ill-formed expression. Expected \")\" after \"target(\".\n"
    | 252 | 254 ->
        "Ill-formed return statement. \";\" or expression followed by \";\" expected after \"return\".\n"
    | 106 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 108 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 92 ->
        "Ill formed expression. After \"target\", we expect \"()\".\n"
    | 100 ->
        "Expression expected after \"{\" in array expression.\n"
    | 256 ->
        "Ill-formed reject statement. After \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 260 | 265 | 261 | 257 ->
        "Ill-formed reject statement. After \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 263 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 264 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 324 ->
        "Ill-formed \"~\"-statement. Expect an distribution name after \"~\".\n"
    | 325 ->
        "Ill-formed \"~\"-statement. Expect \"(\" after distribution name, followed by a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 326 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 327 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 328 ->
        "Ill-formed \"~\"-statement. Expect either \";\" or a truncation with the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 332 | 333 | 331 | 329 | 335 | 330 ->
        "Ill-formed truncation. Expect the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 337 ->
        "Expected \";\" after \"~\"-statement (with optional truncation).\n"
    | 164 | 163 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 160 ->
        "Expected index after indices followed by \",\".\n"
    | 122 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 182 | 183 ->
        "Ill-formed expression. Found an expression. Expect an infix or postfix operator or \"[\"\n"
    | 123 ->
        "Ill-formed phrase. Found \":\" expression. We expect either an infix or postfix operator, or \",\" or or \"[\" or \"]\" next.\n"
    | 156 | 141 | 140 ->
        "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"
    | 114 | 138 | 126 | 142 | 144 | 128 | 146 | 124 | 112 | 154 | 136 | 134 | 132 | 152 | 150 | 116 | 148 | 350 | 421 | 411 | 130 | 118 ->
        "Found an incomplete binary expression - are you missing the right hand side?\n"
    | 340 | 173 | 105 | 168 | 157 | 119 | 133 | 125 | 113 | 153 | 151 | 117 | 131 | 115 | 149 | 147 | 135 | 155 | 139 | 129 | 145 | 143 | 127 | 137 | 120 | 318 ->
        "Unexpected input after the conclusion of a valid expression.\nYou may be missing a \",\" between expressions, an operator, or a terminating \"}\", \")\", \"]\", or \";\".\n"
    | 621 ->
        "Expected \"parameters {\", \"transformed parameters {\", \"model {\", \"generated quantities {\" or end-of-file after end of transformed data block.\n"
    | 271 ->
        "Expected \"(\" followed by a comma-separated list of expressions or strings followed by \");\" after \"print\".\n"
    | 272 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 274 ->
        "Expected a \";\" after \"print(...)\".\n"
    | 273 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 96 ->
        "Ill-formed expression. Expect an expression after \"+\".\n"
    | 97 ->
        "Ill-formed expression. Expect an expression after \"-\".\n"
    | 180 | 177 ->
        "Ill-formed phrase. Found \"(\" followed by expression. Expect a \"[\", \",\" or \")\" or an infix or postfix operator.\n"
    | 99 ->
        "Comma separated list of expressions followed by \"]\" expected after \"[\".\n"
    | 121 | 162 | 175 ->
        "Ill-formed expression. We expect a comma separated list of expressions, followed by \"]\".\n"
    | 166 ->
        "Ill-formed expression. We expect a comma separated list of expressions.\n"
    | 276 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 277 ->
        "\"(\" expression \")\" expected after \"if\".\n"
    | 278 ->
        "Expected expression for test of conditional control flow construct.\n"
    | 279 ->
        "Ill-formed expression. Expression expected after \"(\", for test of conditional control flow construct.\n"
    | 372 ->
        "Ill-formed statement. Expected statement after else.\n"
    | 280 ->
        "Ill-formed statement. Statement expected for true branch of conditional.\n"
    | 605 | 371 ->
        "Ill-formed block. Expected a statement, variable declaration, or just \"}\".\n"
    | 281 ->
        "Expected \"(\" after \"for\".\n"
    | 282 ->
        "Expected (loop) identifier after \"(\".\n"
    | 283 ->
        "Expected \"in\" after loop identifier.\n"
    | 284 | 285 ->
        "Ill-formed expression. Expected expression followed by \")\" or \":\" after \"for (\" identifier \"in\".\n"
    | 286 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the foreach loop.\n"
    | 368 | 367 ->
        "Ill-formed expression. Expected expression followed by \")\" after \"for (\" identifier \"in\" expression \":\".\n"
    | 369 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the for loop.\n"
    | 287 ->
        "Expected \";\" after \"continue\".\n"
    | 289 ->
        "Expected \";\" after \"break\".\n"
    | 172 | 104 ->
        "Ill-formed expression. Expression expected after \"!\".\n"
    | 622 ->
        "Expected \"{\" after \"parameters\".\n"
    | 623 ->
        "Expected top-level variable declaration or \"}\".\n"
    | 627 ->
        "\"transformed parameters {\", \"model {\" or \"generated quantities {\" expected after end of parameters block.\n"
    | 634 ->
        "Expected \"{\" after \"model\".\n"
    | 635 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 513 | 515 | 514 | 512 | 206 | 464 | 466 | 465 | 400 | 188 | 205 | 187 | 204 | 186 ->
        "Expected \"[\" expression \"]\" for vector size.\n"
    | 374 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 481 | 479 | 518 | 520 | 519 | 517 | 210 | 209 | 208 | 482 | 194 | 192 | 193 ->
        "\"[\" expression \"]\" expected for row_vector size.\n"
    | 313 ->
        "Identifier expected after sized type in local (or model block) variable declaration. (No transformations/constraints allowed.)\n"
    | 304 | 303 ->
        "Ill-formed expression. Expression followed by \";\" expected after \"=\".\n"
    | 638 ->
        "Expected \"generated quantities {\" or end of file after end of model block.\n"
    | 495 | 499 | 498 | 497 | 496 | 494 | 523 | 527 | 526 | 525 | 524 | 522 | 216 | 215 | 214 | 213 | 212 | 201 | 200 | 199 | 198 | 197 ->
        "\"[\" expression \",\" expression \"]\" expected for matrix sizes.\n"
    | 639 ->
        "Expected \"{\" after block keyword.\n"
    | 640 ->
        "Variable declaration or statement or \"}\" expected in generated quantities block.\n"
    | 643 ->
        "Expected end of file after end of generated quantities block.\n"
    | 392 ->
        "\"{\" expected after \"functions\".\n"
    | 393 ->
        "Function forward declaration, definition or \"}\" expected after \"functions {\".\n"
    | 36 ->
        "An identifier is expected as a function name.\n"
    | 81 ->
        "\"(\" expected after function name.\n"
    | 383 ->
        "\",\" or \")\" expected after function argument declaration.\n"
    | 82 | 384 ->
        "An argument declaration (unsized and unconstrained type followed by identifier) is expected.\n"
    | 89 ->
        "Either \"{\" statement \"}\" is expected for a function definition or \";\" for a function forward declaration.\n"
    | 86 | 85 ->
        "An identifier is expected as a function argument name.\n"
    | 394 | 389 ->
        "A \"}\" or a function definition/declaration is expected.\n"
    | 397 ->
        "Expected \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 398 ->
        "\"{\" followed by a list of top-level variable declarations is expected after seeing \"data\".\n"
    | 399 ->
        "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"
    | 585 ->
        "We expect to see an identifier after a sized type.\n"
    | 401 ->
        "We expect to see \"lower =\", \"upper =\", \"offset =\" or \"multiplier =\" followed by an expression after \"<\".\n"
    | 402 ->
        "Expect \"=\" expression \">\" after seeing \"upper\".\n"
    | 403 ->
        "Expression (not containing binary logical operators) expected after \"upper =\". Ill-formed expression.\n"
    | 417 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 423 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 425 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 433 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 419 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 409 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 427 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 429 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 431 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 404 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 405 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 413 | 406 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 446 ->
        "Expected \"=\" expression (not containing binary logical operators) \">\" after \"multiplier\".\n"
    | 447 ->
        "Expected expression (not containing binary logical operators) after \"multiplier =\".\n"
    | 453 ->
        "Expected \"=\" expression (not containing binary logical operators), after \"lower\".\n"
    | 454 ->
        "An expression (not containing binary logical operators) is expected for type lower bound.\n"
    | 456 ->
        "\"upper =\" expression (not containing binary logical operators) \">\" expected after \"<lower =\" expression \",\" in top-level variable declaration.\n"
    | 457 ->
        "Expected \"=\" expression (not containing binary logical operators) after \"upper\".\n"
    | 407 | 458 ->
        "Expected expression (not containing binary logical operators) after \"upper = \".\n"
    | 432 | 430 | 412 | 428 | 410 | 422 | 420 | 434 | 426 | 424 | 418 | 416 | 415 | 414 | 459 ->
        "Expected \">\" after \"upper = \" expression.\n"
    | 439 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 440 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 441 | 442 ->
        "Expected \">\" or \", multiplier = \" expression (not containing binary logical operators) \">\" after \"offset = \" expression.\n"
    | 443 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 444 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 445 ->
        "Expected \">\" after \"multiplier = \" expression.\n"
    | 471 | 470 | 469 ->
        "Expected \"[\" expression \"]\" for size of unit_vector.\n"
    | 477 | 476 | 475 ->
        "Expected \"[\" expression \"]\" for size of simplex.\n"
    | 480 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 484 ->
        "Identifier expected after type in top-level variable declaration.\n"
    | 589 ->
        "Only top-level variable declarations allowed in data and parameters blocks.\n"
    | 598 ->
        "Expected \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 488 | 487 | 486 ->
        "Expected \"[\" expression \"]\" for size of positive_ordered.\n"
    | 492 | 491 | 490 ->
        "Expected \"[\" expression \"]\" for size of ordered.\n"
    | 501 ->
        "Expected range constraint or identifier as part of top-level variable declaration.\n"
    | 502 ->
        "Expected \"lower = \" expression or \"upper = \" expression for integer bounds.\n"
    | 506 | 505 | 504 ->
        "Expected \"[\" expression \"]\" for size of cov_matrix.\n"
    | 510 | 509 | 508 ->
        "Expected \"[\" expression \"]\" for size of corr_matrix.\n"
    | 535 | 534 | 531 | 533 | 532 ->
        "Expected \"[\" expression \"]\" or \"[\" expression \",\" expression \"]\" for size of cholesky_factor_cov.\n"
    | 540 | 539 | 538 ->
        "Expected \"[\" expression \"]\" for size of cholesky_factor_corr.\n"
    | 391 ->
        "Expected \"functions {\" or \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | _ ->
        raise Not_found
