
(* 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
    | 611 | 610 | 604 ->
        "\";\" expected after variable declaration.\n"
    | 311 | 635 | 321 | 328 ->
        "\";\" or plain assignment expected after variable declaration.\n"
    | 20 | 3 | 196 | 494 ->
        "Invalid type specification.\nExpected \"(\" followed by further types and \")\" to complete tuple.\n"
    | 593 | 626 | 588 | 304 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 476 ->
        "Expected \">\" or \", upper = expression>\" (with expression not containing binary logical operators) expected after specifying lower bound for type.\n"
    | 226 ->
        "Expected expressions for size of array.\n"
    | 19 | 239 | 573 ->
        "Expected non-array type after \"array\" declaration.\n"
    | 23 | 22 | 24 | 33 | 34 | 4 | 25 | 21 ->
        "Expected comma-separated list of types followed by \")\" to declare tuple type.\n"
    | 101 | 185 ->
        "Expression or comma separated list of expressions followed by \")\" expected after \"(\".\n"
    | 197 | 495 ->
        "Incomplete type declaration. Expected comma separated list of types between \"(\"\nand \")\" to declare tuple variable.\n"
    | 236 | 570 | 233 | 567 | 231 | 565 ->
        "Incomplete type specification. Expected either \")\" or \",\" followed by\nfurther types and \")\" to complete tuple.\n"
    | 229 | 249 | 563 | 583 | 245 | 579 ->
        "Invalid type specification, unmatched \"(\".\nExpected \",\" followed by further types and \")\" to complete tuple.\n"
    | 250 | 234 | 568 | 232 | 566 | 230 | 237 | 571 | 564 | 584 | 246 | 580 ->
        "Incomplete type specification, expected further types followed by \")\" to complete tuple.\n"
    | 643 | 384 | 617 ->
        "Expected identifier after type in declaration.\n"
    | 227 | 13 | 225 ->
        "Expected \"[\" array sizes \"]\" followed by type after \"array\".\n"
    | 407 ->
        "Only function definitions/declarations are expected in '.stanfunctions' file\n"
    | 0 ->
        "Function definitions/declarations expected in '.stanfunctions' file\n"
    | 550 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 276 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 275 ->
        "Expected \"{\" after profile definition.\n"
    | 274 ->
        "Expected \")\" after profile name.\n"
    | 273 ->
        "Expected profile name as string in parenthesis\n"
    | 272 ->
        "Expected profile name as string in parenthesis\n"
    | 637 | 333 ->
        "Multiple declarations are not allowed when array dimensions are given in TYPE IDENTIFIER[DIMENSIONS] form.\nWhen all declarations share array dimensions, use 'array[DIMENSIONS] TYPE IDENTIFIER' form, otherwise use separate declarations.\n"
    | 313 | 595 | 590 | 306 ->
        "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"
    | 618 | 592 | 589 | 596 | 607 | 612 ->
        "Cannot assign to variables in the `data` or `parameters` blocks; expected ';'\nafter variable declaration.\n"
    | 473 ->
        "Expected '>' after multiplier expression.\n"
    | 472 ->
        "Numerical expression expected after '=' in a multiplier expression.\n"
    | 471 ->
        "'=' expected after 'multiplier' keyword.\n"
    | 469 | 470 ->
        "Expected '>' or offset expression after multiplier expression.\n"
    | 459 ->
        "Expected '>' after lower expression.\n"
    | 458 ->
        "Numerical expression expected after '=' in a lower expression.\n"
    | 457 ->
        "'=' expected after 'upper' keyword.\n"
    | 456 ->
        "'>' or lower expression expected after upper expression.\n"
    | 636 ->
        "Expected \";\" or assignment.\n"
    | 332 ->
        "Expected \";\" or assignment.\n"
    | 657 ->
        "We expect \"{\" after \"transformed parameters\".\n"
    | 658 ->
        "Expect a statement or top-level variable declaration.\n"
    | 662 ->
        "\"model {\" or \"generated quantities {\" expected after end of transformed parameters block.\n"
    | 624 ->
        "We expect \"{\" after \"transformed data\".\n"
    | 93 ->
        "After \"while\", we expect \"(\" expression \")\" statement.\n"
    | 190 | 94 ->
        "Ill-formed expression. We expect an expression after \"(\" for the test of a while-loop.\n"
    | 191 ->
        "Ill-formed statement. We expect a statement after \")\", for the body of the while-loop.\n"
    | 625 ->
        "Expect a statement or top-level variable declaration.\n"
    | 631 ->
        "Ill-formed top-level variable declaration. Expect an identifier next.\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"
    | 399 | 341 ->
        "Ill-formed phrase. Found an expression where we expected a statement.\n"
    | 362 ->
        "Ill-formed expression. Found L-value \"+=\". Expect an expression followed by \";\" next.\n"
    | 363 ->
        "Ill-formed phrase. Found L-value \"+=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 365 ->
        "Ill-formed expression. Found L-value \"-=\". Expect an expression followed by \";\" next.\n"
    | 366 ->
        "Ill-formed phrase. Found L-value \"-=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 337 | 116 | 338 ->
        "Ill-formed function application. Expect comma-separated list of expressions followed by \")\" after \"(\".\n"
    | 339 ->
        "Ill-formed phrase. Found a well-formed function application. After this, there are many legal completions of the phrase.\n"
    | 175 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 176 ->
        "Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by \")\" after \"|\".\n"
    | 369 ->
        "Ill-formed phrase. Found L-value \".*=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 371 ->
        "Ill-formed expression. Found L-value \"./=\". Expect an expression followed by \";\" next.\n"
    | 372 ->
        "Ill-formed phrase. Found L-value \"./=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 374 ->
        "Ill-formed expression. Found L-value \"/=\". Expect an expression followed by \";\" next.\n"
    | 375 ->
        "Ill-formed phrase. Found L-value \"/=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 377 ->
        "Ill-formed expression. Found L-value \"=\". Expect an expression followed by \";\" next.\n"
    | 378 ->
        "Ill-formed phrase. Found L-value \"=\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 380 ->
        "Ill-formed expression. Found L-value \"<-\". Expect an expression followed by \";\" next.\n"
    | 381 ->
        "Ill-formed phrase. Found L-value \"<-\" expression. There are many ways in which this can be completed to a valid phrase.\n"
    | 253 ->
        "Ill-formed phrase. Expect either \"+=\" or \"()\" after \"target\".\n"
    | 254 | 255 ->
        "Ill-formed statement. Expression followed by \";\" expected after \"target +=\".\n"
    | 96 ->
        "Ill-formed expression. Expected \")\" after \"target(\".\n"
    | 258 | 260 ->
        "Ill-formed return statement. \";\" or expression followed by \";\" expected after \"return\".\n"
    | 112 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 114 ->
        "Ill-formed expression. In function application, expect comma-separated list of expressions followed by \")\", after \"(\".\n"
    | 95 ->
        "Ill formed expression. After \"target\", we expect \"()\".\n"
    | 103 ->
        "Expression expected after \"{\" in array expression.\n"
    | 262 ->
        "Ill-formed reject statement. After \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 266 | 271 | 267 | 263 ->
        "Ill-formed reject statement. After \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 269 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 270 ->
        "Ill-formed printable. After \"print(\" and \"reject(\", we expect a comma separated list of either expressions or strings, followed by \");\".\n"
    | 342 ->
        "Ill-formed \"~\"-statement. Expect an distribution name after \"~\".\n"
    | 343 ->
        "Ill-formed \"~\"-statement. Expect \"(\" after distribution name, followed by a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 344 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 345 ->
        "Ill-formed \"~\"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by \")\".\n"
    | 346 ->
        "Ill-formed \"~\"-statement. Expect either \";\" or a truncation with the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 350 | 351 | 349 | 347 | 353 | 348 ->
        "Ill-formed truncation. Expect the format \"T[\" optional expression \",\" optional expression \"];\".\n"
    | 355 ->
        "Expected \";\" after \"~\"-statement (with optional truncation).\n"
    | 170 | 169 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 166 ->
        "Expected index after indices followed by \",\".\n"
    | 128 ->
        "Ill-formed expression. Expected expression or \"]\" or \",\" after \":\".\n"
    | 188 | 189 ->
        "Ill-formed expression. Found an expression. Expect an infix or postfix operator or \"[\"\n"
    | 129 ->
        "Ill-formed phrase. Found \":\" expression. We expect either an infix or postfix operator, or \",\" or or \"[\" or \"]\" next.\n"
    | 162 | 147 | 146 ->
        "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"
    | 120 | 144 | 132 | 148 | 150 | 134 | 152 | 130 | 118 | 160 | 142 | 140 | 138 | 158 | 156 | 122 | 154 | 368 | 442 | 432 | 136 | 124 ->
        "Found an incomplete binary expression - are you missing the right hand side?\n"
    | 358 | 179 | 111 | 174 | 163 | 125 | 139 | 131 | 119 | 159 | 157 | 123 | 137 | 121 | 155 | 153 | 141 | 161 | 145 | 135 | 151 | 149 | 133 | 143 | 126 | 336 ->
        "Unexpected input after the conclusion of a valid expression.\nYou may be missing a \",\" between expressions, an operator, or a terminating \"}\", \")\", \"]\", or \";\".\n"
    | 650 ->
        "Expected \"parameters {\", \"transformed parameters {\", \"model {\", \"generated quantities {\" or end-of-file after end of transformed data block.\n"
    | 277 ->
        "Expected \"(\" followed by a comma-separated list of expressions or strings followed by \");\" after \"print\".\n"
    | 278 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 280 ->
        "Expected a \";\" after \"print(...)\".\n"
    | 279 ->
        "Expected a comma-separated list of expressions or strings followed by \");\" after \"print(\".\n"
    | 99 ->
        "Ill-formed expression. Expect an expression after \"+\".\n"
    | 100 ->
        "Ill-formed expression. Expect an expression after \"-\".\n"
    | 186 | 183 ->
        "Ill-formed phrase. Found \"(\" followed by expression. Expect a \"[\", \",\" or \")\" or an infix or postfix operator.\n"
    | 102 ->
        "Comma separated list of expressions followed by \"]\" expected after \"[\".\n"
    | 127 | 168 | 181 ->
        "Ill-formed expression. We expect a comma separated list of expressions, followed by \"]\".\n"
    | 172 ->
        "Ill-formed expression. We expect a comma separated list of expressions.\n"
    | 282 ->
        "Ill-formed phrase. \"{\" should be followed by a statement, variable declaration or expression.\n"
    | 283 ->
        "Ill-formed statement. Expected \"(\" followed by an expression and \");\", after \"increment_log_prob\".\n"
    | 284 ->
        "Ill-formed statement. Expected expression followed by \");\" after \"(\".\n"
    | 285 ->
        "Ill-formed statement. Expected expression followed by \");\" after \"(\".\n"
    | 286 ->
        "Ill-formed statement. Expected \";\" after \")\".\n"
    | 288 ->
        "\"(\" expression \")\" expected after \"if\".\n"
    | 289 ->
        "Expected expression for test of conditional control flow construct.\n"
    | 290 ->
        "Ill-formed expression. Expression expected after \"(\", for test of conditional control flow construct.\n"
    | 393 ->
        "Ill-formed statement. Expected statement after else.\n"
    | 291 ->
        "Ill-formed statement. Statement expected for true branch of conditional.\n"
    | 630 | 392 ->
        "Ill-formed block. Expected a statement, variable declaration, or just \"}\".\n"
    | 106 ->
        "Expected \"()\" after \"get_lp\".\n"
    | 107 ->
        "Expected \")\" after \"get_lp(\".\n"
    | 292 ->
        "Expected \"(\" after \"for\".\n"
    | 293 ->
        "Expected (loop) identifier after \"(\".\n"
    | 294 ->
        "Expected \"in\" after loop identifier.\n"
    | 295 | 296 ->
        "Ill-formed expression. Expected expression followed by \")\" or \":\" after \"for (\" identifier \"in\".\n"
    | 297 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the foreach loop.\n"
    | 389 | 388 ->
        "Ill-formed expression. Expected expression followed by \")\" after \"for (\" identifier \"in\" expression \":\".\n"
    | 390 ->
        "Ill-formed statement. Expected statement after \")\" for the loop body of the for loop.\n"
    | 298 ->
        "Expected \";\" after \"continue\".\n"
    | 300 ->
        "Expected \";\" after \"break\".\n"
    | 178 | 110 ->
        "Ill-formed expression. Expression expected after \"!\".\n"
    | 651 ->
        "Expected \"{\" after \"parameters\".\n"
    | 652 ->
        "Expected top-level variable declaration or \"}\".\n"
    | 656 ->
        "\"transformed parameters {\", \"model {\" or \"generated quantities {\" expected after end of parameters block.\n"
    | 663 ->
        "Expected \"{\" after \"model\".\n"
    | 664 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 534 | 536 | 535 | 533 | 212 | 485 | 487 | 486 | 421 | 194 | 211 | 193 | 210 | 192 ->
        "Expected \"[\" expression \"]\" for vector size.\n"
    | 395 ->
        "Variable declaration, statement or \"}\" expected.\n"
    | 502 | 500 | 539 | 541 | 540 | 538 | 216 | 215 | 214 | 503 | 200 | 198 | 199 ->
        "\"[\" expression \"]\" expected for row_vector size.\n"
    | 324 ->
        "Identifier expected after sized type in local (or model block) variable declaration. (No transformations/constraints allowed.)\n"
    | 329 ->
        "Ill-formed array sizes. \"[\" (non-empty comma separated list of expressions) \"]\" expected to specify array sizes.\n"
    | 330 ->
        "Ill-formed array sizes. \"[\" (non-empty comma separated list of expressions) \"]\" expected to specify array sizes.\n"
    | 315 | 314 ->
        "Ill-formed expression. Expression followed by \";\" expected after \"=\".\n"
    | 667 ->
        "Expected \"generated quantities {\" or end of file after end of model block.\n"
    | 516 | 520 | 519 | 518 | 517 | 515 | 544 | 548 | 547 | 546 | 545 | 543 | 222 | 221 | 220 | 219 | 218 | 207 | 206 | 205 | 204 | 203 ->
        "\"[\" expression \",\" expression \"]\" expected for matrix sizes.\n"
    | 668 ->
        "Expected \"{\" after block keyword.\n"
    | 669 ->
        "Variable declaration or statement or \"}\" expected in generated quantities block.\n"
    | 672 ->
        "Expected end of file after end of generated quantities block.\n"
    | 413 ->
        "\"{\" expected after \"functions\".\n"
    | 414 ->
        "Function forward declaration, definition or \"}\" expected after \"functions {\".\n"
    | 38 ->
        "An identifier is expected as a function name.\n"
    | 84 ->
        "\"(\" expected after function name.\n"
    | 89 ->
        "An identifier is expected as a function argument name.\n"
    | 404 ->
        "\",\" or \")\" expected after function argument declaration.\n"
    | 85 | 405 ->
        "An argument declaration (unsized and unconstrained type followed by identifier) is expected.\n"
    | 92 ->
        "Either \"{\" statement \"}\" is expected for a function definition or \";\" for a function forward declaration.\n"
    | 88 ->
        "An identifier is expected as a function argument name.\n"
    | 415 | 410 ->
        "A \"}\" or a function definition/declaration is expected.\n"
    | 27 ->
        "Either a number of unsized dimensions is expected as part of a function return type or an identifier is expected as a function name.\n"
    | 14 ->
        "\"[\" (list of commas) \"]\" expected in unsized return type of function definition.\n"
    | 15 ->
        "List of commas expected.\n"
    | 418 ->
        "Expected \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 419 ->
        "\"{\" followed by a list of top-level variable declarations is expected after seeing \"data\".\n"
    | 420 ->
        "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"
    | 606 ->
        "We expect to see an identifier after a sized type.\n"
    | 422 ->
        "We expect to see \"lower =\", \"upper =\", \"offset =\" or \"multiplier =\" followed by an expression after \"<\".\n"
    | 423 ->
        "Expect \"=\" expression \">\" after seeing \"upper\".\n"
    | 424 ->
        "Expression (not containing binary logical operators) expected after \"upper =\". Ill-formed expression.\n"
    | 438 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 444 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 446 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 454 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 440 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 430 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 448 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 450 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 452 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 425 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 426 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 434 | 427 ->
        "Ill-formed expression. Expected expression (not containing binary logical operators).\n"
    | 467 ->
        "Expected \"=\" expression (not containing binary logical operators) \">\" after \"multiplier\".\n"
    | 468 ->
        "Expected expression (not containing binary logical operators) after \"multiplier =\".\n"
    | 474 ->
        "Expected \"=\" expression (not containing binary logical operators), after \"lower\".\n"
    | 475 ->
        "An expression (not containing binary logical operators) is expected for type lower bound.\n"
    | 477 ->
        "\"upper =\" expression (not containing binary logical operators) \">\" expected after \"<lower =\" expression \",\" in top-level variable declaration.\n"
    | 478 ->
        "Expected \"=\" expression (not containing binary logical operators) after \"upper\".\n"
    | 428 | 479 ->
        "Expected expression (not containing binary logical operators) after \"upper = \".\n"
    | 453 | 451 | 433 | 449 | 431 | 443 | 441 | 455 | 447 | 445 | 439 | 437 | 436 | 435 | 480 ->
        "Expected \">\" after \"upper = \" expression.\n"
    | 460 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 461 ->
        "Expected \"offset = \" expression (not containing binary logical operators).\n"
    | 462 | 463 ->
        "Expected \">\" or \", multiplier = \" expression (not containing binary logical operators) \">\" after \"offset = \" expression.\n"
    | 464 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 465 ->
        "Expected \"multiplier = \" expression (not containing binary logical operators).\n"
    | 466 ->
        "Expected \">\" after \"multiplier = \" expression.\n"
    | 492 | 491 | 490 ->
        "Expected \"[\" expression \"]\" for size of unit_vector.\n"
    | 498 | 497 | 496 ->
        "Expected \"[\" expression \"]\" for size of simplex.\n"
    | 501 ->
        "Expected identifier as part of top-level variable declaration.\n"
    | 505 ->
        "Identifier expected after type in top-level variable declaration.\n"
    | 614 ->
        "Only top-level variable declarations allowed in data and parameters blocks.\n"
    | 623 ->
        "Expected \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | 509 | 508 | 507 ->
        "Expected \"[\" expression \"]\" for size of positive_ordered.\n"
    | 513 | 512 | 511 ->
        "Expected \"[\" expression \"]\" for size of ordered.\n"
    | 522 ->
        "Expected range constraint or identifier as part of top-level variable declaration.\n"
    | 523 ->
        "Expected \"lower = \" expression or \"upper = \" expression for integer bounds.\n"
    | 527 | 526 | 525 ->
        "Expected \"[\" expression \"]\" for size of cov_matrix.\n"
    | 531 | 530 | 529 ->
        "Expected \"[\" expression \"]\" for size of corr_matrix.\n"
    | 556 | 555 | 552 | 554 | 553 ->
        "Expected \"[\" expression \"]\" or \"[\" expression \",\" expression \"]\" for size of cholesky_factor_cov.\n"
    | 561 | 560 | 559 ->
        "Expected \"[\" expression \"]\" for size of cholesky_factor_corr.\n"
    | 412 ->
        "Expected \"functions {\" or \"data {\" or \"transformed data {\" or \"parameters {\" or \"transformed parameters {\" or \"model {\" or \"generated quantities {\".\n"
    | _ ->
        raise Not_found
