diff --git a/src/frontend/Deprecation_analysis.ml b/src/frontend/Deprecation_analysis.ml index 3597a589a8..c7d4fd5d6b 100644 --- a/src/frontend/Deprecation_analysis.ml +++ b/src/frontend/Deprecation_analysis.ml @@ -2,24 +2,32 @@ open Core_kernel open Ast open Middle +let current_removal_version = (2, 33) + +let expired (major, minor) = + let removal_major, removal_minor = current_removal_version in + removal_major > major || (removal_major = major && removal_minor >= minor) + let deprecated_functions = String.Map.of_alist_exn - [ ("multiply_log", ("lmultiply", "2.33.0")) - ; ("binomial_coefficient_log", ("lchoose", "2.33.0")) - ; ("cov_exp_quad", ("gp_exp_quad_cov", "2.33.0")) - ; ("fabs", ("abs", "2.33.0")) ] + [ ("multiply_log", ("lmultiply", (2, 33))) + ; ("binomial_coefficient_log", ("lchoose", (2, 33))) + ; ("cov_exp_quad", ("gp_exp_quad_cov", (2, 33))); ("fabs", ("abs", (2, 33))) + ] + +(* TODO need to mark lkj_cov as deprecated *) let deprecated_odes = String.Map.of_alist_exn - [ ("integrate_ode", ("ode_rk45", "3.0")) - ; ("integrate_ode_rk45", ("ode_rk45", "3.0")) - ; ("integrate_ode_bdf", ("ode_bdf", "3.0")) - ; ("integrate_ode_adams", ("ode_adams", "3.0")) ] + [ ("integrate_ode", ("ode_rk45", (3, 0))) + ; ("integrate_ode_rk45", ("ode_rk45", (3, 0))) + ; ("integrate_ode_bdf", ("ode_bdf", (3, 0))) + ; ("integrate_ode_adams", ("ode_adams", (3, 0))) ] let deprecated_distributions = String.Map.of_alist_exn (List.map - ~f:(fun (x, y) -> (x, (y, "2.33.0"))) + ~f:(fun (x, y) -> (x, (y, (2, 33)))) (List.concat_map Middle.Stan_math_signatures.distributions ~f:(fun (fnkinds, name, _, _) -> List.filter_map fnkinds ~f:(function @@ -36,8 +44,8 @@ let stan_lib_deprecations = [%message "Common key in deprecation map" (key : string) - (x : string * string) - (y : string * string)] ) + (x : string * (int * int)) + (y : string * (int * int))] ) let is_deprecated_distribution name = Option.is_some (Map.find deprecated_distributions name) @@ -109,33 +117,23 @@ let rec collect_deprecated_expr (acc : (Location_span.t * string) list) ({expr; emeta} : (typed_expr_meta, fun_kind) expr_with) : (Location_span.t * string) list = match expr with - | FunApp (StanLib FnPlain, {name= "if_else"; _}, l) -> - acc - @ [ ( emeta.loc - , "The function `if_else` is deprecated and will be removed in Stan \ - 2.33.0. Use the conditional operator (x ? y : z) instead; this \ - can be automatically changed using the canonicalize flag for \ - stanc" ) ] - @ List.concat_map l ~f:(fun e -> collect_deprecated_expr [] e) - | FunApp ((StanLib _ | UserDefined _), {name; _}, l) -> + | CondDistApp ((StanLib _ | UserDefined _), {name; _}, l) + |FunApp ((StanLib _ | UserDefined _), {name; _}, l) -> let w = match Map.find stan_lib_deprecations name with - | Some (rename, version) -> - [ ( emeta.loc - , name ^ " is deprecated and will be removed in Stan " ^ version - ^ ". Use " ^ rename - ^ " instead. This can be automatically changed using the \ - canonicalize flag for stanc" ) ] - | _ when String.is_suffix name ~suffix:"_cdf" -> - [ ( emeta.loc - , "Use of " ^ name - ^ " without a vertical bar (|) between the first two arguments \ - of a CDF is deprecated and will be removed in Stan 2.33.0. \ - This can be automatically changed using the canonicalize \ - flag for stanc" ) ] + | Some (rename, (major, minor)) -> + if expired (major, minor) then [] + else + let version = string_of_int major ^ "." ^ string_of_int minor in + [ ( emeta.loc + , name ^ " is deprecated and will be removed in Stan " ^ version + ^ ". Use " ^ rename + ^ " instead. This can be automatically changed using the \ + canonicalize flag for stanc" ) ] | _ -> ( match Map.find deprecated_odes name with - | Some (rename, version) -> + | Some (rename, (major, minor)) -> + let version = string_of_int major ^ "." ^ string_of_int minor in [ ( emeta.loc , name ^ " is deprecated and will be removed in Stan " ^ version ^ ". Use " ^ rename @@ -181,22 +179,6 @@ let rec collect_deprecated_stmt fundefs (acc : (Location_span.t * string) list) , "Functions do not need to be declared before definition; all user \ defined function names are always in scope regardless of \ definition order." ) ] - | FunDef - { body - ; funname= {name; id_loc} - ; arguments= (_, ((UReal | UInt) as type_), _) :: _ - ; _ } - when String.is_suffix ~suffix:"_log" name -> - let acc = - acc - @ [ ( id_loc - , "Use of the _log suffix in user defined probability functions is \ - deprecated and will be removed in Stan 2.33.0, use name '" - ^ update_suffix name type_ - ^ "' instead if you intend on using this function in ~ \ - statements or calling unnormalized probability functions \ - inside of it." ) ] in - collect_deprecated_stmt fundefs acc body | FunDef {body; _} -> collect_deprecated_stmt fundefs acc body | IfThenElse ({emeta= {type_= UReal; loc; _}; _}, ifb, elseb) -> let acc = diff --git a/src/frontend/Deprecation_analysis.mli b/src/frontend/Deprecation_analysis.mli index eeabc62b7c..77ab1e4b38 100644 --- a/src/frontend/Deprecation_analysis.mli +++ b/src/frontend/Deprecation_analysis.mli @@ -13,11 +13,13 @@ val update_suffix : string -> Middle.UnsizedType.t -> string val collect_userdef_distributions : typed_program -> Middle.UnsizedType.t String.Map.t +val expired : int * int -> bool val without_suffix : string list -> string -> string val is_deprecated_distribution : string -> bool -val deprecated_distributions : (string * string) String.Map.t -val deprecated_functions : (string * string) String.Map.t -val rename_deprecated : (string * string) String.Map.t -> string -> string +val deprecated_distributions : (string * (int * int)) String.Map.t +val deprecated_functions : (string * (int * int)) String.Map.t +val rename_deprecated : (string * (int * int)) String.Map.t -> string -> string +val stan_lib_deprecations : (string * (int * int)) String.Map.t val userdef_distributions : untyped_statement block option -> string list val collect_warnings : typed_program -> Warnings.t list val remove_unneeded_forward_decls : typed_program -> typed_program diff --git a/src/frontend/Deprecation_removals.ml b/src/frontend/Deprecation_removals.ml new file mode 100644 index 0000000000..abe754fe05 --- /dev/null +++ b/src/frontend/Deprecation_removals.ml @@ -0,0 +1,131 @@ +(** Generate errors for expired deprecations + + Code in this module should generally only be hot for ONE version + after the removal, then the errors will be moved to the + parser/typechecker/etc as appropriate. +*) + +open Core_kernel +open Core_kernel.Poly +open Middle +open Ast +open Deprecation_analysis + +let pound_comment_usages : Location_span.t list ref = ref [] +let old_array_usages : (Location_span.t * bool) list ref = ref [] + +let rec collect_removed_expr (acc : (Location_span.t * string) list) + ({expr; emeta} : (typed_expr_meta, fun_kind) expr_with) : + (Location_span.t * string) list = + match expr with + | GetLP -> + acc + @ [ ( emeta.loc + , "The get_lp() function was removed in Stan 2.33.0. Use target() \ + instead. This can be done automatically with the canonicalize \ + flag for stanc" ) ] + | FunApp (StanLib FnPlain, {name= "if_else"; _}, l) -> + acc + @ [ ( emeta.loc + , "The if_else() function was removed in Stan 2.33.0. Use the \ + conditional operator (x ? y : z) instead; this can be \ + automatically changed using the canonicalize flag for stanc" ) ] + @ List.concat_map l ~f:(fun e -> collect_removed_expr [] e) + | FunApp ((StanLib _ | UserDefined _), {name; _}, l) -> + let w = + match Map.find stan_lib_deprecations name with + | Some (rename, (major, minor)) -> + if expired (major, minor) then + let version = string_of_int major ^ "." ^ string_of_int minor in + [ ( emeta.loc + , name ^ " was removed in Stan " ^ version ^ ". Use " ^ rename + ^ " instead. This can be automatically changed using the \ + canonicalize flag for stanc" ) ] + else [] + | _ when String.is_suffix name ~suffix:"_cdf" -> + [ ( emeta.loc + , "Use of " ^ name + ^ " without a vertical bar (|) between the first two arguments \ + of a CDF was removed in Stan 2.33.0. This can be \ + automatically changed using the canonicalize flag for stanc" + ) ] + | _ -> [] in + acc @ w @ List.concat_map l ~f:(fun e -> collect_removed_expr [] e) + | _ -> fold_expression collect_removed_expr (fun l _ -> l) acc expr + +let collect_removed_lval acc (l : Ast.typed_lval) = + match l.lval with + | LIndexed (l, _) -> + let rec flatten = function + | {lval= LVariable _; _} | {lval= LTupleProjection _; _} -> [] + | {lval= LIndexed (l, idxs); _} -> + let flat = flatten l in + flat @ idxs in + if + not + (List.for_all + ~f:(function + | Single {emeta= {type_= UnsizedType.UInt; _}; _} -> true + | _ -> false ) + (flatten l) ) + then + acc + @ [ ( l.lmeta.loc + , "Nested multi-indexing on the left hand side of assignment does \ + not behave the same as nested indexing in expressions. This is \ + considered a bug and has been disallowed in Stan 2.33.0. The \ + indexing can be automatically fixed using the canonicalize flag \ + for stanc." ) ] + else fold_lval_with collect_removed_expr (fun x _ -> x) acc l + | _ -> fold_lval_with collect_removed_expr (fun x _ -> x) acc l + +let rec collect_removed_stmt (acc : (Location_span.t * string) list) + ({stmt; _} : Ast.typed_statement) : (Location_span.t * string) list = + match stmt with + | Assignment {assign_lhs; assign_op= ArrowAssign; assign_rhs} -> + let acc = + acc + @ [ ( assign_lhs.lmeta.loc + , "The arrow-style assignment operator '<-' was removed in Stan \ + 2.33, use '=' instead. This can be done automatically with the \ + canonicalize flag for stanc" ) ] in + collect_removed_lval [] assign_lhs @ collect_removed_expr acc assign_rhs + | IncrementLogProb e -> + let acc = + acc + @ [ ( e.emeta.loc + , "The increment_log_prob(...); function was removed in Stan \ + 2.33.0. Use target += ...; instead. This can be done \ + automatically with the canonicalize flag for stanc" ) ] in + collect_removed_expr acc e + | _ -> + fold_statement collect_removed_expr collect_removed_stmt + collect_removed_lval + (fun l _ -> l) + acc stmt + +let collect_removals (program : typed_program) = + let pounds = + List.map !pound_comment_usages ~f:(fun loc -> + ( loc + , "Comments beginning with # were removed in Stan 2.33.0. Use // to \ + begin line comments; this can be done automatically using the \ + auto-format flag to stanc" ) ) in + let arrs = + List.map !old_array_usages ~f:(fun (loc, unsized) -> + let placement = if unsized then "a type" else "a variable name" in + ( loc + , "Declaration of arrays by placing brackets after " ^ placement + ^ " was removed in Stan 2.33.0. Instead use the array keyword before \ + the type. This can be changed automatically using the auto-format \ + flag to stanc" ) ) in + fold_program collect_removed_stmt (pounds @ arrs) program + +let pp ?printed_filename ppf (span, message) = + let loc_str = + if span = Location_span.empty then "" + else " in " ^ Location.to_string ?printed_filename span.begin_loc in + Fmt.pf ppf "@[Error%s: %a@]" loc_str Fmt.text message + +let pp_removals ?printed_filename ppf removals = + Fmt.(pf ppf "@[%a@]@\n" (list ~sep:cut (pp ?printed_filename)) removals) diff --git a/src/frontend/Input_warnings.ml b/src/frontend/Input_warnings.ml index 48b490e487..667266d5d7 100644 --- a/src/frontend/Input_warnings.ml +++ b/src/frontend/Input_warnings.ml @@ -9,35 +9,3 @@ let empty file = add_warning Middle.Location_span.empty ( "Empty file '" ^ file ^ "' detected; this is a valid stan model but likely unintended!" ) - -let deprecated token (pos, message) = - (* TODO(seantalts): should we only print deprecation warnings once per token? *) - let begin_pos = - {pos with Lexing.pos_cnum= pos.Lexing.pos_cnum - String.length token} in - let end_pos = {begin_pos with Lexing.pos_cnum= pos.pos_cnum - 1} in - let span = Preprocessor.location_span_of_positions (begin_pos, end_pos) in - add_warning span message - -let array_syntax ?(unsized = false) (pos1, pos2) = - let placement = if unsized then "a type" else "a variable name" in - add_warning - (Preprocessor.location_span_of_positions (pos1, pos2)) - ( "Declaration of arrays by placing brackets after " ^ placement - ^ " is deprecated and will be removed in Stan 2.33.0. Instead use the \ - array keyword before the type. This can be changed automatically using \ - the auto-format flag to stanc" ) - -let drop_array_future () = - match !warnings with - | ( _ - , "Variable name 'array' will be a reserved word starting in Stan 2.33.0. \ - Please rename it!" ) - :: tl -> - warnings := tl - | _ -> () - -let future_keyword kwrd version (pos1, pos2) = - add_warning - (Preprocessor.location_span_of_positions (pos1, pos2)) - ( "Variable name '" ^ kwrd ^ "' will be a reserved word starting in Stan " - ^ version ^ ". Please rename it!" ) diff --git a/src/frontend/Input_warnings.mli b/src/frontend/Input_warnings.mli index 976eeb6c46..e8fdebff9e 100644 --- a/src/frontend/Input_warnings.mli +++ b/src/frontend/Input_warnings.mli @@ -12,20 +12,5 @@ val collect : unit -> Warnings.t list val add_warning : Middle.Location_span.t -> string -> unit (** Add a generic warning string to the current list *) -val deprecated : string -> Lexing.position * string -> unit -(** Register that a deprecated language construct has been found. *) - val empty : string -> unit (** Register that an empty file is being parsed *) - -val array_syntax : ?unsized:bool -> Lexing.position * Lexing.position -> unit -(** Warn on the old [real x\[3\]] syntax and suggest the [array] keyword*) - -val future_keyword : - string -> string -> Lexing.position * Lexing.position -> unit -(** Warn on a keyword which will be reserved in the future*) - -val drop_array_future : unit -> unit -(** Hack: Remove the most recent warning about array as a future keyword. - Needed due to the {e other} hack of how we currently parse arrays. -*) diff --git a/src/frontend/Semantic_error.ml b/src/frontend/Semantic_error.ml index 08efdc0fe1..8bf6a5a5e6 100644 --- a/src/frontend/Semantic_error.ml +++ b/src/frontend/Semantic_error.ml @@ -365,7 +365,7 @@ module StatementError = struct | LValueMultiIndexing | InvalidSamplingPDForPMF | InvalidSamplingCDForCCDF of string - | InvalidSamplingNoSuchDistribution of string + | InvalidSamplingNoSuchDistribution of string * bool | TargetPlusEqualsOutsideModelOrLogProb | InvalidTruncationCDForCCDF of (UnsizedType.autodifftype * UnsizedType.t) list @@ -418,11 +418,16 @@ module StatementError = struct "CDF and CCDF functions may not be used with sampling notation. Use \ target += %s_log(...) instead." name - | InvalidSamplingNoSuchDistribution name -> + | InvalidSamplingNoSuchDistribution (name, true) -> Fmt.pf ppf - "Ill-typed arguments to '~' statement. No distribution '%s' was \ - found." - name + "Ill-typed arguments to '~' statement. No function '%s_lpmf' or \ + '%s_lpdf' was found when looking for distribution '%s'." + name name name + | InvalidSamplingNoSuchDistribution (name, false) -> + Fmt.pf ppf + "Ill-typed arguments to '~' statement. No function '%s_lpdf' was \ + found when looking for distribution '%s'." + name name | InvalidTruncationCDForCCDF args -> Fmt.pf ppf "Truncation is only defined if distribution has _lcdf and _lccdf \ @@ -473,7 +478,7 @@ module StatementError = struct Fmt.pf ppf "Function definitions must be wrapped in curly braces." | NonRealProbFunDef -> Fmt.pf ppf - "Real return type required for probability functions ending in _log, \ + "Real return type required for probability functions ending in \ _lpdf, _lupdf, _lpmf, _lupmf, _cdf, _lcdf, or _lccdf." | ProbDensityNonRealVariate (Some ut) -> Fmt.pf ppf @@ -679,8 +684,9 @@ let invalid_sampling_pdf_or_pmf loc = let invalid_sampling_cdf_or_ccdf loc name = StatementError (loc, StatementError.InvalidSamplingCDForCCDF name) -let invalid_sampling_no_such_dist loc name = - StatementError (loc, StatementError.InvalidSamplingNoSuchDistribution name) +let invalid_sampling_no_such_dist loc name is_int = + StatementError + (loc, StatementError.InvalidSamplingNoSuchDistribution (name, is_int)) let target_plusequals_outside_model_or_logprob loc = StatementError (loc, StatementError.TargetPlusEqualsOutsideModelOrLogProb) diff --git a/src/frontend/Semantic_error.mli b/src/frontend/Semantic_error.mli index 43a33841f0..bd38620e32 100644 --- a/src/frontend/Semantic_error.mli +++ b/src/frontend/Semantic_error.mli @@ -111,7 +111,7 @@ val cannot_assign_function : Location_span.t -> UnsizedType.t -> string -> t val cannot_assign_to_multiindex : Location_span.t -> t val invalid_sampling_pdf_or_pmf : Location_span.t -> t val invalid_sampling_cdf_or_ccdf : Location_span.t -> string -> t -val invalid_sampling_no_such_dist : Location_span.t -> string -> t +val invalid_sampling_no_such_dist : Location_span.t -> string -> bool -> t val target_plusequals_outside_model_or_logprob : Location_span.t -> t val invalid_truncation_cdf_or_ccdf : diff --git a/src/frontend/SignatureMismatch.ml b/src/frontend/SignatureMismatch.ml index 90c8304276..1dd6c63202 100644 --- a/src/frontend/SignatureMismatch.ml +++ b/src/frontend/SignatureMismatch.ml @@ -86,6 +86,7 @@ type ('unique, 'error) generic_match_result = (UnsizedType.returntype * (UnsizedType.autodifftype * UnsizedType.t) list) list | SignatureErrors of 'error +[@@deriving sexp] type match_result = ( UnsizedType.returntype @@ -133,16 +134,29 @@ let rec compare_errors e1 e2 = | InputMismatch _, _ | _, SuffixMismatch _ -> 1 ) ) let compare_match_results e1 e2 = - (* Prefer informative errors *) + (* Sort more informative errors towards the front of lists *) match (e1, e2) with - | AmbiguousMatch _, _ -> 1 - | _, AmbiguousMatch _ -> -1 | SignatureErrors (l1, _), SignatureErrors (l2, _) -> - Int.compare (List.length l1) (List.length l2) + Int.compare (List.length l2) (List.length l1) | SignatureErrors _, _ -> 1 | _, SignatureErrors _ -> -1 + | AmbiguousMatch _, AmbiguousMatch _ -> 0 + | AmbiguousMatch _, _ -> 1 + | _, AmbiguousMatch _ -> -1 | UniqueMatch _, UniqueMatch _ -> 0 +let%expect_test "compare_matches" = + let matches = + [ UniqueMatch (); AmbiguousMatch []; SignatureErrors ([], ()); UniqueMatch () + ; AmbiguousMatch []; SignatureErrors ([()], ()) ] in + let matches = List.sort matches ~compare:compare_match_results in + print_s [%sexp (matches : (unit, unit list * unit) generic_match_result list)] ; + [%expect + "\n\ + \ ((UniqueMatch ()) (UniqueMatch ()) (AmbiguousMatch ()) \ + (AmbiguousMatch ())\n\ + \ (SignatureErrors ((()) ())) (SignatureErrors (() ())))"] + let rec check_same_type depth t1 t2 = let wrap_func = Result.map_error ~f:(fun e -> TypeMismatch (t1, t2, Some e)) in match (t1, t2) with diff --git a/src/frontend/Typechecker.ml b/src/frontend/Typechecker.ml index 1510b19661..60e2451952 100644 --- a/src/frontend/Typechecker.ml +++ b/src/frontend/Typechecker.ml @@ -1047,13 +1047,8 @@ let rec check_lvalue cf tenv = function let type_ = inferred_unsizedtype_of_indexed ~loc lval.lmeta.type_ idcs in let ad_level = inferred_ad_type_of_indexed lval.lmeta.ad_level type_ idcs in - if List.exists ~f:is_multiindex flat then ( - add_warning loc - "Nested multi-indexing on the left hand side of assignment does not \ - behave the same as nested indexing in expressions. This is \ - considered a bug and will be disallowed in Stan 2.33.0. The \ - indexing can be automatically fixed using the canonicalize flag for \ - stanc." ; + ( if List.exists ~f:is_multiindex flat then + (* TODO: prevent in 2.34 *) let lvalue_rvalue_types_differ = try let flat_type = @@ -1141,34 +1136,27 @@ let check_sampling_distribution loc tenv id arguments = SignatureMismatch.matching_function tenv (name ^ suffix) argumenttypes in let sampling_dists = List.map ~f:name_w_suffix_sampling_dist Utils.distribution_suffices in - let sampling_dist_match = - if name = "binomial_coefficient" || name = "multiply" then None - else - List.find_map - ~f:(function - | UniqueMatch (ReturnType UReal, _, p) -> Some p | _ -> None ) - sampling_dists in - match sampling_dist_match with - | Some p -> Promotion.promote_list arguments p - | None -> ( - match - List.max_elt sampling_dists - ~compare:SignatureMismatch.compare_match_results - with - | None | Some (UniqueMatch _) | Some (SignatureErrors ([], _)) -> - (* Either non-existant or a very odd case, - output the old non-informative error *) - Semantic_error.invalid_sampling_no_such_dist loc name |> error - | Some (AmbiguousMatch sigs) -> - Semantic_error.ambiguous_function_promotion loc id.name - (Some (List.map ~f:type_of_expr_typed arguments)) - sigs - |> error - | Some (SignatureErrors (l, b)) -> - arguments - |> List.map ~f:(fun e -> e.emeta.type_) - |> Semantic_error.illtyped_fn_app loc id.name (l, b) - |> error ) + match + List.min_elt sampling_dists ~compare:SignatureMismatch.compare_match_results + with + | Some (UniqueMatch (_, _, p)) -> + Promotion.promote_list arguments p + (* real return type is enforced by [verify_fundef_dist_rt] *) + | None | Some (SignatureErrors ([], _)) -> + (* Function is non existent *) + Semantic_error.invalid_sampling_no_such_dist loc name + (List.hd_exn argumenttypes |> snd |> UnsizedType.is_int_type) + |> error + | Some (AmbiguousMatch sigs) -> + Semantic_error.ambiguous_function_promotion loc id.name + (Some (List.map ~f:type_of_expr_typed arguments)) + sigs + |> error + | Some (SignatureErrors (l, b)) -> + arguments + |> List.map ~f:(fun e -> e.emeta.type_) + |> Semantic_error.illtyped_fn_app loc id.name (l, b) + |> error let is_cumulative_density_defined tenv id arguments = let name = id.name in @@ -1599,7 +1587,7 @@ and verify_fundef_dist_rt loc id return_ty = let is_dist = List.exists ~f:(fun x -> String.is_suffix id.name ~suffix:x) - Utils.conditioning_suffices_w_log in + Utils.conditioning_suffices in if is_dist then match return_ty with | UnsizedType.ReturnType UReal -> () diff --git a/src/frontend/lexer.mll b/src/frontend/lexer.mll index 317a6b7a98..a30f724b6f 100644 --- a/src/frontend/lexer.mll +++ b/src/frontend/lexer.mll @@ -16,6 +16,11 @@ pos_bol = pos.pos_cnum } ; update_start_positions lexbuf.lex_curr_p + + let note_deprecated_comment pos = + let loc_span = location_span_of_positions (pos, pos) in + Deprecation_removals.pound_comment_usages := loc_span :: !Deprecation_removals.pound_comment_usages + (* Store comments *) let add_line_comment (begin_pos, buffer) end_pos = add_comment @@ -75,14 +80,7 @@ rule token = parse try_get_new_lexbuf fname in token new_lexbuf } | "#" { lexer_logger "#comment" ; - Input_warnings.deprecated "#" - (lexbuf.lex_curr_p, "Comments beginning with \ - # are deprecated and this \ - syntax will be removed in \ - Stan 2.33.0. Use // to begin \ - line comments; this can be \ - done automatically using the \ - auto-format flag to stanc") ; + note_deprecated_comment lexbuf.lex_curr_p ; singleline_comment (lexbuf.lex_curr_p, Buffer.create 16) lexbuf; token lexbuf } (* deprecated *) (* Program blocks *) @@ -187,26 +185,8 @@ rule token = parse | ".*=" { lexer_logger ".*=" ; Parser.ELTTIMESASSIGN } | "./=" { lexer_logger "./=" ; Parser.ELTDIVIDEASSIGN } | "<-" { lexer_logger "<-" ; - Input_warnings.deprecated "<-" - (lexbuf.lex_curr_p, "assignment operator <- \ - is deprecated in the \ - Stan language and will \ - be removed in Stan 2.33.0; \ - use = instead. This \ - can be done automatically \ - with the canonicalize flag \ - for stanc") ; Parser.ARROWASSIGN } (* deprecated *) | "increment_log_prob" { lexer_logger "increment_log_prob" ; - Input_warnings.deprecated "increment_log_prob" - (lexbuf.lex_curr_p, "increment_log_prob(...)\ - ; is deprecated and \ - will be removed in Stan \ - 2.33.0. Use target \ - += ...; instead. This \ - can be done automatically \ - with the canonicalize flag \ - for stanc") ; Parser.INCREMENTLOGPROB } (* deprecated *) (* Effects *) | "print" { lexer_logger "print" ; Parser.PRINT } @@ -224,14 +204,6 @@ rule token = parse Parser.IMAGNUMERAL (lexeme lexbuf) } | "target" { lexer_logger "target" ; Parser.TARGET } (* NB: the stanc2 parser allows variables to be named target. I think it's a bad idea and have disallowed it. *) | "get_lp" { lexer_logger "get_lp" ; - Input_warnings.deprecated "get_lp" - (lexbuf.lex_curr_p, "get_lp() function is \ - deprecated. It will be \ - removed in Stan 2.33.0. \ - Use target() instead. \ - This can be done automatically \ - with the canonicalize flag for \ - stanc") ; Parser.GETLP } (* deprecated *) | string_literal as s { lexer_logger ("string_literal " ^ s) ; Parser.STRINGLITERAL (lexeme lexbuf) } diff --git a/src/frontend/parser.messages b/src/frontend/parser.messages index f96106a2ae..d026210e96 100644 --- a/src/frontend/parser.messages +++ b/src/frontend/parser.messages @@ -2,7 +2,7 @@ program: WHILE ## ## Concrete syntax: while ## -## Ends in an error in state: 609. +## Ends in an error in state: 607. ## ## program' -> . program [ # ] ## @@ -22,7 +22,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCORR WHILE ## ## Concrete syntax: data { cholesky_factor_corr while ## -## Ends in an error in state: 801. +## Ends in an error in state: 799. ## ## top_var_type -> CHOLESKYFACTORCORR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCORR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -35,8 +35,8 @@ Expected "[" expression "]" for size of cholesky_factor_corr. program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK DOTNUMERAL TILDE ## Concrete syntax: data { cholesky_factor_cov [ .2 ~ -program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK UPPER COMMA DOTNUMERAL TILDE -## Concrete syntax: data { cholesky_factor_cov [ upper , .2 ~ +program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK IDENTIFIER COMMA DOTNUMERAL TILDE +## Concrete syntax: data { cholesky_factor_cov [ foo , .2 ~ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK IDENTIFIER COMMA IDENTIFIER TILDE ## Concrete syntax: data { cholesky_factor_cov [ foo , foo ~ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK IDENTIFIER COMMA WHILE @@ -49,7 +49,7 @@ program: DATABLOCK LBRACE CHOLESKYFACTORCOV LBRACK WHILE ## ## Concrete syntax: data { cholesky_factor_cov [ while ## -## Ends in an error in state: 791. +## Ends in an error in state: 789. ## ## top_var_type -> CHOLESKYFACTORCOV LBRACK . lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CHOLESKYFACTORCOV LBRACK . non_lhs option(pair(COMMA,expression)) RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -70,7 +70,7 @@ program: DATABLOCK LBRACE CORRMATRIX WHILE ## ## Concrete syntax: data { corr_matrix while ## -## Ends in an error in state: 753. +## Ends in an error in state: 751. ## ## top_var_type -> CORRMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> CORRMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -91,7 +91,7 @@ program: DATABLOCK LBRACE COVMATRIX WHILE ## ## Concrete syntax: data { cov_matrix while ## -## Ends in an error in state: 747. +## Ends in an error in state: 745. ## ## top_var_type -> COVMATRIX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> COVMATRIX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -106,7 +106,7 @@ program: DATABLOCK LBRACE INT LABRACK WHILE ## ## Concrete syntax: data { int < while ## -## Ends in an error in state: 745. +## Ends in an error in state: 743. ## ## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -120,7 +120,7 @@ program: DATABLOCK LBRACE INT LBRACE ## ## Concrete syntax: data { int { ## -## Ends in an error in state: 744. +## Ends in an error in state: 742. ## ## top_var_type -> INT . range_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -140,7 +140,7 @@ program: DATABLOCK LBRACE ORDERED WHILE ## ## Concrete syntax: data { ordered while ## -## Ends in an error in state: 723. +## Ends in an error in state: 721. ## ## top_var_type -> ORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -161,7 +161,7 @@ program: DATABLOCK LBRACE POSITIVEORDERED WHILE ## ## Concrete syntax: data { positive_ordered while ## -## Ends in an error in state: 717. +## Ends in an error in state: 715. ## ## top_var_type -> POSITIVEORDERED . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> POSITIVEORDERED . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -176,7 +176,7 @@ program: DATABLOCK LBRACE RBRACE WHILE ## ## Concrete syntax: data { } while ## -## Ends in an error in state: 867. +## Ends in an error in state: 865. ## ## program -> option(function_block) option(data_block) . option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -190,7 +190,7 @@ program: DATABLOCK LBRACE REAL IDENTIFIER SEMICOLON WHILE ## ## Concrete syntax: data { real foo ; while ## -## Ends in an error in state: 858. +## Ends in an error in state: 856. ## ## list(top_var_decl_no_assign) -> top_var_decl_no_assign . list(top_var_decl_no_assign) [ RBRACE ] ## @@ -204,7 +204,7 @@ program: DATABLOCK LBRACE REAL LBRACE ## ## Concrete syntax: data { real { ## -## Ends in an error in state: 715. +## Ends in an error in state: 713. ## ## top_var_type -> REAL . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -218,7 +218,7 @@ program: DATABLOCK LBRACE ROWVECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK ## ## Concrete syntax: data { row_vector < multiplier = foo > while ## -## Ends in an error in state: 709. +## Ends in an error in state: 707. ## ## top_var_type -> ROWVECTOR type_constraint . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ROWVECTOR type_constraint . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -233,7 +233,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK IDENTIFIER TILDE ## ## Concrete syntax: data { row_vector [ foo ~ ## -## Ends in an error in state: 713. +## Ends in an error in state: 711. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] @@ -289,7 +289,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Expected "[" expression "]" for size declaration of row_vector. @@ -298,7 +298,7 @@ program: DATABLOCK LBRACE ROWVECTOR LBRACK WHILE ## ## Concrete syntax: data { row_vector [ while ## -## Ends in an error in state: 710. +## Ends in an error in state: 708. ## ## top_var_type -> ROWVECTOR type_constraint LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ROWVECTOR type_constraint LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -313,7 +313,7 @@ program: DATABLOCK LBRACE ROWVECTOR WHILE ## ## Concrete syntax: data { row_vector while ## -## Ends in an error in state: 708. +## Ends in an error in state: 706. ## ## top_var_type -> ROWVECTOR . type_constraint LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> ROWVECTOR . type_constraint LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -334,7 +334,7 @@ program: DATABLOCK LBRACE SIMPLEX WHILE ## ## Concrete syntax: data { simplex while ## -## Ends in an error in state: 702. +## Ends in an error in state: 700. ## ## top_var_type -> SIMPLEX . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> SIMPLEX . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -355,7 +355,7 @@ program: DATABLOCK LBRACE UNITVECTOR WHILE ## ## Concrete syntax: data { unit_vector while ## -## Ends in an error in state: 694. +## Ends in an error in state: 692. ## ## top_var_type -> UNITVECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## top_var_type -> UNITVECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -370,7 +370,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA MULTIPLI ## ## Concrete syntax: data { vector < offset = foo , multiplier = foo , ## -## Ends in an error in state: 668. +## Ends in an error in state: 666. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] ## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -394,7 +394,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA MULTIPLI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 625, spurious reduction of production constr_expression -> identifier +## In state 623, spurious reduction of production constr_expression -> identifier ## Expected ">" after "multiplier = " expression. @@ -403,7 +403,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA MULTIPLI ## ## Concrete syntax: data { vector < offset = foo , multiplier = while ## -## Ends in an error in state: 667. +## Ends in an error in state: 665. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA MULTIPLIER ASSIGN . constr_expression [ RABRACK ] ## @@ -417,7 +417,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA MULTIPLI ## ## Concrete syntax: data { vector < offset = foo , multiplier while ## -## Ends in an error in state: 666. +## Ends in an error in state: 664. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA MULTIPLIER . ASSIGN constr_expression [ RABRACK ] ## @@ -427,13 +427,13 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA MULTIPLI Expected "multiplier = " expression (not containing binary logical operators). -program: DATABLOCK LBRACE ROWVECTOR LABRACK OFFSET ASSIGN UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < offset = upper ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK OFFSET ASSIGN IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < offset = foo ' while program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN IDENTIFIER COMMA WHILE ## ## Concrete syntax: data { vector < offset = foo , while ## -## Ends in an error in state: 665. +## Ends in an error in state: 663. ## ## offset_mult -> OFFSET ASSIGN constr_expression COMMA . MULTIPLIER ASSIGN constr_expression [ RABRACK ] ## @@ -447,7 +447,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET ASSIGN WHILE ## ## Concrete syntax: data { vector < offset = while ## -## Ends in an error in state: 663. +## Ends in an error in state: 661. ## ## offset_mult -> OFFSET ASSIGN . constr_expression COMMA MULTIPLIER ASSIGN constr_expression [ RABRACK ] ## offset_mult -> OFFSET ASSIGN . constr_expression [ RABRACK ] @@ -462,7 +462,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET WHILE ## ## Concrete syntax: data { vector < offset while ## -## Ends in an error in state: 662. +## Ends in an error in state: 660. ## ## offset_mult -> OFFSET . ASSIGN constr_expression COMMA MULTIPLIER ASSIGN constr_expression [ RABRACK ] ## offset_mult -> OFFSET . ASSIGN constr_expression [ RABRACK ] @@ -474,39 +474,39 @@ program: DATABLOCK LBRACE VECTOR LABRACK OFFSET WHILE Expected "offset = " expression (not containing binary logical operators). -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER DIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper / upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER ELTDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper ./ upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER ELTPOW UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper .^ upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER ELTTIMES UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper .* upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER HAT UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper ^ upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER IDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper %/% upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER LDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper \ upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER MINUS UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper - upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER MODULO UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper % upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER PLUS UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper + upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER TIMES UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper * upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = upper ' while -program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN PLUS UPPER TRANSPOSE WHILE -## Concrete syntax: data { row_vector < upper = + upper ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER DIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo / foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER ELTDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo ./ foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER ELTPOW IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo .^ foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER ELTTIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo .* foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER HAT IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo ^ foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER IDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo %/% foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER LDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo \ foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER MINUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo - foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER MODULO IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo % foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER PLUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo + foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER TIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo * foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = foo ' while +program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN PLUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: data { row_vector < upper = + foo ' while program: DATABLOCK LBRACE ROWVECTOR LABRACK UPPER ASSIGN MINUS IDENTIFIER TRANSPOSE WHILE ## Concrete syntax: data { row_vector < upper = - foo ' while program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN IDENTIFIER COMMA UPPER ASSIGN IDENTIFIER COMMA ## ## Concrete syntax: data { vector < lower = foo , upper = foo , ## -## Ends in an error in state: 682. +## Ends in an error in state: 680. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] ## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -530,7 +530,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN IDENTIFIER COMMA UPPER ASS ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 625, spurious reduction of production constr_expression -> identifier +## In state 623, spurious reduction of production constr_expression -> identifier ## Expected ">" after "upper = " expression. @@ -541,7 +541,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN IDENTIFIER COMMA UPPER ASS ## ## Concrete syntax: data { vector < lower = foo , upper = while ## -## Ends in an error in state: 681. +## Ends in an error in state: 679. ## ## range -> LOWER ASSIGN constr_expression COMMA UPPER ASSIGN . constr_expression [ RABRACK ] ## @@ -555,7 +555,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN IDENTIFIER COMMA UPPER WHI ## ## Concrete syntax: data { vector < lower = foo , upper while ## -## Ends in an error in state: 680. +## Ends in an error in state: 678. ## ## range -> LOWER ASSIGN constr_expression COMMA UPPER . ASSIGN constr_expression [ RABRACK ] ## @@ -569,7 +569,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN IDENTIFIER COMMA WHILE ## ## Concrete syntax: data { vector < lower = foo , while ## -## Ends in an error in state: 679. +## Ends in an error in state: 677. ## ## range -> LOWER ASSIGN constr_expression COMMA . UPPER ASSIGN constr_expression [ RABRACK ] ## @@ -583,7 +583,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER ASSIGN WHILE ## ## Concrete syntax: data { vector < lower = while ## -## Ends in an error in state: 677. +## Ends in an error in state: 675. ## ## range -> LOWER ASSIGN . constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] ## range -> LOWER ASSIGN . constr_expression [ RABRACK ] @@ -598,7 +598,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK LOWER WHILE ## ## Concrete syntax: data { vector < lower while ## -## Ends in an error in state: 676. +## Ends in an error in state: 674. ## ## range -> LOWER . ASSIGN constr_expression COMMA UPPER ASSIGN constr_expression [ RABRACK ] ## range -> LOWER . ASSIGN constr_expression [ RABRACK ] @@ -613,7 +613,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN WHILE ## ## Concrete syntax: data { vector < multiplier = while ## -## Ends in an error in state: 670. +## Ends in an error in state: 668. ## ## offset_mult -> MULTIPLIER ASSIGN . constr_expression COMMA OFFSET ASSIGN constr_expression [ RABRACK ] ## offset_mult -> MULTIPLIER ASSIGN . constr_expression [ RABRACK ] @@ -628,7 +628,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER WHILE ## ## Concrete syntax: data { vector < multiplier while ## -## Ends in an error in state: 669. +## Ends in an error in state: 667. ## ## offset_mult -> MULTIPLIER . ASSIGN constr_expression COMMA OFFSET ASSIGN constr_expression [ RABRACK ] ## offset_mult -> MULTIPLIER . ASSIGN constr_expression [ RABRACK ] @@ -645,7 +645,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN BANG WHILE ## ## Concrete syntax: data { vector < upper = ! while ## -## Ends in an error in state: 624. +## Ends in an error in state: 622. ## ## constr_expression -> BANG . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -659,7 +659,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN MINUS WHILE ## ## Concrete syntax: data { vector < upper = - while ## -## Ends in an error in state: 623. +## Ends in an error in state: 621. ## ## constr_expression -> MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -673,7 +673,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN PLUS WHILE ## ## Concrete syntax: data { vector < upper = + while ## -## Ends in an error in state: 622. +## Ends in an error in state: 620. ## ## constr_expression -> PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -687,7 +687,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER DIVIDE WHILE ## ## Concrete syntax: data { vector < upper = foo / while ## -## Ends in an error in state: 654. +## Ends in an error in state: 652. ## ## constr_expression -> constr_expression DIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -701,7 +701,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER ELTDIVIDE WHILE ## ## Concrete syntax: data { vector < upper = foo ./ while ## -## Ends in an error in state: 652. +## Ends in an error in state: 650. ## ## constr_expression -> constr_expression ELTDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -715,7 +715,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER ELTTIMES WHILE ## ## Concrete syntax: data { vector < upper = foo .* while ## -## Ends in an error in state: 650. +## Ends in an error in state: 648. ## ## constr_expression -> constr_expression ELTTIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -729,7 +729,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER HAT WHILE ## ## Concrete syntax: data { vector < upper = foo ^ while ## -## Ends in an error in state: 632. +## Ends in an error in state: 630. ## ## constr_expression -> constr_expression HAT . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -743,7 +743,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER LBRACK WHILE ## ## Concrete syntax: data { vector < upper = foo [ while ## -## Ends in an error in state: 629. +## Ends in an error in state: 627. ## ## constr_expression -> constr_expression LBRACK . indexes RBRACK [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -757,7 +757,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER LDIVIDE WHILE ## ## Concrete syntax: data { vector < upper = foo \ while ## -## Ends in an error in state: 642. +## Ends in an error in state: 640. ## ## constr_expression -> constr_expression LDIVIDE . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -771,7 +771,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER MINUS WHILE ## ## Concrete syntax: data { vector < upper = foo - while ## -## Ends in an error in state: 656. +## Ends in an error in state: 654. ## ## constr_expression -> constr_expression MINUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -785,7 +785,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER MODULO WHILE ## ## Concrete syntax: data { vector < upper = foo % while ## -## Ends in an error in state: 648. +## Ends in an error in state: 646. ## ## constr_expression -> constr_expression MODULO . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -799,7 +799,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER PLUS WHILE ## ## Concrete syntax: data { vector < upper = foo + while ## -## Ends in an error in state: 646. +## Ends in an error in state: 644. ## ## constr_expression -> constr_expression PLUS . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -813,7 +813,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER TIMES WHILE ## ## Concrete syntax: data { vector < upper = foo * while ## -## Ends in an error in state: 640. +## Ends in an error in state: 638. ## ## constr_expression -> constr_expression TIMES . constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## @@ -827,7 +827,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER WHILE ## ## Concrete syntax: data { vector < upper = foo while ## -## Ends in an error in state: 625. +## Ends in an error in state: 623. ## ## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA ] ## common_expression -> identifier . LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA ] @@ -845,7 +845,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN WHILE ## ## Concrete syntax: data { vector < upper = while ## -## Ends in an error in state: 621. +## Ends in an error in state: 619. ## ## range -> UPPER ASSIGN . constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] ## range -> UPPER ASSIGN . constr_expression [ RABRACK ] @@ -860,7 +860,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER WHILE ## ## Concrete syntax: data { vector < upper while ## -## Ends in an error in state: 620. +## Ends in an error in state: 618. ## ## range -> UPPER . ASSIGN constr_expression COMMA LOWER ASSIGN constr_expression [ RABRACK ] ## range -> UPPER . ASSIGN constr_expression [ RABRACK ] @@ -875,7 +875,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK WHILE ## ## Concrete syntax: data { vector < while ## -## Ends in an error in state: 619. +## Ends in an error in state: 617. ## ## range_constraint -> LABRACK . range RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## type_constraint -> LABRACK . offset_mult RABRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER LBRACK INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -890,7 +890,7 @@ program: DATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## ## Concrete syntax: data { vector [ 24 ] ^ ## -## Ends in an error in state: 850. +## Ends in an error in state: 848. ## ## decl(top_var_type,no_assign) -> top_var_type . decl_identifier dims optional_assignment(no_assign) SEMICOLON [ VECTOR UNITVECTOR TUPLE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## decl(top_var_type,no_assign) -> top_var_type . id_and_optional_assignment(no_assign,decl_identifier) option(remaining_declarations(no_assign)) SEMICOLON [ VECTOR UNITVECTOR TUPLE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] @@ -905,7 +905,7 @@ program: DATABLOCK LBRACE IDENTIFIER ## ## Concrete syntax: data { foo ## -## Ends in an error in state: 617. +## Ends in an error in state: 615. ## ## data_block -> DATABLOCK LBRACE . list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -924,7 +924,7 @@ program: DATABLOCK WHILE ## ## Concrete syntax: data while ## -## Ends in an error in state: 616. +## Ends in an error in state: 614. ## ## data_block -> DATABLOCK . LBRACE list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -938,7 +938,7 @@ program: FUNCTIONBLOCK LBRACE RBRACE COVMATRIX ## ## Concrete syntax: functions { } cov_matrix ## -## Ends in an error in state: 615. +## Ends in an error in state: 613. ## ## program -> option(function_block) . option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -996,7 +996,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN RPAREN SEMICOLON WHILE ## ## Concrete syntax: functions { void foo ( ) ; while ## -## Ends in an error in state: 607. +## Ends in an error in state: 605. ## ## list(function_def) -> function_def . list(function_def) [ RBRACE EOF ] ## @@ -1010,7 +1010,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN DATABLOCK WHILE ## ## Concrete syntax: functions { void foo ( data while ## -## Ends in an error in state: 89. +## Ends in an error in state: 88. ## ## arg_decl -> option(DATABLOCK) . unsized_type decl_identifier [ RPAREN COMMA ] ## @@ -1024,7 +1024,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN RPAREN VOID ## ## Concrete syntax: functions { void foo ( ) void ## -## Ends in an error in state: 93. +## Ends in an error in state: 92. ## ## function_def -> return_type decl_identifier LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN . statement [ VOID VECTOR TUPLE ROWVECTOR REAL RBRACE MATRIX INT EOF COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX ARRAY ] ## @@ -1040,7 +1040,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN VECTOR IDENTIFIER COMMA WHI ## ## Concrete syntax: functions { void foo ( vector foo , while ## -## Ends in an error in state: 602. +## Ends in an error in state: 600. ## ## separated_nonempty_list(COMMA,arg_decl) -> arg_decl COMMA . separated_nonempty_list(COMMA,arg_decl) [ RPAREN ] ## @@ -1054,7 +1054,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN VECTOR IDENTIFIER WHILE ## ## Concrete syntax: functions { void foo ( vector foo while ## -## Ends in an error in state: 601. +## Ends in an error in state: 599. ## ## separated_nonempty_list(COMMA,arg_decl) -> arg_decl . [ RPAREN ] ## separated_nonempty_list(COMMA,arg_decl) -> arg_decl . COMMA separated_nonempty_list(COMMA,arg_decl) [ RPAREN ] @@ -1069,7 +1069,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER LPAREN VECTOR LBRACK RBRACK LBRACK ## ## Concrete syntax: functions { void foo ( vector [ ] [ ## -## Ends in an error in state: 90. +## Ends in an error in state: 89. ## ## arg_decl -> option(DATABLOCK) unsized_type . decl_identifier [ RPAREN COMMA ] ## @@ -1083,7 +1083,7 @@ program: FUNCTIONBLOCK LBRACE VOID IDENTIFIER WHILE ## ## Concrete syntax: functions { void foo while ## -## Ends in an error in state: 85. +## Ends in an error in state: 84. ## ## function_def -> return_type decl_identifier . LPAREN loption(separated_nonempty_list(COMMA,arg_decl)) RPAREN statement [ VOID VECTOR TUPLE ROWVECTOR REAL RBRACE MATRIX INT EOF COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX ARRAY ] ## @@ -1111,7 +1111,7 @@ program: FUNCTIONBLOCK LBRACE WHILE ## ## Concrete syntax: functions { while ## -## Ends in an error in state: 611. +## Ends in an error in state: 609. ## ## function_block -> FUNCTIONBLOCK LBRACE . list(function_def) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF DATABLOCK ] ## @@ -1125,7 +1125,7 @@ program: FUNCTIONBLOCK WHILE ## ## Concrete syntax: functions while ## -## Ends in an error in state: 610. +## Ends in an error in state: 608. ## ## function_block -> FUNCTIONBLOCK . LBRACE list(function_def) RBRACE [ TRANSFORMEDPARAMETERSBLOCK TRANSFORMEDDATABLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF DATABLOCK ] ## @@ -1139,7 +1139,7 @@ program: GENERATEDQUANTITIESBLOCK LBRACE RBRACE ELTTIMESASSIGN ## ## Concrete syntax: generated quantities { } .*= ## -## Ends in an error in state: 916. +## Ends in an error in state: 914. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) . EOF [ # ] ## @@ -1153,7 +1153,7 @@ program: GENERATEDQUANTITIESBLOCK LBRACE VOID ## ## Concrete syntax: generated quantities { void ## -## Ends in an error in state: 913. +## Ends in an error in state: 911. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ EOF ] ## @@ -1167,7 +1167,7 @@ program: GENERATEDQUANTITIESBLOCK WHILE ## ## Concrete syntax: generated quantities while ## -## Ends in an error in state: 912. +## Ends in an error in state: 910. ## ## generated_quantities_block -> GENERATEDQUANTITIESBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ EOF ] ## @@ -1181,8 +1181,8 @@ program: MODELBLOCK LBRACE MATRIX LBRACK DOTNUMERAL COMMA DOTNUMERAL TILDE ## Concrete syntax: model { matrix [ .2 , .2 ~ program: MODELBLOCK LBRACE MATRIX LBRACK DOTNUMERAL TILDE ## Concrete syntax: model { matrix [ .2 ~ -program: MODELBLOCK LBRACE MATRIX LBRACK UPPER COMMA DOTNUMERAL TILDE -## Concrete syntax: model { matrix [ upper , .2 ~ +program: MODELBLOCK LBRACE MATRIX LBRACK IDENTIFIER COMMA DOTNUMERAL TILDE +## Concrete syntax: model { matrix [ foo , .2 ~ program: DATABLOCK LBRACE MATRIX LBRACK DOTNUMERAL COMMA DOTNUMERAL TILDE ## Concrete syntax: data { matrix [ .2 , .2 ~ program: DATABLOCK LBRACE MATRIX LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE @@ -1203,46 +1203,46 @@ program: DATABLOCK LBRACE MATRIX WHILE ## Concrete syntax: data { matrix while program: DATABLOCK LBRACE MATRIX LBRACK DOTNUMERAL TILDE ## Concrete syntax: data { matrix [ .2 ~ -program: DATABLOCK LBRACE MATRIX LBRACK UPPER COMMA DOTNUMERAL TILDE -## Concrete syntax: data { matrix [ upper , .2 ~ -program: DATABLOCK LBRACE COMPLEXMATRIX LABRACK OFFSET ASSIGN ARRAY RABRACK WHILE -## Concrete syntax: data { complex_matrix < offset = array > while +program: DATABLOCK LBRACE MATRIX LBRACK IDENTIFIER COMMA DOTNUMERAL TILDE +## Concrete syntax: data { matrix [ foo , .2 ~ +program: DATABLOCK LBRACE COMPLEXMATRIX LABRACK OFFSET ASSIGN IDENTIFIER RABRACK WHILE +## Concrete syntax: data { complex_matrix < offset = foo > while program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA REALNUMERAL TILDE ## Concrete syntax: data { complex_matrix [ 3.1415 , 3.1415 ~ -program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA UPPER TILDE -## Concrete syntax: data { complex_matrix [ 3.1415 , upper ~ +program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA IDENTIFIER TILDE +## Concrete syntax: data { complex_matrix [ 3.1415 , foo ~ program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA WHILE ## Concrete syntax: data { complex_matrix [ 3.1415 , while program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL TILDE ## Concrete syntax: data { complex_matrix [ 3.1415 ~ -program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA REALNUMERAL TILDE -## Concrete syntax: data { complex_matrix [ upper , 3.1415 ~ -program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA UPPER TILDE -## Concrete syntax: data { complex_matrix [ upper , upper ~ -program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA WHILE -## Concrete syntax: data { complex_matrix [ upper , while -program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK UPPER TILDE -## Concrete syntax: data { complex_matrix [ upper ~ +program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA REALNUMERAL TILDE +## Concrete syntax: data { complex_matrix [ foo , 3.1415 ~ +program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA IDENTIFIER TILDE +## Concrete syntax: data { complex_matrix [ foo , foo ~ +program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA WHILE +## Concrete syntax: data { complex_matrix [ foo , while +program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER TILDE +## Concrete syntax: data { complex_matrix [ foo ~ program: DATABLOCK LBRACE COMPLEXMATRIX LBRACK WHILE ## Concrete syntax: data { complex_matrix [ while program: DATABLOCK LBRACE COMPLEXMATRIX WHILE ## Concrete syntax: data { complex_matrix while program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA REALNUMERAL TILDE ## Concrete syntax: model { complex_matrix [ 3.1415 , 3.1415 ~ -program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA UPPER TILDE -## Concrete syntax: model { complex_matrix [ 3.1415 , upper ~ +program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA IDENTIFIER TILDE +## Concrete syntax: model { complex_matrix [ 3.1415 , foo ~ program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL COMMA WHILE ## Concrete syntax: model { complex_matrix [ 3.1415 , while program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK REALNUMERAL TILDE ## Concrete syntax: model { complex_matrix [ 3.1415 ~ -program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA REALNUMERAL TILDE -## Concrete syntax: model { complex_matrix [ upper , 3.1415 ~ -program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA UPPER TILDE -## Concrete syntax: model { complex_matrix [ upper , upper ~ -program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK UPPER COMMA WHILE -## Concrete syntax: model { complex_matrix [ upper , while -program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK UPPER TILDE -## Concrete syntax: model { complex_matrix [ upper ~ +program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA REALNUMERAL TILDE +## Concrete syntax: model { complex_matrix [ foo , 3.1415 ~ +program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA IDENTIFIER TILDE +## Concrete syntax: model { complex_matrix [ foo , foo ~ +program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER COMMA WHILE +## Concrete syntax: model { complex_matrix [ foo , while +program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK IDENTIFIER TILDE +## Concrete syntax: model { complex_matrix [ foo ~ program: MODELBLOCK LBRACE COMPLEXMATRIX LBRACK WHILE ## Concrete syntax: model { complex_matrix [ while program: MODELBLOCK LBRACE COMPLEXMATRIX WHILE @@ -1263,7 +1263,7 @@ program: MODELBLOCK LBRACE MATRIX WHILE ## ## Concrete syntax: model { matrix while ## -## Ends in an error in state: 324. +## Ends in an error in state: 323. ## ## sized_basic_type -> MATRIX . LBRACK lhs COMMA lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> MATRIX . LBRACK lhs COMMA non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1280,7 +1280,7 @@ program: MODELBLOCK LBRACE RBRACE ELTTIMESASSIGN ## ## Concrete syntax: model { } .*= ## -## Ends in an error in state: 911. +## Ends in an error in state: 909. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) option(model_block) . option(generated_quantities_block) EOF [ # ] ## @@ -1298,7 +1298,7 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER ASSIGN WHILE ## ## Concrete syntax: model { real foo = while ## -## Ends in an error in state: 464. +## Ends in an error in state: 462. ## ## option(pair(ASSIGN,expression)) -> ASSIGN . lhs [ SEMICOLON COMMA ] ## option(pair(ASSIGN,expression)) -> ASSIGN . non_lhs [ SEMICOLON COMMA ] @@ -1313,7 +1313,7 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACE ## ## Concrete syntax: model { real foo [ foo } ## -## Ends in an error in state: 481. +## Ends in an error in state: 479. ## ## dims -> LBRACK separated_nonempty_list(COMMA,expression) . RBRACK [ SEMICOLON ASSIGN ] ## @@ -1324,8 +1324,8 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## Ill-formed array sizes. "[" (non-empty comma separated list of expressions) "]" expected to specify array sizes. @@ -1334,7 +1334,7 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK WHILE ## ## Concrete syntax: model { real foo [ while ## -## Ends in an error in state: 480. +## Ends in an error in state: 478. ## ## dims -> LBRACK . separated_nonempty_list(COMMA,expression) RBRACK [ SEMICOLON ASSIGN ] ## @@ -1348,10 +1348,10 @@ program: MODELBLOCK LBRACE REAL LBRACK ## ## Concrete syntax: model { real [ ## -## Ends in an error in state: 475. +## Ends in an error in state: 473. ## -## decl(sized_basic_type,expression) -> sized_basic_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## decl(sized_basic_type,expression) -> sized_basic_type . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## sized_basic_type @@ -1359,12 +1359,12 @@ program: MODELBLOCK LBRACE REAL LBRACK Identifier expected after sized type in local (or model block) variable declaration. (No transformations/constraints allowed.) -program: DATABLOCK LBRACE COMPLEXROWVECTOR LABRACK OFFSET ASSIGN ARRAY RABRACK WHILE -## Concrete syntax: data { complex_row_vector < offset = array > while +program: DATABLOCK LBRACE COMPLEXROWVECTOR LABRACK OFFSET ASSIGN IDENTIFIER RABRACK WHILE +## Concrete syntax: data { complex_row_vector < offset = foo > while program: DATABLOCK LBRACE COMPLEXROWVECTOR LBRACK REALNUMERAL TILDE ## Concrete syntax: data { complex_row_vector [ 3.1415 ~ -program: DATABLOCK LBRACE COMPLEXROWVECTOR LBRACK UPPER TILDE -## Concrete syntax: data { complex_row_vector [ upper ~ +program: DATABLOCK LBRACE COMPLEXROWVECTOR LBRACK IDENTIFIER TILDE +## Concrete syntax: data { complex_row_vector [ foo ~ program: DATABLOCK LBRACE COMPLEXROWVECTOR LBRACK WHILE ## Concrete syntax: data { complex_row_vector [ while program: DATABLOCK LBRACE COMPLEXROWVECTOR WHILE @@ -1389,7 +1389,7 @@ program: MODELBLOCK LBRACE ROWVECTOR LBRACK WHILE ## ## Concrete syntax: model { row_vector [ while ## -## Ends in an error in state: 318. +## Ends in an error in state: 317. ## ## sized_basic_type -> ROWVECTOR LBRACK . lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> ROWVECTOR LBRACK . non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1404,7 +1404,7 @@ program: MODELBLOCK LBRACE SEMICOLON VOID ## ## Concrete syntax: model { ; void ## -## Ends in an error in state: 588. +## Ends in an error in state: 586. ## ## list(vardecl_or_statement) -> vardecl_or_statement . list(vardecl_or_statement) [ RBRACE ] ## @@ -1414,20 +1414,20 @@ program: MODELBLOCK LBRACE SEMICOLON VOID Variable declaration, statement or "}" expected. -program: DATABLOCK LBRACE COMPLEXVECTOR LABRACK OFFSET ASSIGN ARRAY RABRACK WHILE -## Concrete syntax: data { complex_vector < offset = array > while +program: DATABLOCK LBRACE COMPLEXVECTOR LABRACK OFFSET ASSIGN IDENTIFIER RABRACK WHILE +## Concrete syntax: data { complex_vector < offset = foo > while program: DATABLOCK LBRACE COMPLEXVECTOR LBRACK REALNUMERAL TILDE ## Concrete syntax: data { complex_vector [ 3.1415 ~ -program: DATABLOCK LBRACE COMPLEXVECTOR LBRACK UPPER TILDE -## Concrete syntax: data { complex_vector [ upper ~ +program: DATABLOCK LBRACE COMPLEXVECTOR LBRACK IDENTIFIER TILDE +## Concrete syntax: data { complex_vector [ foo ~ program: DATABLOCK LBRACE COMPLEXVECTOR LBRACK WHILE ## Concrete syntax: data { complex_vector [ while program: DATABLOCK LBRACE COMPLEXVECTOR WHILE ## Concrete syntax: data { complex_vector while program: MODELBLOCK LBRACE COMPLEXVECTOR LBRACK REALNUMERAL TILDE ## Concrete syntax: model { complex_vector [ 3.1415 ~ -program: MODELBLOCK LBRACE COMPLEXVECTOR LBRACK UPPER TILDE -## Concrete syntax: model { complex_vector [ upper ~ +program: MODELBLOCK LBRACE COMPLEXVECTOR LBRACK IDENTIFIER TILDE +## Concrete syntax: model { complex_vector [ foo ~ program: DATABLOCK LBRACE VECTOR LBRACK DOTNUMERAL TILDE ## Concrete syntax: data { vector [ .2 ~ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER RABRACK WHILE @@ -1452,7 +1452,7 @@ program: MODELBLOCK LBRACE VECTOR WHILE ## ## Concrete syntax: model { vector while ## -## Ends in an error in state: 309. +## Ends in an error in state: 308. ## ## sized_basic_type -> VECTOR . LBRACK lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## sized_basic_type -> VECTOR . LBRACK non_lhs RBRACK [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -1467,7 +1467,7 @@ program: MODELBLOCK LBRACE VOID ## ## Concrete syntax: model { void ## -## Ends in an error in state: 908. +## Ends in an error in state: 906. ## ## model_block -> MODELBLOCK LBRACE . list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] ## @@ -1481,7 +1481,7 @@ program: MODELBLOCK WHILE ## ## Concrete syntax: model while ## -## Ends in an error in state: 907. +## Ends in an error in state: 905. ## ## model_block -> MODELBLOCK . LBRACE list(vardecl_or_statement) RBRACE [ GENERATEDQUANTITIESBLOCK EOF ] ## @@ -1495,7 +1495,7 @@ program: PARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## ## Concrete syntax: parameters { } .*= ## -## Ends in an error in state: 900. +## Ends in an error in state: 898. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) . option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -1509,7 +1509,7 @@ program: PARAMETERSBLOCK LBRACE WHILE ## ## Concrete syntax: parameters { while ## -## Ends in an error in state: 896. +## Ends in an error in state: 894. ## ## parameters_block -> PARAMETERSBLOCK LBRACE . list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -1523,7 +1523,7 @@ program: PARAMETERSBLOCK WHILE ## ## Concrete syntax: parameters while ## -## Ends in an error in state: 895. +## Ends in an error in state: 893. ## ## parameters_block -> PARAMETERSBLOCK . LBRACE list(top_var_decl_no_assign) RBRACE [ TRANSFORMEDPARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -1533,15 +1533,15 @@ program: PARAMETERSBLOCK WHILE Expected "{" after "parameters". -program: TRANSFORMEDDATABLOCK LBRACE BANG UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { ! upper ' while +program: TRANSFORMEDDATABLOCK LBRACE BANG IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { ! foo ' while program: TRANSFORMEDDATABLOCK LBRACE BANG IDENTIFIER LBRACK RBRACK WHILE ## Concrete syntax: transformed data { ! foo [ ] while program: TRANSFORMEDDATABLOCK LBRACE BANG WHILE ## ## Concrete syntax: transformed data { ! while ## -## Ends in an error in state: 111. +## Ends in an error in state: 110. ## ## non_lhs -> BANG . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> BANG . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -1556,9 +1556,9 @@ program: TRANSFORMEDDATABLOCK LBRACE BREAK WHILE ## ## Concrete syntax: transformed data { break while ## -## Ends in an error in state: 449. +## Ends in an error in state: 448. ## -## atomic_statement -> BREAK . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> BREAK . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## BREAK @@ -1570,9 +1570,9 @@ program: TRANSFORMEDDATABLOCK LBRACE CONTINUE WHILE ## ## Concrete syntax: transformed data { continue while ## -## Ends in an error in state: 447. +## Ends in an error in state: 446. ## -## atomic_statement -> CONTINUE . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> CONTINUE . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## CONTINUE @@ -1584,9 +1584,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL COLON ## ## Concrete syntax: transformed data { for ( foo in 3.1415 : 3.1415 ) void ## -## Ends in an error in state: 565. +## Ends in an error in state: 563. ## -## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN non_lhs COLON non_lhs RPAREN @@ -1598,9 +1598,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL COLON ## ## Concrete syntax: transformed data { for ( foo in 3.1415 : foo ) void ## -## Ends in an error in state: 568. +## Ends in an error in state: 566. ## -## nested_statement -> FOR LPAREN identifier IN non_lhs COLON lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN non_lhs COLON lhs RPAREN @@ -1608,20 +1608,20 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL COLON Ill-formed statement. Expected statement after ")" for the loop body of the for loop. -program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN UPPER IN UPPER COLON DOTNUMERAL TILDE -## Concrete syntax: transformed data { for ( upper in upper : .2 ~ -program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN UPPER IN DOTNUMERAL COLON DOTNUMERAL TILDE -## Concrete syntax: transformed data { for ( upper in .2 : .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON DOTNUMERAL TILDE +## Concrete syntax: transformed data { for ( foo in foo : .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN DOTNUMERAL COLON DOTNUMERAL TILDE +## Concrete syntax: transformed data { for ( foo in .2 : .2 ~ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL COLON IDENTIFIER TILDE ## Concrete syntax: transformed data { for ( foo in 3.1415 : foo ~ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL COLON WHILE ## ## Concrete syntax: transformed data { for ( foo in 3.1415 : while ## -## Ends in an error in state: 563. +## Ends in an error in state: 561. ## -## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs COLON . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN non_lhs COLON @@ -1633,9 +1633,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN REALNUMERAL RPAREN ## ## Concrete syntax: transformed data { for ( foo in 3.1415 ) void ## -## Ends in an error in state: 446. +## Ends in an error in state: 445. ## -## nested_statement -> FOR LPAREN identifier IN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN non_lhs RPAREN @@ -1647,9 +1647,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON R ## ## Concrete syntax: transformed data { for ( foo in foo : 3.1415 ) void ## -## Ends in an error in state: 575. +## Ends in an error in state: 573. ## -## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN lhs COLON non_lhs RPAREN @@ -1661,9 +1661,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON I ## ## Concrete syntax: transformed data { for ( foo in foo : foo ) void ## -## Ends in an error in state: 578. +## Ends in an error in state: 576. ## -## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN lhs COLON lhs RPAREN @@ -1675,11 +1675,11 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON I ## ## Concrete syntax: transformed data { for ( foo in foo : foo ~ ## -## Ends in an error in state: 577. +## Ends in an error in state: 575. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] -## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -1731,7 +1731,7 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON I ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed expression. Expected expression followed by ")" after "for (" identifier "in" expression ":". @@ -1740,10 +1740,10 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER COLON W ## ## Concrete syntax: transformed data { for ( foo in foo : while ## -## Ends in an error in state: 573. +## Ends in an error in state: 571. ## -## nested_statement -> FOR LPAREN identifier IN lhs COLON . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN lhs COLON . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs COLON . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN lhs COLON @@ -1755,9 +1755,9 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER RPAREN ## ## Concrete syntax: transformed data { for ( foo in foo ) void ## -## Ends in an error in state: 571. +## Ends in an error in state: 569. ## -## nested_statement -> FOR LPAREN identifier IN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN lhs RPAREN @@ -1765,19 +1765,19 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER RPAREN Ill-formed statement. Expected statement after ")" for the loop body of the foreach loop. -program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN UPPER IN DOTNUMERAL TILDE -## Concrete syntax: transformed data { for ( upper in .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN DOTNUMERAL TILDE +## Concrete syntax: transformed data { for ( foo in .2 ~ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { for ( foo in foo ~ ## -## Ends in an error in state: 570. +## Ends in an error in state: 568. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COLON AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COLON AND ] -## nested_statement -> FOR LPAREN identifier IN lhs . COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN lhs . COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs . COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs . COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] ## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] ## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COLON AND ] @@ -1829,7 +1829,7 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed expression. Expected expression followed by ")" or ":" after "for (" identifier "in". @@ -1838,14 +1838,14 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER IN WHILE ## ## Concrete syntax: transformed data { for ( foo in while ## -## Ends in an error in state: 444. +## Ends in an error in state: 443. ## -## nested_statement -> FOR LPAREN identifier IN . lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN . lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier IN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier IN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier IN @@ -1857,14 +1857,14 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN IDENTIFIER WHILE ## ## Concrete syntax: transformed data { for ( foo while ## -## Ends in an error in state: 443. +## Ends in an error in state: 442. ## -## nested_statement -> FOR LPAREN identifier . IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier . IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier . IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN identifier . IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN identifier . IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN identifier @@ -1876,14 +1876,14 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR LPAREN WHILE ## ## Concrete syntax: transformed data { for ( while ## -## Ends in an error in state: 442. +## Ends in an error in state: 441. ## -## nested_statement -> FOR LPAREN . identifier IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN . identifier IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN . identifier IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR LPAREN . identifier IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR LPAREN . identifier IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR LPAREN @@ -1895,14 +1895,14 @@ program: TRANSFORMEDDATABLOCK LBRACE FOR WHILE ## ## Concrete syntax: transformed data { for while ## -## Ends in an error in state: 441. +## Ends in an error in state: 440. ## -## nested_statement -> FOR . LPAREN identifier IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR . LPAREN identifier IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR . LPAREN identifier IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> FOR . LPAREN identifier IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs COLON non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> FOR . LPAREN identifier IN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## FOR @@ -1914,7 +1914,7 @@ program: TRANSFORMEDDATABLOCK LBRACE GETLP LPAREN WHILE ## ## Concrete syntax: transformed data { get_lp ( while ## -## Ends in an error in state: 108. +## Ends in an error in state: 107. ## ## common_expression -> GETLP LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -1928,7 +1928,7 @@ program: TRANSFORMEDDATABLOCK LBRACE GETLP WHILE ## ## Concrete syntax: transformed data { get_lp while ## -## Ends in an error in state: 107. +## Ends in an error in state: 106. ## ## common_expression -> GETLP . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -1942,9 +1942,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON ELSE ## ## Concrete syntax: transformed data { if ( 3.1415 ) ; else void ## -## Ends in an error in state: 581. +## Ends in an error in state: 579. ## -## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement ELSE . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement ELSE . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN non_lhs RPAREN vardecl_or_statement ELSE @@ -1958,10 +1958,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN SEMICOLON UNRE ## ## Concrete syntax: transformed data { if ( 3.1415 ) ; <<<>> ## -## Ends in an error in state: 580. +## Ends in an error in state: 578. ## -## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement . ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement . [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement . ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN vardecl_or_statement . [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN non_lhs RPAREN vardecl_or_statement @@ -1973,10 +1973,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN REALNUMERAL RPAREN VOID ## ## Concrete syntax: transformed data { if ( 3.1415 ) void ## -## Ends in an error in state: 440. +## Ends in an error in state: 439. ## -## nested_statement -> IF LPAREN non_lhs RPAREN . vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN . vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN non_lhs RPAREN @@ -1988,9 +1988,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN IDENTIFIER RPAREN SEMICOLON ELSE ## ## Concrete syntax: transformed data { if ( foo ) ; else void ## -## Ends in an error in state: 586. +## Ends in an error in state: 584. ## -## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement ELSE . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement ELSE . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN lhs RPAREN vardecl_or_statement ELSE @@ -2002,10 +2002,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN IDENTIFIER RPAREN VOID ## ## Concrete syntax: transformed data { if ( foo ) void ## -## Ends in an error in state: 584. +## Ends in an error in state: 582. ## -## nested_statement -> IF LPAREN lhs RPAREN . vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN . vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN lhs RPAREN @@ -2019,12 +2019,12 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { if ( foo ~ ## -## Ends in an error in state: 583. +## Ends in an error in state: 581. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] -## nested_statement -> IF LPAREN lhs . RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs . RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs . RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] ## non_lhs -> lhs . QMARK non_lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2076,7 +2076,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed expression. Expression expected after "(", for test of conditional control flow construct. @@ -2085,12 +2085,12 @@ program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN WHILE ## ## Concrete syntax: transformed data { if ( while ## -## Ends in an error in state: 438. +## Ends in an error in state: 437. ## -## nested_statement -> IF LPAREN . lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN . non_lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . non_lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN @@ -2102,12 +2102,12 @@ program: TRANSFORMEDDATABLOCK LBRACE IF WHILE ## ## Concrete syntax: transformed data { if while ## -## Ends in an error in state: 437. +## Ends in an error in state: 436. ## -## nested_statement -> IF . LPAREN lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF . LPAREN non_lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF . LPAREN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF . LPAREN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN non_lhs RPAREN vardecl_or_statement ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF . LPAREN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF @@ -2119,9 +2119,9 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN REALNUMERAL RPAREN ## ## Concrete syntax: transformed data { increment_log_prob ( 3.1415 ) while ## -## Ends in an error in state: 432. +## Ends in an error in state: 431. ## -## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN non_lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## INCREMENTLOGPROB LPAREN non_lhs RPAREN @@ -2133,9 +2133,9 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN IDENTIFIER RPAREN W ## ## Concrete syntax: transformed data { increment_log_prob ( foo ) while ## -## Ends in an error in state: 435. +## Ends in an error in state: 434. ## -## atomic_statement -> INCREMENTLOGPROB LPAREN lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN lhs RPAREN . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## INCREMENTLOGPROB LPAREN lhs RPAREN @@ -2149,9 +2149,9 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { increment_log_prob ( foo ~ ## -## Ends in an error in state: 434. +## Ends in an error in state: 433. ## -## atomic_statement -> INCREMENTLOGPROB LPAREN lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN lhs . RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -2205,7 +2205,7 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed statement. Expected expression followed by ");" after "(". @@ -2214,10 +2214,10 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB LPAREN WHILE ## ## Concrete syntax: transformed data { increment_log_prob ( while ## -## Ends in an error in state: 430. +## Ends in an error in state: 429. ## -## atomic_statement -> INCREMENTLOGPROB LPAREN . lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> INCREMENTLOGPROB LPAREN . non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN . lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB LPAREN . non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## INCREMENTLOGPROB LPAREN @@ -2229,10 +2229,10 @@ program: TRANSFORMEDDATABLOCK LBRACE INCREMENTLOGPROB WHILE ## ## Concrete syntax: transformed data { increment_log_prob while ## -## Ends in an error in state: 429. +## Ends in an error in state: 428. ## -## atomic_statement -> INCREMENTLOGPROB . LPAREN lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> INCREMENTLOGPROB . LPAREN non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB . LPAREN lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> INCREMENTLOGPROB . LPAREN non_lhs RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## INCREMENTLOGPROB @@ -2244,7 +2244,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACE REALNUMERAL COMMA WHILE ## ## Concrete syntax: transformed data { { 3.1415 , while ## -## Ends in an error in state: 253. +## Ends in an error in state: 252. ## ## separated_nonempty_list(COMMA,expression) -> non_lhs COMMA . separated_nonempty_list(COMMA,expression) [ RPAREN RBRACK RBRACE ] ## @@ -2258,10 +2258,10 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACE VOID ## ## Concrete syntax: transformed data { { void ## -## Ends in an error in state: 428. +## Ends in an error in state: 427. ## ## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] -## nested_statement -> LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## LBRACE @@ -2273,7 +2273,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK IDENTIFIER COMMA WHILE ## ## Concrete syntax: transformed data { [ foo , while ## -## Ends in an error in state: 257. +## Ends in an error in state: 256. ## ## separated_nonempty_list(COMMA,expression) -> lhs COMMA . separated_nonempty_list(COMMA,expression) [ RPAREN RBRACK RBRACE ] ## @@ -2285,13 +2285,13 @@ Ill-formed expression. We expect a comma separated list of expressions. program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RPAREN ## Concrete syntax: data { array [ foo ) -program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK UPPER TILDE -## Concrete syntax: transformed data { 3.1415 [ upper ~ +program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK IDENTIFIER TILDE +## Concrete syntax: transformed data { 3.1415 [ foo ~ program: TRANSFORMEDDATABLOCK LBRACE LBRACK IDENTIFIER RPAREN ## ## Concrete syntax: transformed data { [ foo ) ## -## Ends in an error in state: 291. +## Ends in an error in state: 290. ## ## common_expression -> LBRACK loption(separated_nonempty_list(COMMA,expression)) . RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -2302,9 +2302,9 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK IDENTIFIER RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed expression. We expect a comma separated list of expressions, followed by "]". @@ -2313,7 +2313,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK IDENTIFIER TILDE ## ## Concrete syntax: transformed data { [ foo ~ ## -## Ends in an error in state: 256. +## Ends in an error in state: 255. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] @@ -2370,7 +2370,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. We found an L-value. Parse failed on token after the L-value. @@ -2379,7 +2379,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK WHILE ## ## Concrete syntax: transformed data { [ while ## -## Ends in an error in state: 103. +## Ends in an error in state: 102. ## ## common_expression -> LBRACK . loption(separated_nonempty_list(COMMA,expression)) RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -2389,13 +2389,13 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK WHILE Comma separated list of expressions followed by "]" expected after "[". -program: TRANSFORMEDDATABLOCK LBRACE LPAREN UPPER COMMA UPPER RBRACK -## Concrete syntax: transformed data { ( upper , upper ] +program: TRANSFORMEDDATABLOCK LBRACE LPAREN IDENTIFIER COMMA IDENTIFIER RBRACK +## Concrete syntax: transformed data { ( foo , foo ] program: TRANSFORMEDDATABLOCK LBRACE LPAREN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { ( foo ~ ## -## Ends in an error in state: 298. +## Ends in an error in state: 297. ## ## common_expression -> LPAREN lhs . COMMA separated_nonempty_list(COMMA,expression) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## common_expression -> LPAREN lhs . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] @@ -2452,7 +2452,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LPAREN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found "(" followed by expression. Expect a "[", "," or ")" or an infix or postfix operator. @@ -2461,7 +2461,7 @@ program: TRANSFORMEDDATABLOCK LBRACE MINUS IDENTIFIER LBRACK RBRACK WHILE ## ## Concrete syntax: transformed data { - foo [ ] while ## -## Ends in an error in state: 304. +## Ends in an error in state: 303. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] @@ -2520,7 +2520,7 @@ program: TRANSFORMEDDATABLOCK LBRACE MINUS WHILE ## ## Concrete syntax: transformed data { - while ## -## Ends in an error in state: 101. +## Ends in an error in state: 100. ## ## non_lhs -> MINUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> MINUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -2535,7 +2535,7 @@ program: TRANSFORMEDDATABLOCK LBRACE PLUS IDENTIFIER LBRACK RBRACK WHILE ## ## Concrete syntax: transformed data { + foo [ ] while ## -## Ends in an error in state: 306. +## Ends in an error in state: 305. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] @@ -2594,7 +2594,7 @@ program: TRANSFORMEDDATABLOCK LBRACE PLUS WHILE ## ## Concrete syntax: transformed data { + while ## -## Ends in an error in state: 100. +## Ends in an error in state: 99. ## ## non_lhs -> PLUS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> PLUS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -2609,9 +2609,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN STRINGLITERAL WHILE ## ## Concrete syntax: transformed data { print ( "hello world" while ## -## Ends in an error in state: 425. +## Ends in an error in state: 424. ## -## atomic_statement -> PRINT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> PRINT LPAREN printables . RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## printables -> printables . COMMA printables [ RPAREN COMMA ] ## ## The known suffix of the stack is as follows: @@ -2624,9 +2624,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN IDENTIFIER RPAREN WHILE ## ## Concrete syntax: transformed data { print ( foo ) while ## -## Ends in an error in state: 426. +## Ends in an error in state: 425. ## -## atomic_statement -> PRINT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> PRINT LPAREN printables RPAREN . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PRINT LPAREN printables RPAREN @@ -2638,9 +2638,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PRINT LPAREN WHILE ## ## Concrete syntax: transformed data { print ( while ## -## Ends in an error in state: 424. +## Ends in an error in state: 423. ## -## atomic_statement -> PRINT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> PRINT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PRINT LPAREN @@ -2652,9 +2652,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PRINT WHILE ## ## Concrete syntax: transformed data { print while ## -## Ends in an error in state: 423. +## Ends in an error in state: 422. ## -## atomic_statement -> PRINT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> PRINT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PRINT @@ -2666,7 +2666,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RBRACE ELTTIMESASSIGN ## ## Concrete syntax: transformed data { } .*= ## -## Ends in an error in state: 894. +## Ends in an error in state: 892. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) . option(parameters_block) option(transformed_parameters_block) option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -2676,92 +2676,92 @@ program: TRANSFORMEDDATABLOCK LBRACE RBRACE ELTTIMESASSIGN Expected "parameters {", "transformed parameters {", "model {", "generated quantities {" or end-of-file after end of transformed data block. -program: TRANSFORMEDDATABLOCK LBRACE UPPER QMARK UPPER COLON UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper ? upper : upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER QMARK DOTNUMERAL COLON UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper ? .2 : upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTPOW UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper .^ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTTIMES UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper .* upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER RABRACK UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper > upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER TIMES UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper * upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER EQUALS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper == upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER GEQ UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper >= upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER HAT UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper ^ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER IDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper %/% upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER LDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper \ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER LABRACK UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper < upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER LEQ UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper <= upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper ./ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER AND UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper && upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL TIMES UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 * upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL QMARK UPPER COLON UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 ? upper : upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL RABRACK UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 > upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER MINUS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper - upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER MINUSASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper -= .2 ~ -program: TRANSFORMEDDATABLOCK LBRACE UPPER MODULO UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper % upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER NEQUALS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper != upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER OR UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper || upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER PLUS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper + upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL QMARK DOTNUMERAL COLON UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 ? .2 : upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL AND UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 && upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL DIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 / upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 ./ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTPOW UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 .^ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE UPPER DIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { upper / upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTTIMES UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 .* upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL EQUALS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 == upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL GEQ UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 >= upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL HAT UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 ^ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL IDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 %/% upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LABRACK UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 < upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LDIVIDE UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 \ upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LEQ UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 <= upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL MINUS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 - upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL MODULO UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 % upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL NEQUALS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 != upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL OR UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 || upper ' while -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL PLUS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { .2 + upper ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER QMARK IDENTIFIER COLON IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo ? foo : foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER QMARK DOTNUMERAL COLON IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo ? .2 : foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTPOW IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo .^ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTTIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo .* foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER RABRACK IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo > foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo * foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER EQUALS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo == foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER GEQ IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo >= foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER HAT IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo ^ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER IDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo %/% foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo \ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LABRACK IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo < foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LEQ IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo <= foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo ./ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER AND IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo && foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL TIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 * foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL QMARK IDENTIFIER COLON IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 ? foo : foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL RABRACK IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 > foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo - foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUSASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo -= .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MODULO IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo % foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER NEQUALS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo != foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER OR IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo || foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER PLUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo + foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL QMARK DOTNUMERAL COLON IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 ? .2 : foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL AND IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 && foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL DIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 / foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 ./ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTPOW IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 .^ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { foo / foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL ELTTIMES IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 .* foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL EQUALS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 == foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL GEQ IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 >= foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL HAT IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 ^ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL IDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 %/% foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LABRACK IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 < foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LDIVIDE IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 \ foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LEQ IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 <= foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL MINUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 - foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL MODULO IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 % foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL NEQUALS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 != foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL OR IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 || foo ' while +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL PLUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { .2 + foo ' while program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL SEMICOLON ## Concrete syntax: transformed data { .2 ; program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND IDENTIFIER LBRACK RBRACK WHILE @@ -2858,7 +2858,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK WHILE ## ## Concrete syntax: transformed data { 3.1415 [ while ## -## Ends in an error in state: 114. +## Ends in an error in state: 113. ## ## non_lhs -> non_lhs LBRACK . indexes RBRACK [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## @@ -2939,7 +2939,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW WHILE ## ## Concrete syntax: transformed data { 3.1415 .^ while ## -## Ends in an error in state: 123. +## Ends in an error in state: 122. ## ## non_lhs -> non_lhs ELTPOW . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs ELTPOW . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -2950,8 +2950,8 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTPOW WHILE Found an incomplete binary expression - are you missing the right hand side? -program: TRANSFORMEDDATABLOCK LBRACE UPPER QMARK DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper ? .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER QMARK DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo ? .2 ~ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL QMARK DOTNUMERAL TILDE ## Concrete syntax: transformed data { .2 ? .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER QMARK REALNUMERAL COLON WHILE @@ -2972,7 +2972,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL QMARK WHILE ## ## Concrete syntax: transformed data { 3.1415 ? while ## -## Ends in an error in state: 149. +## Ends in an error in state: 148. ## ## non_lhs -> non_lhs QMARK . lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs QMARK . lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -2992,7 +2992,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL AND WHILE ## ## Concrete syntax: transformed data { 3.1415 && while ## -## Ends in an error in state: 221. +## Ends in an error in state: 220. ## ## non_lhs -> non_lhs AND . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs AND . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3010,7 +3010,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL IDIVIDE WHILE ## ## Concrete syntax: transformed data { 3.1415 %/% while ## -## Ends in an error in state: 135. +## Ends in an error in state: 134. ## ## non_lhs -> non_lhs IDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs IDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3025,7 +3025,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL DIVIDE WHILE ## ## Concrete syntax: transformed data { 3.1415 / while ## -## Ends in an error in state: 171. +## Ends in an error in state: 170. ## ## non_lhs -> non_lhs DIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs DIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3041,7 +3041,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTDIVIDE WHILE ## ## Concrete syntax: transformed data { 3.1415 ./ while ## -## Ends in an error in state: 168. +## Ends in an error in state: 167. ## ## non_lhs -> non_lhs ELTDIVIDE . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs ELTDIVIDE . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3058,7 +3058,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL ELTTIMES WHILE ## ## Concrete syntax: transformed data { 3.1415 .* while ## -## Ends in an error in state: 157. +## Ends in an error in state: 156. ## ## non_lhs -> non_lhs ELTTIMES . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs ELTTIMES . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3073,7 +3073,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL EQUALS WHILE ## ## Concrete syntax: transformed data { 3.1415 == while ## -## Ends in an error in state: 218. +## Ends in an error in state: 217. ## ## non_lhs -> non_lhs EQUALS . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs EQUALS . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3088,7 +3088,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL GEQ WHILE ## ## Concrete syntax: transformed data { 3.1415 >= while ## -## Ends in an error in state: 202. +## Ends in an error in state: 201. ## ## non_lhs -> non_lhs GEQ . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs GEQ . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3103,7 +3103,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL HAT WHILE ## ## Concrete syntax: transformed data { 3.1415 ^ while ## -## Ends in an error in state: 121. +## Ends in an error in state: 120. ## ## non_lhs -> non_lhs HAT . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs HAT . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3118,7 +3118,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LABRACK WHILE ## ## Concrete syntax: transformed data { 3.1415 < while ## -## Ends in an error in state: 199. +## Ends in an error in state: 198. ## ## non_lhs -> non_lhs LABRACK . lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs LABRACK . non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3135,7 +3135,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON IDENTIFIER TILDE ## ## Concrete syntax: transformed data { 3.1415 [ : foo ~ ## -## Ends in an error in state: 285. +## Ends in an error in state: 284. ## ## indexes -> COLON lhs . [ RBRACK COMMA ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] @@ -3191,18 +3191,18 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found ":" expression. We expect either an infix or postfix operator, or "," or or "[" or "]" next. -program: TRANSFORMEDDATABLOCK LBRACE MINUS UPPER TRANSPOSE WHILE -## Concrete syntax: transformed data { - upper ' while -program: TRANSFORMEDDATABLOCK LBRACE PLUS UPPER TRANSPOSE WHILE +program: TRANSFORMEDDATABLOCK LBRACE MINUS IDENTIFIER TRANSPOSE WHILE +## Concrete syntax: transformed data { - foo ' while +program: TRANSFORMEDDATABLOCK LBRACE PLUS IDENTIFIER TRANSPOSE WHILE ## -## Concrete syntax: transformed data { + upper ' while +## Concrete syntax: transformed data { + foo ' while ## -## Ends in an error in state: 305. +## Ends in an error in state: 304. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -3260,7 +3260,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COLON WHILE ## ## Concrete syntax: transformed data { 3.1415 [ : while ## -## Ends in an error in state: 115. +## Ends in an error in state: 114. ## ## indexes -> COLON . [ RBRACK COMMA ] ## indexes -> COLON . lhs [ RBRACK COMMA ] @@ -3276,7 +3276,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK COMMA WHILE ## ## Concrete syntax: transformed data { 3.1415 [ , while ## -## Ends in an error in state: 280. +## Ends in an error in state: 279. ## ## indexes -> indexes COMMA . indexes [ RBRACK COMMA ] ## @@ -3290,7 +3290,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL LBRACK REALNUMERAL COLON WHILE ## ## Concrete syntax: transformed data { 3.1415 [ 3.1415 : while ## -## Ends in an error in state: 271. +## Ends in an error in state: 270. ## ## indexes -> non_lhs COLON . [ RBRACK COMMA ] ## indexes -> non_lhs COLON . lhs [ RBRACK COMMA ] @@ -3307,9 +3307,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ , ] multiplier ## -## Ends in an error in state: 501. +## Ends in an error in state: 499. ## -## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) @@ -3321,7 +3321,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ , foo , ## -## Ends in an error in state: 496. +## Ends in an error in state: 494. ## ## truncation -> TRUNCATE LBRACK option(expression) COMMA option(expression) . RBRACK [ SEMICOLON ] ## @@ -3332,8 +3332,8 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 499, spurious reduction of production option(expression) -> lhs +## In state 144, spurious reduction of production lhs -> identifier +## In state 497, spurious reduction of production option(expression) -> lhs ## Ill-formed truncation. Expect the format "T[" optional expression "," optional expression "];". @@ -3342,7 +3342,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ , while ## -## Ends in an error in state: 495. +## Ends in an error in state: 493. ## ## truncation -> TRUNCATE LBRACK option(expression) COMMA . option(expression) RBRACK [ SEMICOLON ] ## @@ -3356,7 +3356,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ foo ] ## -## Ends in an error in state: 494. +## Ends in an error in state: 492. ## ## truncation -> TRUNCATE LBRACK option(expression) . COMMA option(expression) RBRACK [ SEMICOLON ] ## @@ -3367,8 +3367,8 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 499, spurious reduction of production option(expression) -> lhs +## In state 144, spurious reduction of production lhs -> identifier +## In state 497, spurious reduction of production option(expression) -> lhs ## Ill-formed truncation. Expect the format "T[" optional expression "," optional expression "];". @@ -3377,7 +3377,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ foo ~ ## -## Ends in an error in state: 499. +## Ends in an error in state: 497. ## ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] @@ -3433,7 +3433,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed expression. Found an expression. Expect a infix or postfix operator or "[" or "]" or "," next. @@ -3442,7 +3442,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T [ while ## -## Ends in an error in state: 493. +## Ends in an error in state: 491. ## ## truncation -> TRUNCATE LBRACK . option(expression) COMMA option(expression) RBRACK [ SEMICOLON ] ## @@ -3456,7 +3456,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) T while ## -## Ends in an error in state: 492. +## Ends in an error in state: 490. ## ## truncation -> TRUNCATE . LBRACK option(expression) COMMA option(expression) RBRACK [ SEMICOLON ] ## @@ -3470,9 +3470,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN RPAREN ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( ) while ## -## Ends in an error in state: 491. +## Ends in an error in state: 489. ## -## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN @@ -3484,9 +3484,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN IDENTIF ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( foo ] ## -## Ends in an error in state: 490. +## Ends in an error in state: 488. ## -## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) @@ -3495,9 +3495,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN IDENTIF ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed "~"-statement. Expect a comma separated list of expressions for arguments to the distribution, followed by ")". @@ -3506,9 +3506,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER LPAREN WHILE ## ## Concrete syntax: transformed data { 3.1415 ~ foo ( while ## -## Ends in an error in state: 489. +## Ends in an error in state: 487. ## -## atomic_statement -> non_lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE identifier LPAREN @@ -3520,9 +3520,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE IDENTIFIER WHILE ## ## Concrete syntax: transformed data { 3.1415 ~ foo while ## -## Ends in an error in state: 488. +## Ends in an error in state: 486. ## -## atomic_statement -> non_lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE identifier @@ -3534,9 +3534,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REALNUMERAL TILDE WHILE ## ## Concrete syntax: transformed data { 3.1415 ~ while ## -## Ends in an error in state: 487. +## Ends in an error in state: 485. ## -## atomic_statement -> non_lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> non_lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## non_lhs TILDE @@ -3548,7 +3548,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN IDENTIFIER COMMA STRINGLITERA ## ## Concrete syntax: transformed data { reject ( foo , "hello world" while ## -## Ends in an error in state: 415. +## Ends in an error in state: 414. ## ## printables -> printables . COMMA printables [ RPAREN COMMA ] ## printables -> printables COMMA printables . [ RPAREN COMMA ] @@ -3563,7 +3563,7 @@ program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN IDENTIFIER COMMA WHILE ## ## Concrete syntax: transformed data { reject ( foo , while ## -## Ends in an error in state: 414. +## Ends in an error in state: 413. ## ## printables -> printables COMMA . printables [ RPAREN COMMA ] ## @@ -3585,9 +3585,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REJECT LPAREN WHILE ## ## Concrete syntax: transformed data { reject ( while ## -## Ends in an error in state: 408. +## Ends in an error in state: 407. ## -## atomic_statement -> REJECT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> REJECT LPAREN . printables RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## REJECT LPAREN @@ -3599,9 +3599,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REJECT WHILE ## ## Concrete syntax: transformed data { reject while ## -## Ends in an error in state: 407. +## Ends in an error in state: 406. ## -## atomic_statement -> REJECT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> REJECT . LPAREN printables RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## REJECT @@ -3613,7 +3613,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE IDENTIFIER RPAREN ## ## Concrete syntax: transformed data { return { foo ) ## -## Ends in an error in state: 289. +## Ends in an error in state: 288. ## ## common_expression -> LBRACE separated_nonempty_list(COMMA,expression) . RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -3624,8 +3624,8 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE IDENTIFIER RPAREN ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs ## Expected either "," followed by expression or "}" next. @@ -3634,7 +3634,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LBRACE WHILE ## ## Concrete syntax: transformed data { return { while ## -## Ends in an error in state: 104. +## Ends in an error in state: 103. ## ## common_expression -> LBRACE . separated_nonempty_list(COMMA,expression) RBRACE [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -3648,7 +3648,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN TARGET WHILE ## ## Concrete syntax: transformed data { return target while ## -## Ends in an error in state: 96. +## Ends in an error in state: 95. ## ## common_expression -> TARGET . LPAREN RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -3662,7 +3662,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER LPAREN IDENTIFIER COMMA I ## ## Concrete syntax: transformed data { return foo ( foo , foo ] ## -## Ends in an error in state: 262. +## Ends in an error in state: 261. ## ## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -3673,10 +3673,10 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER LPAREN IDENTIFIER COMMA I ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 258, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 257, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed expression. In function application, expect comma-separated list of expressions followed by ")", after "(". @@ -3685,7 +3685,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER LPAREN WHILE ## ## Concrete syntax: transformed data { return foo ( while ## -## Ends in an error in state: 146. +## Ends in an error in state: 145. ## ## common_expression -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## common_expression -> identifier LPAREN . lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] @@ -3705,9 +3705,9 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { return foo ~ ## -## Ends in an error in state: 405. +## Ends in an error in state: 404. ## -## atomic_statement -> RETURN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> RETURN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3761,7 +3761,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed return statement. ";" or expression followed by ";" expected after "return". @@ -3770,7 +3770,7 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN IDENTIFIER WHILE ## ## Concrete syntax: transformed data { return foo while ## -## Ends in an error in state: 145. +## Ends in an error in state: 144. ## ## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## common_expression -> identifier . LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] @@ -3787,7 +3787,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET LPAREN WHILE ## ## Concrete syntax: transformed data { target ( while ## -## Ends in an error in state: 97. +## Ends in an error in state: 96. ## ## common_expression -> TARGET LPAREN . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -3805,9 +3805,9 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { target += foo ~ ## -## Ends in an error in state: 398. +## Ends in an error in state: 397. ## -## atomic_statement -> TARGET PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> TARGET PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3861,7 +3861,7 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET PLUSASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed statement. Expression followed by ";" expected after "target +=". @@ -3870,10 +3870,10 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET WHILE ## ## Concrete syntax: transformed data { target while ## -## Ends in an error in state: 394. +## Ends in an error in state: 393. ## -## atomic_statement -> TARGET . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> TARGET . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> TARGET . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> TARGET . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## common_expression -> TARGET . LPAREN RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## ## The known suffix of the stack is as follows: @@ -3882,15 +3882,15 @@ program: TRANSFORMEDDATABLOCK LBRACE TARGET WHILE Ill-formed phrase. Expect either "+=" or "()" after "target". -program: TRANSFORMEDDATABLOCK LBRACE UPPER ARROWASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper <- .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ARROWASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo <- .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ARROWASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo <- foo ~ ## -## Ends in an error in state: 550. +## Ends in an error in state: 548. ## -## atomic_statement -> lhs ARROWASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ARROWASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -3944,7 +3944,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ARROWASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "<-" expression. There are many ways in which this can be completed to a valid phrase. @@ -3953,10 +3953,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ARROWASSIGN WHILE ## ## Concrete syntax: transformed data { foo <- while ## -## Ends in an error in state: 547. +## Ends in an error in state: 545. ## -## atomic_statement -> lhs ARROWASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs ARROWASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ARROWASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ARROWASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs ARROWASSIGN @@ -3964,15 +3964,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ARROWASSIGN WHILE Ill-formed expression. Found L-value "<-". Expect an expression followed by ";" next. -program: TRANSFORMEDDATABLOCK LBRACE UPPER ASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper = .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo = .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo = foo ~ ## -## Ends in an error in state: 545. +## Ends in an error in state: 543. ## -## atomic_statement -> lhs ASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4026,7 +4026,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4035,10 +4035,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ASSIGN WHILE ## ## Concrete syntax: transformed data { foo = while ## -## Ends in an error in state: 542. +## Ends in an error in state: 540. ## -## atomic_statement -> lhs ASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs ASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs ASSIGN @@ -4046,15 +4046,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ASSIGN WHILE Ill-formed expression. Found L-value "=". Expect an expression followed by ";" next. -program: TRANSFORMEDDATABLOCK LBRACE UPPER DIVIDEASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper /= .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDEASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo /= .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDEASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo /= foo ~ ## -## Ends in an error in state: 540. +## Ends in an error in state: 538. ## -## atomic_statement -> lhs DIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs DIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4108,7 +4108,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDEASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "/=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4117,10 +4117,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDEASSIGN WHILE ## ## Concrete syntax: transformed data { foo /= while ## -## Ends in an error in state: 537. +## Ends in an error in state: 535. ## -## atomic_statement -> lhs DIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs DIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs DIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs DIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs DIVIDEASSIGN @@ -4128,15 +4128,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER DIVIDEASSIGN WHILE Ill-formed expression. Found L-value "/=". Expect an expression followed by ";" next. -program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTDIVIDEASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper ./= .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDEASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo ./= .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDEASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo ./= foo ~ ## -## Ends in an error in state: 535. +## Ends in an error in state: 533. ## -## atomic_statement -> lhs ELTDIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTDIVIDEASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4190,7 +4190,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDEASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "./=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4199,10 +4199,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDEASSIGN WHILE ## ## Concrete syntax: transformed data { foo ./= while ## -## Ends in an error in state: 532. +## Ends in an error in state: 530. ## -## atomic_statement -> lhs ELTDIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs ELTDIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTDIVIDEASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTDIVIDEASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs ELTDIVIDEASSIGN @@ -4210,15 +4210,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTDIVIDEASSIGN WHILE Ill-formed expression. Found L-value "./=". Expect an expression followed by ";" next. -program: TRANSFORMEDDATABLOCK LBRACE UPPER ELTTIMESASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper .*= .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTTIMESASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo .*= .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTTIMESASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo .*= foo ~ ## -## Ends in an error in state: 530. +## Ends in an error in state: 528. ## -## atomic_statement -> lhs ELTTIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs ELTTIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4272,7 +4272,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER ELTTIMESASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value ".*=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4281,7 +4281,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN REALNUMERAL BAR IDENTIFIE ## ## Concrete syntax: transformed data { foo ( 3.1415 | foo ] ## -## Ends in an error in state: 260. +## Ends in an error in state: 259. ## ## common_expression -> identifier LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -4292,9 +4292,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN REALNUMERAL BAR IDENTIFIE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by ")" after "|". @@ -4303,7 +4303,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN REALNUMERAL BAR WHILE ## ## Concrete syntax: transformed data { foo ( 3.1415 | while ## -## Ends in an error in state: 259. +## Ends in an error in state: 258. ## ## common_expression -> identifier LPAREN non_lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -4317,9 +4317,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN RPAREN WHILE ## ## Concrete syntax: transformed data { foo ( ) while ## -## Ends in an error in state: 555. +## Ends in an error in state: 553. ## -## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## ## The known suffix of the stack is as follows: @@ -4332,7 +4332,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER BAR IDENTIFIER ## ## Concrete syntax: transformed data { foo ( foo | foo ] ## -## Ends in an error in state: 266. +## Ends in an error in state: 265. ## ## common_expression -> identifier LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -4343,9 +4343,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER BAR IDENTIFIER ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by ")" after "|". @@ -4354,7 +4354,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER BAR WHILE ## ## Concrete syntax: transformed data { foo ( foo | while ## -## Ends in an error in state: 265. +## Ends in an error in state: 264. ## ## common_expression -> identifier LPAREN lhs BAR . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -4364,15 +4364,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER BAR WHILE Ill-formed conditional distribution evaluation. Expect comma-separated list of expressions followed by ")" after "|". -program: TRANSFORMEDDATABLOCK LBRACE UPPER LPAREN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper ( .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo ( .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER COMMA IDENTIFIER RBRACK ## ## Concrete syntax: transformed data { foo ( foo , foo ] ## -## Ends in an error in state: 554. +## Ends in an error in state: 552. ## -## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## common_expression -> identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## ## The known suffix of the stack is as follows: @@ -4382,10 +4382,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER COMMA IDENTIFI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 258, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 257, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs COMMA separated_nonempty_list(COMMA,expression) +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed function application. Expect comma-separated list of expressions followed by ")" after "(". @@ -4394,7 +4394,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo ( foo ~ ## -## Ends in an error in state: 264. +## Ends in an error in state: 263. ## ## common_expression -> identifier LPAREN lhs . BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES RPAREN RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA BAR AND ] @@ -4452,7 +4452,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed function application. Expect comma-separated list of expressions followed by ")" after "(". @@ -4461,9 +4461,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LPAREN WHILE ## ## Concrete syntax: transformed data { foo ( while ## -## Ends in an error in state: 553. +## Ends in an error in state: 551. ## -## atomic_statement -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## common_expression -> identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## common_expression -> identifier LPAREN . lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## common_expression -> identifier LPAREN . non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] @@ -4478,9 +4478,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUSASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo -= foo ~ ## -## Ends in an error in state: 525. +## Ends in an error in state: 523. ## -## atomic_statement -> lhs MINUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs MINUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4534,7 +4534,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUSASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "-=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4543,10 +4543,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUSASSIGN WHILE ## ## Concrete syntax: transformed data { foo -= while ## -## Ends in an error in state: 522. +## Ends in an error in state: 520. ## -## atomic_statement -> lhs MINUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs MINUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs MINUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs MINUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs MINUSASSIGN @@ -4554,15 +4554,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER MINUSASSIGN WHILE Ill-formed expression. Found L-value "-=". Expect an expression followed by ";" next. -program: TRANSFORMEDDATABLOCK LBRACE UPPER PLUSASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper += .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER PLUSASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo += .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER PLUSASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo += foo ~ ## -## Ends in an error in state: 520. +## Ends in an error in state: 518. ## -## atomic_statement -> lhs PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs PLUSASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4616,7 +4616,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER PLUSASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "+=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4625,10 +4625,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER PLUSASSIGN WHILE ## ## Concrete syntax: transformed data { foo += while ## -## Ends in an error in state: 517. +## Ends in an error in state: 515. ## -## atomic_statement -> lhs PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs PLUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs PLUSASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs PLUSASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs PLUSASSIGN @@ -4640,25 +4640,25 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER RBRACE ## ## Concrete syntax: transformed data { foo } ## -## Ends in an error in state: 504. -## -## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## Ends in an error in state: 502. +## +## atomic_statement -> lhs . ASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ARROWASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . PLUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . MINUSASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . DIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTTIMESASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . ELTDIVIDEASSIGN non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs . TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMESASSIGN TIMES TILDE RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DOTNUMERAL DIVIDEASSIGN DIVIDE ASSIGN ARROWASSIGN AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMESASSIGN TIMES TILDE RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DOTNUMERAL DIVIDEASSIGN DIVIDE ASSIGN ARROWASSIGN AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES TILDE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4712,7 +4712,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 552, spurious reduction of production lhs -> identifier +## In state 550, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value. This can be completed in many ways. @@ -4721,9 +4721,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER LPAREN RPAREN T ## ## Concrete syntax: transformed data { foo ~ foo ( ) T [ , ] multiplier ## -## Ends in an error in state: 515. +## Ends in an error in state: 513. ## -## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) @@ -4735,9 +4735,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER LPAREN RPAREN W ## ## Concrete syntax: transformed data { foo ~ foo ( ) while ## -## Ends in an error in state: 514. +## Ends in an error in state: 512. ## -## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN . option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN @@ -4749,9 +4749,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER LPAREN IDENTIFI ## ## Concrete syntax: transformed data { foo ~ foo ( foo ] ## -## Ends in an error in state: 513. +## Ends in an error in state: 511. ## -## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) . RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) @@ -4760,9 +4760,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER LPAREN IDENTIFI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 256, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs -## In state 147, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) +## In state 144, spurious reduction of production lhs -> identifier +## In state 255, spurious reduction of production separated_nonempty_list(COMMA,expression) -> lhs +## In state 146, spurious reduction of production loption(separated_nonempty_list(COMMA,expression)) -> separated_nonempty_list(COMMA,expression) ## Ill-formed "~"-statement. Expected "," or ")". @@ -4771,9 +4771,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER LPAREN WHILE ## ## Concrete syntax: transformed data { foo ~ foo ( while ## -## Ends in an error in state: 512. +## Ends in an error in state: 510. ## -## atomic_statement -> lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE identifier LPAREN . loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE identifier LPAREN @@ -4785,9 +4785,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE IDENTIFIER WHILE ## ## Concrete syntax: transformed data { foo ~ foo while ## -## Ends in an error in state: 511. +## Ends in an error in state: 509. ## -## atomic_statement -> lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE identifier @@ -4799,9 +4799,9 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE WHILE ## ## Concrete syntax: transformed data { foo ~ while ## -## Ends in an error in state: 510. +## Ends in an error in state: 508. ## -## atomic_statement -> lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TILDE . identifier LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN option(truncation) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TILDE @@ -4809,15 +4809,15 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TILDE WHILE Ill-formed "~"-statement. Expected identifier for distribution name after "~". -program: TRANSFORMEDDATABLOCK LBRACE UPPER TIMESASSIGN DOTNUMERAL TILDE -## Concrete syntax: transformed data { upper *= .2 ~ +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TIMESASSIGN DOTNUMERAL TILDE +## Concrete syntax: transformed data { foo *= .2 ~ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TIMESASSIGN IDENTIFIER TILDE ## ## Concrete syntax: transformed data { foo *= foo ~ ## -## Ends in an error in state: 508. +## Ends in an error in state: 506. ## -## atomic_statement -> lhs TIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TIMESASSIGN lhs . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## lhs -> lhs . LBRACK indexes RBRACK [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## lhs -> lhs . DOTNUMERAL [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE AND ] ## non_lhs -> lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES SEMICOLON RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE AND ] @@ -4871,7 +4871,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TIMESASSIGN IDENTIFIER TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier +## In state 144, spurious reduction of production lhs -> identifier ## Ill-formed phrase. Found L-value "*=" expression. There are many ways in which this can be completed to a valid phrase. @@ -4880,10 +4880,10 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER TIMESASSIGN WHILE ## ## Concrete syntax: transformed data { foo *= while ## -## Ends in an error in state: 505. +## Ends in an error in state: 503. ## -## atomic_statement -> lhs TIMESASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## atomic_statement -> lhs TIMESASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TIMESASSIGN . lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> lhs TIMESASSIGN . non_lhs SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## lhs TIMESASSIGN @@ -4895,10 +4895,10 @@ program: TRANSFORMEDDATABLOCK LBRACE VECTOR LBRACK INTNUMERAL RBRACK HAT ## ## Concrete syntax: transformed data { vector [ 24 ] ^ ## -## Ends in an error in state: 875. +## Ends in an error in state: 873. ## -## decl(top_var_type,expression) -> top_var_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## decl(top_var_type,expression) -> top_var_type . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(top_var_type,expression) -> top_var_type . decl_identifier dims optional_assignment(expression) SEMICOLON [ WHILE VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(top_var_type,expression) -> top_var_type . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## top_var_type @@ -4910,7 +4910,7 @@ program: TRANSFORMEDDATABLOCK LBRACE VOID ## ## Concrete syntax: transformed data { void ## -## Ends in an error in state: 869. +## Ends in an error in state: 867. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -4924,9 +4924,9 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN REALNUMERAL RPAREN VOID ## ## Concrete syntax: transformed data { while ( 3.1415 ) void ## -## Ends in an error in state: 308. +## Ends in an error in state: 307. ## -## nested_statement -> WHILE LPAREN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE LPAREN non_lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## WHILE LPAREN non_lhs RPAREN @@ -4938,9 +4938,9 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN IDENTIFIER RPAREN VOID ## ## Concrete syntax: transformed data { while ( foo ) void ## -## Ends in an error in state: 598. +## Ends in an error in state: 596. ## -## nested_statement -> WHILE LPAREN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE LPAREN lhs RPAREN . vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## WHILE LPAREN lhs RPAREN @@ -4956,10 +4956,10 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE LPAREN WHILE ## ## Concrete syntax: transformed data { while ( while ## -## Ends in an error in state: 95. +## Ends in an error in state: 94. ## -## nested_statement -> WHILE LPAREN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> WHILE LPAREN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE LPAREN . lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE LPAREN . non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## WHILE LPAREN @@ -4971,10 +4971,10 @@ program: TRANSFORMEDDATABLOCK LBRACE WHILE WHILE ## ## Concrete syntax: transformed data { while while ## -## Ends in an error in state: 94. +## Ends in an error in state: 93. ## -## nested_statement -> WHILE . LPAREN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> WHILE . LPAREN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE . LPAREN lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> WHILE . LPAREN non_lhs RPAREN vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## WHILE @@ -4986,7 +4986,7 @@ program: TRANSFORMEDDATABLOCK WHILE ## ## Concrete syntax: transformed data while ## -## Ends in an error in state: 868. +## Ends in an error in state: 866. ## ## transformed_data_block -> TRANSFORMEDDATABLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ TRANSFORMEDPARAMETERSBLOCK PARAMETERSBLOCK MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -5000,7 +5000,7 @@ program: TRANSFORMEDPARAMETERSBLOCK LBRACE RBRACE ELTTIMESASSIGN ## ## Concrete syntax: transformed parameters { } .*= ## -## Ends in an error in state: 906. +## Ends in an error in state: 904. ## ## program -> option(function_block) option(data_block) option(transformed_data_block) option(parameters_block) option(transformed_parameters_block) . option(model_block) option(generated_quantities_block) EOF [ # ] ## @@ -5014,7 +5014,7 @@ program: TRANSFORMEDPARAMETERSBLOCK LBRACE VOID ## ## Concrete syntax: transformed parameters { void ## -## Ends in an error in state: 902. +## Ends in an error in state: 900. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK LBRACE . list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -5028,7 +5028,7 @@ program: TRANSFORMEDPARAMETERSBLOCK WHILE ## ## Concrete syntax: transformed parameters while ## -## Ends in an error in state: 901. +## Ends in an error in state: 899. ## ## transformed_parameters_block -> TRANSFORMEDPARAMETERSBLOCK . LBRACE list(top_vardecl_or_statement) RBRACE [ MODELBLOCK GENERATEDQUANTITIESBLOCK EOF ] ## @@ -5042,9 +5042,9 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ARROWASSIGN ## ## Concrete syntax: model { real foo [ foo ] <- ## -## Ends in an error in state: 483. +## Ends in an error in state: 481. ## -## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## sized_basic_type decl_identifier dims @@ -5056,9 +5056,9 @@ program: TRANSFORMEDDATABLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK AR ## ## Concrete syntax: transformed data { real foo [ foo ] <- ## -## Ends in an error in state: 880. +## Ends in an error in state: 878. ## -## decl(top_var_type,expression) -> top_var_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(top_var_type,expression) -> top_var_type decl_identifier dims . optional_assignment(expression) SEMICOLON [ WHILE VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## top_var_type decl_identifier dims @@ -5070,7 +5070,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER COMMA WHILE ## ## Concrete syntax: data { vector < upper = foo , while ## -## Ends in an error in state: 658. +## Ends in an error in state: 656. ## ## range -> UPPER ASSIGN constr_expression COMMA . LOWER ASSIGN constr_expression [ RABRACK ] ## @@ -5084,7 +5084,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER COMMA LOWER WHI ## ## Concrete syntax: data { vector < upper = foo , lower while ## -## Ends in an error in state: 659. +## Ends in an error in state: 657. ## ## range -> UPPER ASSIGN constr_expression COMMA LOWER . ASSIGN constr_expression [ RABRACK ] ## @@ -5098,7 +5098,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER COMMA LOWER ASS ## ## Concrete syntax: data { vector < upper = foo , lower = while ## -## Ends in an error in state: 660. +## Ends in an error in state: 658. ## ## range -> UPPER ASSIGN constr_expression COMMA LOWER ASSIGN . constr_expression [ RABRACK ] ## @@ -5112,7 +5112,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER COMMA LOWER ASS ## ## Concrete syntax: data { vector < upper = foo , lower = foo , ## -## Ends in an error in state: 661. +## Ends in an error in state: 659. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] ## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -5136,7 +5136,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK UPPER ASSIGN IDENTIFIER COMMA LOWER ASS ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 625, spurious reduction of production constr_expression -> identifier +## In state 623, spurious reduction of production constr_expression -> identifier ## Expected '>' after lower expression. @@ -5147,7 +5147,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER COMMA WHIL ## ## Concrete syntax: data { vector < multiplier = foo , while ## -## Ends in an error in state: 672. +## Ends in an error in state: 670. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA . OFFSET ASSIGN constr_expression [ RABRACK ] ## @@ -5161,7 +5161,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER COMMA OFFS ## ## Concrete syntax: data { vector < multiplier = foo , offset while ## -## Ends in an error in state: 673. +## Ends in an error in state: 671. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA OFFSET . ASSIGN constr_expression [ RABRACK ] ## @@ -5175,7 +5175,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER COMMA OFFS ## ## Concrete syntax: data { vector < multiplier = foo , offset = while ## -## Ends in an error in state: 674. +## Ends in an error in state: 672. ## ## offset_mult -> MULTIPLIER ASSIGN constr_expression COMMA OFFSET ASSIGN . constr_expression [ RABRACK ] ## @@ -5189,7 +5189,7 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER COMMA OFFS ## ## Concrete syntax: data { vector < multiplier = foo , offset = foo , ## -## Ends in an error in state: 675. +## Ends in an error in state: 673. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] ## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE ] @@ -5213,19 +5213,19 @@ program: DATABLOCK LBRACE VECTOR LABRACK MULTIPLIER ASSIGN IDENTIFIER COMMA OFFS ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 625, spurious reduction of production constr_expression -> identifier +## In state 623, spurious reduction of production constr_expression -> identifier ## Expected '>' after multiplier expression. -program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN UPPER RPAREN SEMICOLON UNREACHABLE +program: TRANSFORMEDDATABLOCK LBRACE IF LPAREN IDENTIFIER RPAREN SEMICOLON UNREACHABLE ## -## Concrete syntax: transformed data { if ( upper ) ; <<<>> +## Concrete syntax: transformed data { if ( foo ) ; <<<>> ## -## Ends in an error in state: 585. +## Ends in an error in state: 583. ## -## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement . ELSE vardecl_or_statement [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] -## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement . [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement . ELSE vardecl_or_statement [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> IF LPAREN lhs RPAREN vardecl_or_statement . [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## IF LPAREN lhs RPAREN vardecl_or_statement @@ -5237,7 +5237,7 @@ program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER LBRACK WHILE ## ## Concrete syntax: transformed data { foo [ while ## -## Ends in an error in state: 127. +## Ends in an error in state: 126. ## ## lhs -> lhs LBRACK . indexes RBRACK [ TRANSPOSE TIMESASSIGN TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DOTNUMERAL DIVIDEASSIGN DIVIDE COMMA COLON BAR ASSIGN ARROWASSIGN AND ] ## @@ -5250,8 +5250,8 @@ Expected an expression inside "[" and "]" but found a statement. Indexing should not var[for (n in 1:N) ...] -program: DATABLOCK LBRACE ARRAY LBRACK ARRAY RBRACK REAL WHILE ASSIGN UNREACHABLE WHILE -## Concrete syntax: data { array [ array ] real while = <<<>> while +program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL WHILE ASSIGN UNREACHABLE WHILE +## Concrete syntax: data { array [ foo ] real while = <<<>> while program: DATABLOCK LBRACE REAL WHILE COMMA WHILE ASSIGN UNREACHABLE WHILE ## Concrete syntax: data { real while , while = <<<>> while program: DATABLOCK LBRACE TUPLE LPAREN COMPLEX COMMA COMPLEX RPAREN WHILE ASSIGN UNREACHABLE WHILE @@ -5264,7 +5264,7 @@ program: DATABLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ASSIGN UNREAC ## ## Concrete syntax: data { real foo [ foo ] = <<<>> while ## -## Ends in an error in state: 856. +## Ends in an error in state: 854. ## ## decl(top_var_type,no_assign) -> top_var_type decl_identifier dims optional_assignment(no_assign) . SEMICOLON [ VECTOR UNITVECTOR TUPLE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## @@ -5285,7 +5285,7 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER COMMA UNREACHABLE ## ## Concrete syntax: model { real foo , <<<>> ## -## Ends in an error in state: 456. +## Ends in an error in state: 454. ## ## remaining_declarations(expression) -> COMMA . separated_nonempty_list(COMMA,id_and_optional_assignment(expression,decl_identifier_after_comma)) [ SEMICOLON ] ## @@ -5296,15 +5296,15 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER COMMA UNREACHABLE Expected a new identifier after comma in declaration. All variables declared must be of the same type, and any initializing assignment must follow the identifier before the next comma. -program: TRANSFORMEDDATABLOCK LBRACE REAL IDENTIFIER LBRACK ARRAY RBRACK ASSIGN ARRAY COMMA -## Concrete syntax: transformed data { real foo [ array ] = array , -program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ASSIGN ARRAY COMMA +program: TRANSFORMEDDATABLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ASSIGN IDENTIFIER COMMA +## Concrete syntax: transformed data { real foo [ foo ] = foo , +program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ASSIGN IDENTIFIER COMMA ## -## Concrete syntax: model { real foo [ foo ] = array , +## Concrete syntax: model { real foo [ foo ] = foo , ## -## Ends in an error in state: 484. +## Ends in an error in state: 482. ## -## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims optional_assignment(expression) . SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier dims optional_assignment(expression) . SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## sized_basic_type decl_identifier dims optional_assignment(expression) @@ -5313,9 +5313,9 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK ASSIGN ARRAY ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 145, spurious reduction of production lhs -> identifier -## In state 466, spurious reduction of production option(pair(ASSIGN,expression)) -> ASSIGN lhs -## In state 468, spurious reduction of production optional_assignment(expression) -> option(pair(ASSIGN,expression)) +## In state 144, spurious reduction of production lhs -> identifier +## In state 464, spurious reduction of production option(pair(ASSIGN,expression)) -> ASSIGN lhs +## In state 466, spurious reduction of production optional_assignment(expression) -> option(pair(ASSIGN,expression)) ## Multiple declarations are not allowed when array dimensions are given in TYPE IDENTIFIER[DIMENSIONS] form. @@ -5325,9 +5325,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE WHILE ## ## Concrete syntax: transformed data { profile while ## -## Ends in an error in state: 418. +## Ends in an error in state: 417. ## -## nested_statement -> PROFILE . LPAREN string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> PROFILE . LPAREN string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PROFILE @@ -5339,9 +5339,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN WHILE ## ## Concrete syntax: transformed data { profile ( while ## -## Ends in an error in state: 419. +## Ends in an error in state: 418. ## -## nested_statement -> PROFILE LPAREN . string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> PROFILE LPAREN . string_literal RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PROFILE LPAREN @@ -5354,9 +5354,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL WHILE ## ## Concrete syntax: transformed data { profile ( "hello world" while ## -## Ends in an error in state: 420. +## Ends in an error in state: 419. ## -## nested_statement -> PROFILE LPAREN string_literal . RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> PROFILE LPAREN string_literal . RPAREN LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PROFILE LPAREN string_literal @@ -5368,9 +5368,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL RPAREN WHILE ## ## Concrete syntax: transformed data { profile ( "hello world" ) while ## -## Ends in an error in state: 421. +## Ends in an error in state: 420. ## -## nested_statement -> PROFILE LPAREN string_literal RPAREN . LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> PROFILE LPAREN string_literal RPAREN . LBRACE list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PROFILE LPAREN string_literal RPAREN @@ -5382,9 +5382,9 @@ program: TRANSFORMEDDATABLOCK LBRACE PROFILE LPAREN STRINGLITERAL RPAREN LBRACE ## ## Concrete syntax: transformed data { profile ( "hello world" ) { void ## -## Ends in an error in state: 422. +## Ends in an error in state: 421. ## -## nested_statement -> PROFILE LPAREN string_literal RPAREN LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## nested_statement -> PROFILE LPAREN string_literal RPAREN LBRACE . list(vardecl_or_statement) RBRACE [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## PROFILE LPAREN string_literal RPAREN LBRACE @@ -5397,7 +5397,7 @@ program: DATABLOCK LBRACE COMPLEX UNREACHABLE ## ## Concrete syntax: data { complex <<<>> ## -## Ends in an error in state: 788. +## Ends in an error in state: 786. ## ## top_var_type -> COMPLEX . type_constraint [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -5426,7 +5426,7 @@ functions_only: VOID ARRAY LPAREN RPAREN SEMICOLON RBRACE ## ## Concrete syntax: void array ( ) ; } ## -## Ends in an error in state: 604. +## Ends in an error in state: 602. ## ## functions_only -> list(function_def) . EOF [ # ] ## @@ -5437,24 +5437,21 @@ functions_only: VOID ARRAY LPAREN RPAREN SEMICOLON RBRACE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 607, spurious reduction of production list(function_def) -> -## In state 608, spurious reduction of production list(function_def) -> function_def list(function_def) +## In state 605, spurious reduction of production list(function_def) -> +## In state 606, spurious reduction of production list(function_def) -> function_def list(function_def) ## Only function definitions/declarations are expected in '.stanfunctions' file functions_only: ARRAY IDENTIFIER ## Concrete syntax: array foo -program: DATABLOCK LBRACE ARRAY IDENTIFIER -## Concrete syntax: data { array foo program: TRANSFORMEDDATABLOCK LBRACE ARRAY IDENTIFIER ## ## Concrete syntax: transformed data { array foo ## -## Ends in an error in state: 451. +## Ends in an error in state: 365. ## ## arr_dims -> ARRAY . LBRACK separated_nonempty_list(COMMA,expression) RBRACK [ VECTOR UNITVECTOR TUPLE SIMPLEX ROWVECTOR REAL POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ] -## future_keyword -> ARRAY . [ TRANSPOSE TIMESASSIGN TIMES TILDE RBRACE RABRACK QMARK PLUSASSIGN PLUS OR NEQUALS MODULO MINUSASSIGN MINUS LPAREN LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMESASSIGN ELTTIMES ELTPOW ELTDIVIDEASSIGN ELTDIVIDE DOTNUMERAL DIVIDEASSIGN DIVIDE COMMA ASSIGN ARROWASSIGN AND ] ## ## The known suffix of the stack is as follows: ## ARRAY @@ -5463,15 +5460,15 @@ program: TRANSFORMEDDATABLOCK LBRACE ARRAY IDENTIFIER Expected "[" array sizes "]" followed by type after "array". -program: TRANSFORMEDDATABLOCK LBRACE ARRAY LBRACK ARRAY RBRACK VECTOR LBRACK IMAGNUMERAL RBRACK AND -## Concrete syntax: transformed data { array [ array ] vector [ 1i ] && -program: MODELBLOCK LBRACE ARRAY LBRACK ARRAY RBRACK REAL UNREACHABLE -## Concrete syntax: model { array [ array ] real <<<>> +program: TRANSFORMEDDATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK VECTOR LBRACK IMAGNUMERAL RBRACK AND +## Concrete syntax: transformed data { array [ foo ] vector [ 1i ] && +program: MODELBLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL UNREACHABLE +## Concrete syntax: model { array [ foo ] real <<<>> program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK VECTOR LBRACK INTNUMERAL RBRACK AND ## ## Concrete syntax: data { array [ foo ] vector [ 24 ] && ## -## Ends in an error in state: 861. +## Ends in an error in state: 859. ## ## decl(top_var_type,no_assign) -> array_type(top_var_type) . id_and_optional_assignment(no_assign,decl_identifier) option(remaining_declarations(no_assign)) SEMICOLON [ VECTOR UNITVECTOR TUPLE SIMPLEX SEMICOLON ROWVECTOR REAL RBRACE POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ARRAY ] ## @@ -5483,13 +5480,13 @@ Expected identifier after type in declaration. program: TRANSFORMEDDATABLOCK LBRACE LBRACE IDENTIFIER DOTNUMERAL WHILE ## Concrete syntax: transformed data { { foo .2 while -program: TRANSFORMEDDATABLOCK LBRACE UPPER WHILE +program: TRANSFORMEDDATABLOCK LBRACE IDENTIFIER WHILE ## -## Concrete syntax: transformed data { upper while +## Concrete syntax: transformed data { foo while ## -## Ends in an error in state: 552. +## Ends in an error in state: 550. ## -## atomic_statement -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## atomic_statement -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## common_expression -> identifier . LPAREN loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## common_expression -> identifier . LPAREN lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] ## common_expression -> identifier . LPAREN non_lhs BAR loption(separated_nonempty_list(COMMA,expression)) RPAREN [ TRANSPOSE TIMES TILDE RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA AND ] @@ -5527,7 +5524,7 @@ program: DATABLOCK LBRACE TUPLE LPAREN REAL COMMA WHILE ## ## Concrete syntax: data { tuple ( real , while ## -## Ends in an error in state: 824. +## Ends in an error in state: 822. ## ## tuple_type(top_var_type) -> TUPLE LPAREN top_var_type COMMA . separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -5539,8 +5536,8 @@ Incomplete type specification, expected further types followed by ")" to complet program: MODELBLOCK LBRACE TUPLE LPAREN TUPLE LPAREN REAL COMMA COMPLEX RPAREN WHILE ## Concrete syntax: model { tuple ( tuple ( real , complex ) while -program: MODELBLOCK LBRACE TUPLE LPAREN ARRAY LBRACK ARRAY RBRACK REAL WHILE -## Concrete syntax: model { tuple ( array [ array ] real while +program: MODELBLOCK LBRACE TUPLE LPAREN ARRAY LBRACK IDENTIFIER RBRACK REAL WHILE +## Concrete syntax: model { tuple ( array [ foo ] real while program: DATABLOCK LBRACE TUPLE LPAREN TUPLE LPAREN REAL COMMA COMPLEX RPAREN WHILE ## Concrete syntax: data { tuple ( tuple ( real , complex ) while program: DATABLOCK LBRACE TUPLE LPAREN ARRAY LBRACK IDENTIFIER RBRACK REAL IDENTIFIER @@ -5551,7 +5548,7 @@ program: DATABLOCK LBRACE TUPLE LPAREN REAL WHILE ## ## Concrete syntax: data { tuple ( real while ## -## Ends in an error in state: 823. +## Ends in an error in state: 821. ## ## tuple_type(top_var_type) -> TUPLE LPAREN top_var_type . COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## @@ -5562,9 +5559,9 @@ program: DATABLOCK LBRACE TUPLE LPAREN REAL WHILE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 715, spurious reduction of production range_constraint -> -## In state 693, spurious reduction of production type_constraint -> range_constraint -## In state 716, spurious reduction of production top_var_type -> REAL type_constraint +## In state 713, spurious reduction of production range_constraint -> +## In state 691, spurious reduction of production type_constraint -> range_constraint +## In state 714, spurious reduction of production top_var_type -> REAL type_constraint ## Invalid type specification, unmatched "(". @@ -5584,7 +5581,7 @@ program: DATABLOCK LBRACE TUPLE LPAREN REAL COMMA TUPLE LPAREN COMPLEX COMMA COM ## ## Concrete syntax: data { tuple ( real , tuple ( complex , complex ) while ## -## Ends in an error in state: 809. +## Ends in an error in state: 807. ## ## separated_nonempty_list(COMMA,higher_type(top_var_type)) -> tuple_type(top_var_type) . [ RPAREN ] ## separated_nonempty_list(COMMA,higher_type(top_var_type)) -> tuple_type(top_var_type) . COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) [ RPAREN ] @@ -5602,7 +5599,7 @@ program: DATABLOCK LBRACE TUPLE LPAREN WHILE ## ## Concrete syntax: data { tuple ( while ## -## Ends in an error in state: 701. +## Ends in an error in state: 699. ## ## tuple_type(top_var_type) -> TUPLE LPAREN . array_type(top_var_type) COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## tuple_type(top_var_type) -> TUPLE LPAREN . tuple_type(top_var_type) COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -5621,7 +5618,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK DOTNUMERAL TILDE ## ## Concrete syntax: transformed data { [ .2 ~ ## -## Ends in an error in state: 255. +## Ends in an error in state: 254. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5677,7 +5674,7 @@ program: TRANSFORMEDDATABLOCK LBRACE LBRACK DOTNUMERAL TILDE ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 163, spurious reduction of production non_lhs -> common_expression +## In state 162, spurious reduction of production non_lhs -> common_expression ## Ill-formed phrase. Found an expression. This can be followed by a ",", a "}", a ")", a "]", a "[" or an infix or postfix operator. @@ -5686,15 +5683,15 @@ program: TRANSFORMEDDATABLOCK LBRACE RETURN LPAREN WHILE ## Concrete syntax: transformed data { return ( while program: TRANSFORMEDDATABLOCK LBRACE LPAREN DOTNUMERAL COMMA WHILE ## Concrete syntax: transformed data { ( .2 , while -program: TRANSFORMEDDATABLOCK LBRACE LPAREN DOTNUMERAL COMMA UPPER RBRACK -## Concrete syntax: transformed data { ( .2 , upper ] +program: TRANSFORMEDDATABLOCK LBRACE LPAREN DOTNUMERAL COMMA IDENTIFIER RBRACK +## Concrete syntax: transformed data { ( .2 , foo ] program: TRANSFORMEDDATABLOCK LBRACE LPAREN DOTNUMERAL TILDE ## Concrete syntax: transformed data { ( .2 ~ -program: TRANSFORMEDDATABLOCK LBRACE LPAREN UPPER COMMA WHILE +program: TRANSFORMEDDATABLOCK LBRACE LPAREN IDENTIFIER COMMA WHILE ## -## Concrete syntax: transformed data { ( upper , while +## Concrete syntax: transformed data { ( foo , while ## -## Ends in an error in state: 300. +## Ends in an error in state: 299. ## ## common_expression -> LPAREN lhs COMMA . separated_nonempty_list(COMMA,expression) RPAREN [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## @@ -5708,11 +5705,11 @@ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LBRACK DOTNUMERAL COLON DOTNUMER ## Concrete syntax: transformed data { .2 [ .2 : .2 ~ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LBRACK DOTNUMERAL TILDE ## Concrete syntax: transformed data { .2 [ .2 ~ -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LBRACK UPPER COLON DOTNUMERAL TILDE +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LBRACK IDENTIFIER COLON DOTNUMERAL TILDE ## -## Concrete syntax: transformed data { .2 [ upper : .2 ~ +## Concrete syntax: transformed data { .2 [ foo : .2 ~ ## -## Ends in an error in state: 276. +## Ends in an error in state: 275. ## ## indexes -> lhs COLON non_lhs . [ RBRACK COMMA ] ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5767,16 +5764,16 @@ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL LBRACK UPPER COLON DOTNUMERAL TI ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 163, spurious reduction of production non_lhs -> common_expression +## In state 162, spurious reduction of production non_lhs -> common_expression ## Found an ill-formed expression where we expected a statement. Did you forget to close your "["? -program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL TILDE UPPER LPAREN RPAREN TRUNCATE LBRACK DOTNUMERAL TILDE +program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL TILDE IDENTIFIER LPAREN RPAREN TRUNCATE LBRACK DOTNUMERAL TILDE ## -## Concrete syntax: transformed data { .2 ~ upper ( ) T [ .2 ~ +## Concrete syntax: transformed data { .2 ~ foo ( ) T [ .2 ~ ## -## Ends in an error in state: 498. +## Ends in an error in state: 496. ## ## non_lhs -> non_lhs . QMARK lhs COLON lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] ## non_lhs -> non_lhs . QMARK lhs COLON non_lhs [ TRANSPOSE TIMES RBRACK RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA AND ] @@ -5831,7 +5828,7 @@ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL TILDE UPPER LPAREN RPAREN TRUNCA ## This implies that, although the LR(1) items shown above provide an ## accurate view of the past (what has been recognized so far), they ## may provide an INCOMPLETE view of the future (what was expected next). -## In state 163, spurious reduction of production non_lhs -> common_expression +## In state 162, spurious reduction of production non_lhs -> common_expression ## Ill-formed expression. Found an expression. Expect a infix or postfix operator or "[" or "]" or "," next. @@ -5868,7 +5865,7 @@ program: TRANSFORMEDDATABLOCK LBRACE DOTNUMERAL WHILE ## ## Concrete syntax: transformed data { .2 while ## -## Ends in an error in state: 163. +## Ends in an error in state: 162. ## ## common_expression -> common_expression . DOTNUMERAL [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DOTNUMERAL DIVIDE COMMA COLON BAR AND ] ## non_lhs -> common_expression . [ TRANSPOSE TIMES TILDE SEMICOLON RPAREN RBRACK RBRACE RABRACK QMARK PLUS OR NEQUALS MODULO MINUS LEQ LDIVIDE LBRACK LABRACK IDIVIDE HAT GEQ EQUALS ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA COLON BAR AND ] @@ -5887,7 +5884,7 @@ program: DATABLOCK LBRACE ARRAY LBRACK INTNUMERAL RBRACK IDENTIFIER ## ## Concrete syntax: data { array [ 24 ] foo ## -## Ends in an error in state: 817. +## Ends in an error in state: 815. ## ## array_type(top_var_type) -> arr_dims . top_var_type [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## array_type(top_var_type) -> arr_dims . tuple_type(top_var_type) [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -5902,7 +5899,7 @@ program: DATABLOCK LBRACE ARRAY LBRACK WHILE ## ## Concrete syntax: data { array [ while ## -## Ends in an error in state: 367. +## Ends in an error in state: 366. ## ## arr_dims -> ARRAY LBRACK . separated_nonempty_list(COMMA,expression) RBRACK [ VECTOR UNITVECTOR TUPLE SIMPLEX ROWVECTOR REAL POSITIVEORDERED ORDERED MATRIX INT COVMATRIX CORRMATRIX COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR ] ## @@ -5912,11 +5909,11 @@ program: DATABLOCK LBRACE ARRAY LBRACK WHILE Expected expressions for size of array. -program: DATABLOCK LBRACE ROWVECTOR LABRACK LOWER ASSIGN UPPER TRANSPOSE WHILE +program: DATABLOCK LBRACE ROWVECTOR LABRACK LOWER ASSIGN IDENTIFIER TRANSPOSE WHILE ## -## Concrete syntax: data { row_vector < lower = upper ' while +## Concrete syntax: data { row_vector < lower = foo ' while ## -## Ends in an error in state: 678. +## Ends in an error in state: 676. ## ## constr_expression -> constr_expression . PLUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] ## constr_expression -> constr_expression . MINUS constr_expression [ TRANSPOSE TIMES RABRACK PLUS MODULO MINUS LDIVIDE LBRACK IDIVIDE HAT ELTTIMES ELTPOW ELTDIVIDE DIVIDE COMMA ] @@ -5950,9 +5947,9 @@ program: MODELBLOCK LBRACE TUPLE LPAREN COMPLEX COMMA COMPLEX RPAREN UNREACHABLE ## ## Concrete syntax: model { tuple ( complex , complex ) <<<>> ## -## Ends in an error in state: 454. +## Ends in an error in state: 452. ## -## decl(sized_basic_type,expression) -> tuple_type(sized_basic_type) . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> tuple_type(sized_basic_type) . id_and_optional_assignment(expression,decl_identifier) option(remaining_declarations(expression)) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## ## The known suffix of the stack is as follows: ## tuple_type(sized_basic_type) @@ -5970,7 +5967,7 @@ program: DATABLOCK LBRACE TUPLE WHILE ## ## Concrete syntax: data { tuple while ## -## Ends in an error in state: 700. +## Ends in an error in state: 698. ## ## tuple_type(top_var_type) -> TUPLE . LPAREN array_type(top_var_type) COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] ## tuple_type(top_var_type) -> TUPLE . LPAREN tuple_type(top_var_type) COMMA separated_nonempty_list(COMMA,higher_type(top_var_type)) RPAREN [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX RPAREN ROWVECTOR RETURN REJECT REAL PROFILE PRINT POSITIVEORDERED PARAMETERSBLOCK ORDERED OFFSET MULTIPLIER MODELBLOCK MATRIX LOWER INT IN IF IDENTIFIER GETLP FUNCTIONBLOCK FOR ELSE DATABLOCK COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX COMMA CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK ARRAY ] @@ -5993,9 +5990,9 @@ program: MODELBLOCK LBRACE REAL IDENTIFIER IDENTIFIER ## ## Concrete syntax: model { real foo foo ## -## Ends in an error in state: 479. +## Ends in an error in state: 477. ## -## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UPPER UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED OFFSET MULTIPLIER MINUS MATRIX LPAREN LOWER LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] +## decl(sized_basic_type,expression) -> sized_basic_type decl_identifier . dims optional_assignment(expression) SEMICOLON [ WHILE VOID VECTOR UNITVECTOR TUPLE TRUNCATE TARGET SIMPLEX SEMICOLON ROWVECTOR RETURN REJECT REALNUMERAL REAL RBRACE PROFILE PRINT POSITIVEORDERED PLUS ORDERED MINUS MATRIX LPAREN LBRACK LBRACE INTNUMERAL INT INCREMENTLOGPROB IMAGNUMERAL IF IDENTIFIER GETLP FOR EOF ELSE DOTNUMERAL COVMATRIX CORRMATRIX CONTINUE COMPLEXVECTOR COMPLEXROWVECTOR COMPLEXMATRIX COMPLEX CHOLESKYFACTORCOV CHOLESKYFACTORCORR BREAK BANG ARRAY ] ## id_and_optional_assignment(expression,decl_identifier) -> decl_identifier . optional_assignment(expression) [ SEMICOLON COMMA ] ## ## The known suffix of the stack is as follows: @@ -6008,11 +6005,11 @@ program: DATABLOCK LBRACE REAL IDENTIFIER LBRACK IDENTIFIER RBRACK IDENTIFIER ## Concrete syntax: data { real foo [ foo ] foo program: DATABLOCK LBRACE REAL WHILE IDENTIFIER ## Concrete syntax: data { real while foo -program: DATABLOCK LBRACE ARRAY LBRACK ARRAY RBRACK REAL IDENTIFIER IDENTIFIER +program: DATABLOCK LBRACE ARRAY LBRACK IDENTIFIER RBRACK REAL IDENTIFIER IDENTIFIER ## -## Concrete syntax: data { array [ array ] real foo foo +## Concrete syntax: data { array [ foo ] real foo foo ## -## Ends in an error in state: 848. +## Ends in an error in state: 846. ## ## id_and_optional_assignment(no_assign,decl_identifier) -> decl_identifier . optional_assignment(no_assign) [ SEMICOLON COMMA ] ## diff --git a/src/frontend/parser.mly b/src/frontend/parser.mly index 9148292881..57bbdcf757 100644 --- a/src/frontend/parser.mly +++ b/src/frontend/parser.mly @@ -41,6 +41,11 @@ let rec iterate_n f x = function 0 -> x | n -> iterate_n f (f x) (n - 1) let nest_unsized_array basic_type n = iterate_n (fun t -> UnsizedType.UArray t) basic_type n + +let note_deprecated_array ?(unsized = false) (pos1, pos2) = + let loc_span = location_span_of_positions (pos1, pos2) in + Deprecation_removals.old_array_usages := + (loc_span, unsized) :: !Deprecation_removals.old_array_usages %} (* Token definitions. The quoted strings are aliases, used in the examples generated in @@ -98,7 +103,6 @@ let nest_unsized_array basic_type n = %nonassoc unary_over_binary %right HAT ELTPOW %left TRANSPOSE -%nonassoc ARRAY (* resolves shift-reduce with array keyword in declarations *) %left LBRACK %nonassoc below_ELSE %nonassoc ELSE @@ -191,20 +195,7 @@ generated_quantities_block: identifier: | id=IDENTIFIER { build_id id $loc } | TRUNCATE { build_id "T" $loc} - | id_and_v = future_keyword - { - let id, v = id_and_v in - Input_warnings.future_keyword id.name v $loc; - id - } -future_keyword: - | OFFSET { build_id "offset" $loc, "2.33.0" } - | MULTIPLIER { build_id "multiplier" $loc, "2.33.0" } - | LOWER { build_id "lower" $loc, "2.33.0" } - | UPPER { build_id "upper" $loc, "2.33.0" } - | ARRAY - { build_id "array" $loc, "2.33.0" } decl_identifier: | id=identifier { id } @@ -253,6 +244,11 @@ reserved_word: | GETLP { "get_lp", $loc, false } | PROFILE { "profile", $loc, false } | TUPLE { "tuple", $loc, true } + | OFFSET { "offset", $loc, false } + | MULTIPLIER { "multiplier", $loc, false } + | LOWER { "lower", $loc, false } + | UPPER { "upper", $loc, false } + | ARRAY { "array", $loc, true } function_def: | rt=return_type name=decl_identifier LPAREN args=separated_list(COMMA, arg_decl) @@ -285,7 +281,7 @@ unsized_type: | bt=basic_type n_opt=option(unsized_dims) { grammar_logger "unsized_type"; if Option.is_some n_opt then - Input_warnings.array_syntax ~unsized:true $loc; + note_deprecated_array ~unsized:true $loc; nest_unsized_array bt (Option.value n_opt ~default:0) } | t=unsized_tuple_type @@ -365,7 +361,7 @@ decl(type_rule, rhs): *) | ty=type_rule id=decl_identifier dims=dims rhs_opt=optional_assignment(rhs) SEMICOLON - { Input_warnings.array_syntax $loc; + { note_deprecated_array $loc; (fun ~is_global -> { stmt= VarDecl { diff --git a/src/middle/Fun_kind.ml b/src/middle/Fun_kind.ml index 5568c1beb9..21b7022b53 100644 --- a/src/middle/Fun_kind.ml +++ b/src/middle/Fun_kind.ml @@ -3,7 +3,6 @@ *) open Core_kernel -open Core_kernel.Poly type 'propto suffix = FnPlain | FnRng | FnLpdf of 'propto | FnTarget [@@deriving compare, hash, fold, map, sexp, equal] @@ -22,13 +21,6 @@ let suffix_from_name fname = else if is_suffix "_lp" then FnTarget else if is_suffix "_lupdf" || is_suffix "_lupmf" then FnLpdf true else if is_suffix "_lpdf" || is_suffix "_lpmf" then FnLpdf false - else if - is_suffix "_log" - && not - ( is_suffix "_cdf_log" || is_suffix "_ccdf_log" - || fname = "multiply_log" - || fname = "binomial_coefficient_log" ) - then FnLpdf false else FnPlain let with_unnormalized_suffix (name : string) = diff --git a/src/middle/Utils.ml b/src/middle/Utils.ml index ac0c1b4dca..7ee4593110 100644 --- a/src/middle/Utils.ml +++ b/src/middle/Utils.ml @@ -7,14 +7,11 @@ let option_or_else ~if_none x = Option.first_some x if_none (** Name mangling helper functions for distributions *) let unnormalized_suffices = ["_lupdf"; "_lupmf"] -(** _log is listed last so that it only gets picked up if no other implementation exists *) -let distribution_suffices = ["_lpmf"; "_lpdf"; "_log"] +let distribution_suffices = ["_lpmf"; "_lpdf"] let conditioning_suffices = ["_lpdf"; "_lupdf"; "_lupmf"; "_lpmf"; "_cdf"; "_lcdf"; "_lccdf"] -let conditioning_suffices_w_log = conditioning_suffices @ ["_log"] - let cumulative_distribution_suffices = ["cdf"; "lcdf"; "lccdf"; "cdf_log"; "ccdf_log"] diff --git a/src/stanc/stanc.ml b/src/stanc/stanc.ml index 8cb50c4cf2..6253af6b68 100644 --- a/src/stanc/stanc.ml +++ b/src/stanc/stanc.ml @@ -222,22 +222,6 @@ let options = , Arg.Set print_info_json , " If set, print information about the model." ) ] -(* To be removed in Stan 2.33 *) -let removed_arg_errors = - (* is_prefix is used to also cover the --include-paths=... *) - let arg_is_used arg = - Array.mem ~equal:(fun x y -> String.is_prefix ~prefix:x y) Sys.argv arg - in - if arg_is_used "--allow_undefined" then ( - eprintf - "--allow_undefined was removed in Stan 2.32.0. Please use \ - --allow-undefined.\n" ; - exit 65 (* EX_DATAERR in sysexits.h*) ) ; - if arg_is_used "--include_paths" then ( - eprintf - "--include_paths was removed in Stan 2.32.0. Please use --include-paths.\n" ; - exit 65 (* EX_DATAERR in sysexits.h*) ) - let model_file_err () = Arg.usage options ("Please specify a model_file.\n" ^ usage) ; exit 127 @@ -312,6 +296,11 @@ let use_file filename = if not !canonicalize_settings.deprecations then Warnings.pp_warnings Fmt.stderr ?printed_filename (Deprecation_analysis.collect_warnings typed_ast) ; + ( if not !canonicalize_settings.deprecations then + let removals = Deprecation_removals.collect_removals typed_ast in + if not (List.is_empty removals) then ( + Deprecation_removals.pp_removals Fmt.stderr ?printed_filename removals ; + exit 65 (* EX_DATAERR in sysexits.h*) ) ) ; if !generate_data then ( let decls = Ast_to_Mir.gather_declarations typed_ast.datablock in let context = diff --git a/src/stancjs/stancjs.ml b/src/stancjs/stancjs.ml index 7c4107950b..dff245a529 100644 --- a/src/stancjs/stancjs.ml +++ b/src/stancjs/stancjs.ml @@ -7,7 +7,14 @@ open Js_of_ocaml let version = "%%NAME%% %%VERSION%%" -let stan2cpp model_name model_string is_flag_set flag_val = +type stanc_error = + | RemovedDeprecations of (Location_span.t * string) list + | ProgramError of Errors.t + +let stan2cpp model_name model_string is_flag_set flag_val : + (string, stanc_error) result + * Warnings.t list + * Pedantic_analysis.warning_span list = Common.Gensym.reset_danger_use_cautiously () ; Typechecker.model_name := model_name ; Typechecker.check_that_all_functions_have_definition := @@ -56,12 +63,15 @@ let stan2cpp model_name model_string is_flag_set flag_val = flag_val "max-line-length" |> Option.map ~f:int_of_string |> Option.value ~default:78 in - let deprecation_warnings = - if canonicalizer_settings.deprecations then [] - else Deprecation_analysis.collect_warnings typed_ast in + let deprecation_warnings, deprecation_errors = + if canonicalizer_settings.deprecations then ([], []) + else + ( Deprecation_analysis.collect_warnings typed_ast + , Deprecation_removals.collect_removals typed_ast ) in let warnings = warnings @ deprecation_warnings in - let mir = Ast_to_Mir.trans_prog model_name typed_ast in - let tx_mir = Transform_Mir.trans_prog mir in + if not (List.is_empty deprecation_errors) then + r.return + (Result.Error (RemovedDeprecations deprecation_errors), warnings, []) ; if is_flag_set "auto-format" || is_flag_set "print-canonical" then r.return ( Result.Ok @@ -74,6 +84,7 @@ let stan2cpp model_name model_string is_flag_set flag_val = canonicalizer_settings ) ) , warnings , [] ) ; + let mir = Ast_to_Mir.trans_prog model_name typed_ast in if is_flag_set "debug-mir" then r.return ( Result.Ok @@ -85,7 +96,7 @@ let stan2cpp model_name model_string is_flag_set flag_val = if is_flag_set "debug-generate-data" then r.return ( Result.map_error - ~f:(fun e -> Errors.DebugDataError e) + ~f:(fun e -> ProgramError (Errors.DebugDataError e)) (Debug_data_generation.gen_values_json (Ast_to_Mir.gather_declarations typed_ast.datablock) ) , warnings @@ -93,11 +104,21 @@ let stan2cpp model_name model_string is_flag_set flag_val = if is_flag_set "debug-generate-inits" then r.return ( Result.map_error - ~f:(fun e -> Errors.DebugDataError e) + ~f:(fun e -> ProgramError (Errors.DebugDataError e)) (Debug_data_generation.gen_values_json (Ast_to_Mir.gather_declarations typed_ast.parametersblock) ) , warnings , [] ) ; + let tx_mir = Transform_Mir.trans_prog mir in + if is_flag_set "debug-transformed-mir" then + r.return + ( Result.Ok + (Sexp.to_string_hum [%sexp (tx_mir : Middle.Program.Typed.t)]) + , warnings + , [] ) ; + if is_flag_set "debug-transformed-mir-pretty" then + r.return + (Result.Ok (Fmt.str "%a" Program.Typed.pp tx_mir), warnings, []) ; let opt_mir = let opt_lvl = if is_flag_set "O0" then Optimize.O0 @@ -153,24 +174,31 @@ let stan2cpp model_name model_string is_flag_set flag_val = match result with | Result.Ok (cpp, warnings, pedantic_mode_warnings) -> (Result.Ok cpp, warnings, pedantic_mode_warnings) - | Result.Error _ as e -> (e, parser_warnings, []) ) + | Result.Error e -> (Result.Error (ProgramError e), parser_warnings, []) ) -let wrap_result ?printed_filename ~code ~warnings = function +let wrap_result ?printed_filename ~code ~warnings res = + let js_warnings = + ( "warnings" + , Js.Unsafe.inject + (Js.array (List.to_array (List.map ~f:Js.string warnings))) ) in + match res with | Result.Ok s -> - Js.Unsafe.obj - [| ("result", Js.Unsafe.inject (Js.string s)) - ; ( "warnings" - , Js.Unsafe.inject - (Js.array (List.to_array (List.map ~f:Js.string warnings))) ) - |] - | Error e -> + Js.Unsafe.obj [|("result", Js.Unsafe.inject (Js.string s)); js_warnings|] + | Error (ProgramError e) -> let e = Fmt.str "%a" (Errors.pp ?printed_filename ?code:(Some (Js.to_string code))) e in Js.Unsafe.obj [| ("errors", Js.Unsafe.inject (Array.map ~f:Js.string [|e|])) - ; ("warnings", Js.Unsafe.inject Js.array_empty) |] + ; js_warnings |] + | Error (RemovedDeprecations ls) -> + let errors = + Fmt.str "%a" (Deprecation_removals.pp_removals ?printed_filename) ls + in + Js.Unsafe.obj + [| ("errors", Js.Unsafe.inject (Array.map ~f:Js.string [|errors|])) + ; js_warnings |] let stan2cpp_wrapped name code (flags : Js.string_array Js.t Js.opt) = let flags = diff --git a/test/integration/bad/function-signatures/overloading/no_minimum_tilde.stan b/test/integration/bad/function-signatures/overloading/no_minimum_tilde.stan index b1c61cab99..37ce6ee277 100644 --- a/test/integration/bad/function-signatures/overloading/no_minimum_tilde.stan +++ b/test/integration/bad/function-signatures/overloading/no_minimum_tilde.stan @@ -1,14 +1,14 @@ functions { - real foo_log(real x, int y){ + real foo_lpdf(real x, int y, real z){ return y; } - real foo_log(int x, real y){ + real foo_lpdf(real x, real y, int z){ return x/y; } } model { - 1 ~ foo(3); - // target += foo_log(1,3); + 1 ~ foo(2,3); + // target += foo_lpmf(1,2,3); } diff --git a/test/integration/bad/function-signatures/overloading/stanc.expected b/test/integration/bad/function-signatures/overloading/stanc.expected index 5f47902436..aadb04508e 100644 --- a/test/integration/bad/function-signatures/overloading/stanc.expected +++ b/test/integration/bad/function-signatures/overloading/stanc.expected @@ -87,21 +87,21 @@ This function has several: Consider defining a new signature for the exact types needed or re-thinking existing definitions. $ ../../../../../../install/default/bin/stanc no_minimum_tilde.stan -Semantic error in 'no_minimum_tilde.stan', line 12, column 3 to column 14: +Semantic error in 'no_minimum_tilde.stan', line 12, column 3 to column 16: ------------------------------------------------- 10: 11: model { - 12: 1 ~ foo(3); + 12: 1 ~ foo(2,3); ^ - 13: // target += foo_log(1,3); + 13: // target += foo_lpmf(1,2,3); 14: } ------------------------------------------------- No unique minimum promotion found for function 'foo'. Overloaded functions must not have multiple equally valid promotion paths. -For args (int, int), this function has several: -(int, real) => real -(real, int) => real +For args (int, int, int), this function has several: +(real, real, int) => real +(real, int, real) => real Consider defining a new signature for the exact types needed or re-thinking existing definitions. $ ../../../../../../install/default/bin/stanc no_minimum_tilde2.stan diff --git a/test/integration/bad/log_suffix_bad1.stan b/test/integration/bad/log_suffix_bad1.stan new file mode 100644 index 0000000000..850635d957 --- /dev/null +++ b/test/integration/bad/log_suffix_bad1.stan @@ -0,0 +1,9 @@ +functions { + real foo_t_log(real alpha, real beta){ + return 1.0; + } +} + +model { + 1.5 ~ foo_t(3.4); +} diff --git a/test/integration/bad/log_suffix_bad2.stan b/test/integration/bad/log_suffix_bad2.stan new file mode 100644 index 0000000000..a2f4f7c065 --- /dev/null +++ b/test/integration/bad/log_suffix_bad2.stan @@ -0,0 +1,6 @@ +functions { + real foo_log(real alpha, real beta){ + return normal_lupdf(alpha | beta, 1); + } +} + diff --git a/test/integration/bad/new/stanc.expected b/test/integration/bad/new/stanc.expected index 4e852b7466..334bb7bd92 100644 --- a/test/integration/bad/new/stanc.expected +++ b/test/integration/bad/new/stanc.expected @@ -105,10 +105,6 @@ Syntax error in 'blocks-bad9.stan', line 1, column 19 to column 23, parsing erro Expect a statement or top-level variable declaration. $ ../../../../../install/default/bin/stanc compound-assign-decl-bad1.stan -Warning in 'compound-assign-decl-bad1.stan', line 1, column 18: assignment - operator <- is deprecated in the Stan language and will be removed in - Stan 2.33.0; use = instead. This can be done automatically with the - canonicalize flag for stanc Syntax error in 'compound-assign-decl-bad1.stan', line 1, column 18 to column 20, parsing error: ------------------------------------------------- 1: model { real T[1] <- {5.0};} @@ -117,10 +113,6 @@ Syntax error in 'compound-assign-decl-bad1.stan', line 1, column 18 to column 20 Expected ";" or assignment. $ ../../../../../install/default/bin/stanc compound-assign-decl-bad2.stan -Warning in 'compound-assign-decl-bad2.stan', line 1, column 29: assignment - operator <- is deprecated in the Stan language and will be removed in - Stan 2.33.0; use = instead. This can be done automatically with the - canonicalize flag for stanc Syntax error in 'compound-assign-decl-bad2.stan', line 1, column 29 to column 31, parsing error: ------------------------------------------------- 1: transformed data { real T[1] <- {1.1};} @@ -1170,10 +1162,6 @@ Syntax error in 'ill-formed-statement20.stan', line 1, column 23 to column 28, p Expected "(" after "for". $ ../../../../../install/default/bin/stanc ill-formed-statement21.stan -Warning in 'ill-formed-statement21.stan', line 1, column 19: get_lp() - function is deprecated. It will be removed in Stan 2.33.0. Use target() - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement21.stan', line 1, column 28 to column 33, parsing error: ------------------------------------------------- 1: transformed data { get_lp ( while @@ -1182,10 +1170,6 @@ Syntax error in 'ill-formed-statement21.stan', line 1, column 28 to column 33, p Expected ")" after "get_lp(". $ ../../../../../install/default/bin/stanc ill-formed-statement22.stan -Warning in 'ill-formed-statement22.stan', line 1, column 19: get_lp() - function is deprecated. It will be removed in Stan 2.33.0. Use target() - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement22.stan', line 1, column 26 to column 31, parsing error: ------------------------------------------------- 1: transformed data { get_lp while @@ -1242,10 +1226,6 @@ Syntax error in 'ill-formed-statement28.stan', line 1, column 25 to column 26, p Ill-formed expression. Expression expected after "(", for test of conditional control flow construct. $ ../../../../../install/default/bin/stanc ill-formed-statement29.stan -Warning in 'ill-formed-statement29.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement29.stan', line 1, column 43 to column 48, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob ( 1) while} @@ -1262,10 +1242,6 @@ Syntax error in 'ill-formed-statement3.stan', line 1, column 36 to column 40, pa Ill-formed statement. Expected statement after ")" for the loop body of the for loop.. $ ../../../../../install/default/bin/stanc ill-formed-statement30.stan -Warning in 'ill-formed-statement30.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement30.stan', line 1, column 42 to column 47, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob ( 1 while} @@ -1274,10 +1250,6 @@ Syntax error in 'ill-formed-statement30.stan', line 1, column 42 to column 47, p Ill-formed expression. Found part of an expression, expected either an operator or the end of the expression. $ ../../../../../install/default/bin/stanc ill-formed-statement31.stan -Warning in 'ill-formed-statement31.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement31.stan', line 1, column 44 to column 49, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob ( T ) while @@ -1286,10 +1258,6 @@ Syntax error in 'ill-formed-statement31.stan', line 1, column 44 to column 49, p Ill-formed statement. Expected ";" after ")". $ ../../../../../install/default/bin/stanc ill-formed-statement32.stan -Warning in 'ill-formed-statement32.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement32.stan', line 1, column 42 to column 43, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob ( T ~ @@ -1298,10 +1266,6 @@ Syntax error in 'ill-formed-statement32.stan', line 1, column 42 to column 43, p Ill-formed statement. Expected expression followed by ");" after "(". $ ../../../../../install/default/bin/stanc ill-formed-statement33.stan -Warning in 'ill-formed-statement33.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement33.stan', line 1, column 40 to column 45, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob ( while @@ -1310,10 +1274,6 @@ Syntax error in 'ill-formed-statement33.stan', line 1, column 40 to column 45, p Ill-formed statement. Expected expression followed by ");" after "(". $ ../../../../../install/default/bin/stanc ill-formed-statement34.stan -Warning in 'ill-formed-statement34.stan', line 1, column 19: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc Syntax error in 'ill-formed-statement34.stan', line 1, column 39 to column 44, parsing error: ------------------------------------------------- 1: transformed data { increment_log_prob while diff --git a/test/integration/good/warning/abs-deprecate.stan b/test/integration/bad/removed_features/abs-deprecate.stan similarity index 100% rename from test/integration/good/warning/abs-deprecate.stan rename to test/integration/bad/removed_features/abs-deprecate.stan diff --git a/test/integration/good/warning/binomial_coefficient_log.stan b/test/integration/bad/removed_features/binomial_coefficient_log.stan similarity index 100% rename from test/integration/good/warning/binomial_coefficient_log.stan rename to test/integration/bad/removed_features/binomial_coefficient_log.stan diff --git a/test/integration/good/warning/cov_exp_quad.stan b/test/integration/bad/removed_features/cov_exp_quad.stan similarity index 100% rename from test/integration/good/warning/cov_exp_quad.stan rename to test/integration/bad/removed_features/cov_exp_quad.stan diff --git a/test/integration/good/warning/decl.stan b/test/integration/bad/removed_features/decl.stan similarity index 100% rename from test/integration/good/warning/decl.stan rename to test/integration/bad/removed_features/decl.stan diff --git a/test/integration/good/warning/declarations.stan b/test/integration/bad/removed_features/declarations.stan similarity index 100% rename from test/integration/good/warning/declarations.stan rename to test/integration/bad/removed_features/declarations.stan diff --git a/test/integration/bad/removed_features/dune b/test/integration/bad/removed_features/dune new file mode 100644 index 0000000000..856a7fccef --- /dev/null +++ b/test/integration/bad/removed_features/dune @@ -0,0 +1 @@ +(include ../dune) diff --git a/test/integration/good/warning/duplicate-warns.stan b/test/integration/bad/removed_features/duplicate-warns.stan similarity index 100% rename from test/integration/good/warning/duplicate-warns.stan rename to test/integration/bad/removed_features/duplicate-warns.stan diff --git a/test/integration/good/warning/get-lp-deprecate.stan b/test/integration/bad/removed_features/get-lp-deprecate.stan similarity index 100% rename from test/integration/good/warning/get-lp-deprecate.stan rename to test/integration/bad/removed_features/get-lp-deprecate.stan diff --git a/test/integration/good/warning/get_lp_target.stan b/test/integration/bad/removed_features/get_lp_target.stan similarity index 100% rename from test/integration/good/warning/get_lp_target.stan rename to test/integration/bad/removed_features/get_lp_target.stan diff --git a/test/integration/good/warning/identifiers.stan b/test/integration/bad/removed_features/identifiers.stan similarity index 100% rename from test/integration/good/warning/identifiers.stan rename to test/integration/bad/removed_features/identifiers.stan diff --git a/test/integration/good/warning/if_else.stan b/test/integration/bad/removed_features/if_else.stan similarity index 100% rename from test/integration/good/warning/if_else.stan rename to test/integration/bad/removed_features/if_else.stan diff --git a/test/integration/good/warning/increment_log_prob.stan b/test/integration/bad/removed_features/increment_log_prob.stan similarity index 100% rename from test/integration/good/warning/increment_log_prob.stan rename to test/integration/bad/removed_features/increment_log_prob.stan diff --git a/test/integration/good/warning/lvalue_multiindex.stan b/test/integration/bad/removed_features/lvalue_multiindex.stan similarity index 100% rename from test/integration/good/warning/lvalue_multiindex.stan rename to test/integration/bad/removed_features/lvalue_multiindex.stan diff --git a/test/integration/good/warning/multiply_log.stan b/test/integration/bad/removed_features/multiply_log.stan similarity index 100% rename from test/integration/good/warning/multiply_log.stan rename to test/integration/bad/removed_features/multiply_log.stan diff --git a/test/integration/good/warning/old-log-funs.stan b/test/integration/bad/removed_features/old-log-funs.stan similarity index 100% rename from test/integration/good/warning/old-log-funs.stan rename to test/integration/bad/removed_features/old-log-funs.stan diff --git a/test/integration/good/warning/pound-comment-deprecated.stan b/test/integration/bad/removed_features/pound-comment-deprecated.stan similarity index 100% rename from test/integration/good/warning/pound-comment-deprecated.stan rename to test/integration/bad/removed_features/pound-comment-deprecated.stan diff --git a/test/integration/bad/removed_features/removed_deprecated_syntax.stan b/test/integration/bad/removed_features/removed_deprecated_syntax.stan new file mode 100644 index 0000000000..78aa687405 --- /dev/null +++ b/test/integration/bad/removed_features/removed_deprecated_syntax.stan @@ -0,0 +1,52 @@ +functions { + real foo_t_log(real alpha, real beta){ + return 1.0; + } +} + +data { + real a; + vector[3] b; + real c[7]; + real d[8, 9]; +} +parameters { + real y; + real e; + vector[3] f; + real g[7]; + real h[8, 9]; +} +model { + // old distriubtion suffixes + target += normal_log(y, 0, 1) + + normal_cdf_log(2, 0, 1) + + normal_ccdf_log(3, 0, 1); + // increment log prob + increment_log_prob(a); + increment_log_prob(b); + increment_log_prob(b); + increment_log_prob(c); + increment_log_prob(d); + increment_log_prob(e); + increment_log_prob(f); + increment_log_prob(g); + increment_log_prob(h); + // cdf without | + increment_log_prob(bernoulli_cdf(0,1)); + // getlp + real x = get_lp(); + // old array syntax + real xyz[5]; + + // deprecated functions + real z = multiply_log(3.4,3.5); + + # old comment + + // old assign + z <- 3; + + // _log UDFs + target += foo_t_log(1,3); +} diff --git a/test/integration/bad/removed_features/stanc.expected b/test/integration/bad/removed_features/stanc.expected new file mode 100644 index 0000000000..9831dc3a45 --- /dev/null +++ b/test/integration/bad/removed_features/stanc.expected @@ -0,0 +1,1153 @@ + $ ../../../../../install/default/bin/stanc abs-deprecate.stan +Error in 'abs-deprecate.stan', line 3, column 7: fabs was removed in Stan + 2.33. Use abs instead. This can be automatically changed using the + canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc binomial_coefficient_log.stan +Error in 'binomial_coefficient_log.stan', line 12, column 26: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 13, column 26: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 14, column 26: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 15, column 26: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 24, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 25, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 26, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 27, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 29, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 30, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 31, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 32, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'binomial_coefficient_log.stan', line 33, column 28: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc cov_exp_quad.stan +Error in 'cov_exp_quad.stan', line 17, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 18, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 19, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 20, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 21, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 22, column 28: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 38, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 39, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 40, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 41, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 43, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 44, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 45, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 46, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 48, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 49, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 50, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 51, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 53, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 54, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 55, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 56, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 58, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 59, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 60, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 61, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 63, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 64, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 65, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 66, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 68, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 69, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 70, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 71, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 73, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 74, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 75, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 76, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 78, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 79, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 80, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 82, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 83, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 84, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 85, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 87, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 88, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 89, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 90, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 92, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 93, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 94, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 95, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 97, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 98, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 99, column 29: cov_exp_quad was removed in + Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 100, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 102, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 103, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 104, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 106, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 107, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 108, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'cov_exp_quad.stan', line 109, column 29: cov_exp_quad was removed + in Stan 2.33. Use gp_exp_quad_cov instead. This can be automatically + changed using the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc decl.stan +Syntax error in 'decl.stan', line 2, column 7 to column 12, parsing error: + ------------------------------------------------- + 1: data { + 2: int array[5]; // this is terrible + ^ + 3: array[5] int array2; + 4: } + ------------------------------------------------- + +Expected a new identifier but found reserved keyword 'array'. + $ ../../../../../install/default/bin/stanc declarations.stan +Error in 'declarations.stan', line 415, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 414, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 409, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 408, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 403, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 402, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 397, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 396, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 391, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 390, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 384, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 383, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 378, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 377, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 372, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 371, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 366, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 365, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 360, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 359, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 354, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 353, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 348, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 347, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 342, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 341, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 336, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 335, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 327, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 326, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 321, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 320, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 315, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 314, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 309, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 308, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 303, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 302, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 292, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 291, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 286, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 285, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 280, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 279, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 274, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 273, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 268, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 267, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 261, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 260, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 255, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 254, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 249, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 248, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 243, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 242, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 237, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 236, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 231, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 230, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 225, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 224, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 219, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 218, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 213, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 212, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 206, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 205, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 200, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 199, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 194, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 193, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 188, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 187, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 182, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 181, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 176, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 175, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 170, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 169, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 164, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 163, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 158, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 157, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 150, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 149, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 144, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 143, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 138, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 137, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 132, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 131, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 126, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 125, column 4: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 119, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 118, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 113, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 112, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 107, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 106, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 101, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 100, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 95, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 94, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 89, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 88, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 83, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 82, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 77, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 76, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 71, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 70, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 65, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 64, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 58, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 57, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 52, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 51, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 46, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 45, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 40, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 39, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 34, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 33, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 28, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 27, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 22, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 21, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 16, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 15, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 10, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 9, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 4, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc +Error in 'declarations.stan', line 3, column 2: Declaration of arrays by + placing brackets after a variable name was removed in Stan 2.33.0. + Instead use the array keyword before the type. This can be changed + automatically using the auto-format flag to stanc + $ ../../../../../install/default/bin/stanc duplicate-warns.stan +Error in 'duplicate-warns.stan', line 4, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'duplicate-warns.stan', line 5, column 8: The get_lp() function was + removed in Stan 2.33.0. Use target() instead. This can be done + automatically with the canonicalize flag for stanc +Error in 'duplicate-warns.stan', line 6, column 8: multiply_log was removed + in Stan 2.33. Use lmultiply instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'duplicate-warns.stan', line 7, column 8: binomial_coefficient_log + was removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'duplicate-warns.stan', line 9, column 8: normal_log was removed in + Stan 2.33. Use normal_lpdf instead. This can be automatically changed + using the canonicalize flag for stanc +Error in 'duplicate-warns.stan', line 10, column 8: normal_cdf_log was + removed in Stan 2.33. Use normal_lcdf instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'duplicate-warns.stan', line 11, column 8: normal_ccdf_log was + removed in Stan 2.33. Use normal_lccdf instead. This can be automatically + changed using the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc get-lp-deprecate.stan +Error in 'get-lp-deprecate.stan', line 5, column 19: The get_lp() function + was removed in Stan 2.33.0. Use target() instead. This can be done + automatically with the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc get_lp_target.stan +Error in 'get_lp_target.stan', line 6, column 21: The get_lp() function was + removed in Stan 2.33.0. Use target() instead. This can be done + automatically with the canonicalize flag for stanc +Error in 'get_lp_target.stan', line 10, column 21: The get_lp() function was + removed in Stan 2.33.0. Use target() instead. This can be done + automatically with the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc identifiers.stan +Syntax error in 'identifiers.stan', line 2, column 6 to column 11, parsing error: + ------------------------------------------------- + 1: data { + 2: int upper; + ^ + 3: int lower; + 4: int multiplier; + ------------------------------------------------- + +Expected a new identifier but found reserved keyword 'upper'. + $ ../../../../../install/default/bin/stanc if_else.stan +Error in 'if_else.stan', line 9, column 26: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 10, column 26: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 11, column 26: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 12, column 26: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 21, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 22, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 23, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 24, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 26, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 27, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 28, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 29, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc +Error in 'if_else.stan', line 30, column 28: The if_else() function was + removed in Stan 2.33.0. Use the conditional operator (x ? y : z) instead; + this can be automatically changed using the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc increment_log_prob.stan +Error in 'increment_log_prob.stan', line 42, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 43, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 44, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 46, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 47, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 48, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 49, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 51, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 52, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 53, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 55, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 56, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 57, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 59, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 60, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 61, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 63, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 64, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 65, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 66, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 68, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 69, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 70, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 72, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 73, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 74, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 76, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 77, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'increment_log_prob.stan', line 78, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc + $ ../../../../../install/default/bin/stanc lvalue_multiindex.stan +Error in 'lvalue_multiindex.stan', line 6, column 3: Nested multi-indexing on + the left hand side of assignment does not behave the same as nested + indexing in expressions. This is considered a bug and has been disallowed + in Stan 2.33.0. The indexing can be automatically fixed using the + canonicalize flag for stanc. +Error in 'lvalue_multiindex.stan', line 7, column 3: Nested multi-indexing on + the left hand side of assignment does not behave the same as nested + indexing in expressions. This is considered a bug and has been disallowed + in Stan 2.33.0. The indexing can be automatically fixed using the + canonicalize flag for stanc. +Error in 'lvalue_multiindex.stan', line 9, column 3: Nested multi-indexing on + the left hand side of assignment does not behave the same as nested + indexing in expressions. This is considered a bug and has been disallowed + in Stan 2.33.0. The indexing can be automatically fixed using the + canonicalize flag for stanc. + $ ../../../../../install/default/bin/stanc multiply_log.stan +Error in 'multiply_log.stan', line 11, column 26: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 12, column 26: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 13, column 26: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 14, column 26: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 23, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 24, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 25, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 26, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 28, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 29, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 30, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 31, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'multiply_log.stan', line 32, column 28: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc old-log-funs.stan +Error in 'old-log-funs.stan', line 3, column 6: multiply_log was removed in + Stan 2.33. Use lmultiply instead. This can be automatically changed using + the canonicalize flag for stanc +Error in 'old-log-funs.stan', line 4, column 6: binomial_coefficient_log was + removed in Stan 2.33. Use lchoose instead. This can be automatically + changed using the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc pound-comment-deprecated.stan +Error in 'pound-comment-deprecated.stan', line 2, column 3: Comments + beginning with # were removed in Stan 2.33.0. Use // to begin line + comments; this can be done automatically using the auto-format flag to + stanc + $ ../../../../../install/default/bin/stanc removed_deprecated_syntax.stan +Error in 'removed_deprecated_syntax.stan', line 45, column 3: Comments + beginning with # were removed in Stan 2.33.0. Use // to begin line + comments; this can be done automatically using the auto-format flag to + stanc +Error in 'removed_deprecated_syntax.stan', line 40, column 2: Declaration of + arrays by placing brackets after a variable name was removed in Stan + 2.33.0. Instead use the array keyword before the type. This can be + changed automatically using the auto-format flag to stanc +Error in 'removed_deprecated_syntax.stan', line 18, column 2: Declaration of + arrays by placing brackets after a variable name was removed in Stan + 2.33.0. Instead use the array keyword before the type. This can be + changed automatically using the auto-format flag to stanc +Error in 'removed_deprecated_syntax.stan', line 17, column 2: Declaration of + arrays by placing brackets after a variable name was removed in Stan + 2.33.0. Instead use the array keyword before the type. This can be + changed automatically using the auto-format flag to stanc +Error in 'removed_deprecated_syntax.stan', line 11, column 2: Declaration of + arrays by placing brackets after a variable name was removed in Stan + 2.33.0. Instead use the array keyword before the type. This can be + changed automatically using the auto-format flag to stanc +Error in 'removed_deprecated_syntax.stan', line 10, column 2: Declaration of + arrays by placing brackets after a variable name was removed in Stan + 2.33.0. Instead use the array keyword before the type. This can be + changed automatically using the auto-format flag to stanc +Error in 'removed_deprecated_syntax.stan', line 22, column 12: normal_log was + removed in Stan 2.33. Use normal_lpdf instead. This can be automatically + changed using the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 23, column 6: normal_cdf_log + was removed in Stan 2.33. Use normal_lcdf instead. This can be + automatically changed using the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 24, column 6: normal_ccdf_log + was removed in Stan 2.33. Use normal_lccdf instead. This can be + automatically changed using the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 26, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 27, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 28, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 29, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 30, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 31, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 32, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 33, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 34, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 36, column 21: The + increment_log_prob(...); function was removed in Stan 2.33.0. Use target + += ...; instead. This can be done automatically with the canonicalize + flag for stanc +Error in 'removed_deprecated_syntax.stan', line 36, column 21: Use of + bernoulli_cdf without a vertical bar (|) between the first two arguments + of a CDF was removed in Stan 2.33.0. This can be automatically changed + using the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 38, column 11: The get_lp() + function was removed in Stan 2.33.0. Use target() instead. This can be + done automatically with the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 43, column 11: multiply_log + was removed in Stan 2.33. Use lmultiply instead. This can be + automatically changed using the canonicalize flag for stanc +Error in 'removed_deprecated_syntax.stan', line 48, column 2: The arrow-style + assignment operator '<-' was removed in Stan 2.33, use '=' instead. This + can be done automatically with the canonicalize flag for stanc + $ ../../../../../install/default/bin/stanc unreserved-array-keyword.stan +Syntax error in 'unreserved-array-keyword.stan', line 2, column 24 to column 29, parsing error: + ------------------------------------------------- + 1: functions { + 2: real f(array[,,] real array) { return array[1,2,3]; } + ^ + 3: } + 4: + ------------------------------------------------- + +Expected a new identifier but found reserved keyword 'array'. diff --git a/test/integration/good/warning/unreserved-array-keyword.stan b/test/integration/bad/removed_features/unreserved-array-keyword.stan similarity index 100% rename from test/integration/good/warning/unreserved-array-keyword.stan rename to test/integration/bad/removed_features/unreserved-array-keyword.stan diff --git a/test/integration/bad/stanc.expected b/test/integration/bad/stanc.expected index 394f48ee6b..6e3cf5df0e 100644 --- a/test/integration/bad/stanc.expected +++ b/test/integration/bad/stanc.expected @@ -173,7 +173,7 @@ Semantic error in 'bad_prob_fun_suffix.stan', line 10, column 2 to column 19: 11: } ------------------------------------------------- -Ill-typed arguments to '~' statement. No distribution 'foo' was found. +Ill-typed arguments to '~' statement. No function 'foo_lpdf' was found when looking for distribution 'foo'. $ ../../../../install/default/bin/stanc bad_to_int1.stan Semantic error in 'bad_to_int1.stan', line 6, column 19 to column 28: ------------------------------------------------- @@ -283,7 +283,7 @@ Semantic error in 'binomial_coefficient_sample.stan', line 5, column 2 to column 6: } ------------------------------------------------- -Ill-typed arguments to '~' statement. No distribution 'binomial_coefficient' was found. +Ill-typed arguments to '~' statement. No function 'binomial_coefficient_lpdf' was found when looking for distribution 'binomial_coefficient'. $ ../../../../install/default/bin/stanc break1.stan Semantic error in 'break1.stan', line 4, column 2 to column 8: ------------------------------------------------- @@ -1207,7 +1207,7 @@ Semantic error in 'functions-bad17.stan', line 2, column 2 to line 4, column 3: 4: } ------------------------------------------------- -Real return type required for probability functions ending in _log, _lpdf, _lupdf, _lpmf, _lupmf, _cdf, _lcdf, or _lccdf. +Real return type required for probability functions ending in _lpdf, _lupdf, _lpmf, _lupmf, _cdf, _lcdf, or _lccdf. $ ../../../../install/default/bin/stanc functions-bad18.stan Semantic error in 'functions-bad18.stan', line 11, column 2 to column 8: ------------------------------------------------- @@ -1508,6 +1508,29 @@ Syntax error in 'local_var_constraint4.stan', line 5, column 6 to column 7, pars ------------------------------------------------- Identifier expected after sized type in local (or model block) variable declaration. (No transformations/constraints allowed.) + $ ../../../../install/default/bin/stanc log_suffix_bad1.stan +Semantic error in 'log_suffix_bad1.stan', line 8, column 2 to column 19: + ------------------------------------------------- + 6: + 7: model { + 8: 1.5 ~ foo_t(3.4); + ^ + 9: } + ------------------------------------------------- + +Ill-typed arguments to '~' statement. No function 'foo_t_lpdf' was found when looking for distribution 'foo_t'. + $ ../../../../install/default/bin/stanc log_suffix_bad2.stan +Semantic error in 'log_suffix_bad2.stan', line 3, column 12 to column 41: + ------------------------------------------------- + 1: functions { + 2: real foo_log(real alpha, real beta){ + 3: return normal_lupdf(alpha | beta, 1); + ^ + 4: } + 5: } + ------------------------------------------------- + +Functions with names ending in _lupdf and _lupmf can only be used in the model block or user-defined functions with names ending in _lpdf or _lpmf. $ ../../../../install/default/bin/stanc lp-error.stan Semantic error in 'lp-error.stan', line 5, column 2 to column 6: ------------------------------------------------- @@ -1596,7 +1619,7 @@ Semantic error in 'multiply_sample.stan', line 5, column 2 to column 18: 6: } ------------------------------------------------- -Ill-typed arguments to '~' statement. No distribution 'multiply' was found. +Ill-typed arguments to '~' statement. No function 'multiply_lpdf' was found when looking for distribution 'multiply'. $ ../../../../install/default/bin/stanc noninfinite_loop_return.stan Semantic error in 'noninfinite_loop_return.stan', line 2, column 2 to line 15, column 3: ------------------------------------------------- @@ -2319,7 +2342,7 @@ Semantic error in 'signature_sampling_unknown.stan', line 8, column 2 to column 9: } ------------------------------------------------- -Ill-typed arguments to '~' statement. No distribution 'foo_whatev' was found. +Ill-typed arguments to '~' statement. No function 'foo_whatev_lpdf' was found when looking for distribution 'foo_whatev'. $ ../../../../install/default/bin/stanc stanc_helper.stan Semantic error in 'stanc_helper.stan', line 5, column 2 to column 18: ------------------------------------------------- @@ -2330,7 +2353,7 @@ Semantic error in 'stanc_helper.stan', line 5, column 2 to column 18: 6: } ------------------------------------------------- -Ill-typed arguments to '~' statement. No distribution 'ormal' was found. +Ill-typed arguments to '~' statement. No function 'ormal_lpdf' was found when looking for distribution 'ormal'. $ ../../../../install/default/bin/stanc string_literal_newline.stan Syntax error in 'string_literal_newline.stan', line 3, column 1, lexing error: ------------------------------------------------- diff --git a/test/integration/cli-args/canonicalize/canonical.expected b/test/integration/cli-args/canonicalize/canonical.expected index 79c6f75015..e94fb2ac0c 100644 --- a/test/integration/cli-args/canonicalize/canonical.expected +++ b/test/integration/cli-args/canonicalize/canonical.expected @@ -200,8 +200,6 @@ model { c ~ poisson_log(3.0); if (b != 0.0) { x ~ normal(0, 1); - x ~ normal_log(0, 1); - x ~ normal_log(0, 1); target += normal_log_lpdf(x | 1, 2); target += std_normal_lpdf(x); } else { @@ -240,11 +238,6 @@ generated quantities { x_r, x_i); } -Warning in 'deprecated.stan', line 37, column 2: Nested multi-indexing on the - left hand side of assignment does not behave the same as nested indexing - in expressions. This is considered a bug and will be disallowed in Stan - 2.33.0. The indexing can be automatically fixed using the canonicalize - flag for stanc. $ ../../../../../install/default/bin/stanc --print-canonical deprecated_tilde.stan functions { real test_log_lpmf(int bar, real foo) { diff --git a/test/integration/cli-args/canonicalize/deprecated.stan b/test/integration/cli-args/canonicalize/deprecated.stan index 9832b711a5..0e7728997c 100644 --- a/test/integration/cli-args/canonicalize/deprecated.stan +++ b/test/integration/cli-args/canonicalize/deprecated.stan @@ -49,8 +49,6 @@ model { c ~ poisson_log_log(3.0); if (b) { x ~ normal(0, 1); - x ~ normal_log(0, 1); - x ~ normal_log_log(0, 1); target += normal_log_log(x,1,2); increment_log_prob(std_normal_lpdf(x)); } else { @@ -59,7 +57,7 @@ model { increment_log_prob(foo_cdf_log(x, 1)); } while (0.0) { - + } int bool = !b < 2 && d || x; diff --git a/test/integration/cli-args/canonicalize/deprecations-only.expected b/test/integration/cli-args/canonicalize/deprecations-only.expected index 01ffc283fc..dd6feaa3d3 100644 --- a/test/integration/cli-args/canonicalize/deprecations-only.expected +++ b/test/integration/cli-args/canonicalize/deprecations-only.expected @@ -180,8 +180,6 @@ model { c ~ poisson_log(3.0); if (b != 0.0) { x ~ normal(0, 1); - x ~ normal_log(0, 1); - x ~ normal_log(0, 1); target += normal_log_lpdf(x | 1, 2); target += std_normal_lpdf(x); } else { @@ -220,11 +218,6 @@ generated quantities { x_r, x_i); } -Warning in 'deprecated.stan', line 37, column 2: Nested multi-indexing on the - left hand side of assignment does not behave the same as nested indexing - in expressions. This is considered a bug and will be disallowed in Stan - 2.33.0. The indexing can be automatically fixed using the canonicalize - flag for stanc. $ ../../../../../install/default/bin/stanc --auto-format --canonicalize deprecations deprecated_tilde.stan functions { real test_log_lpmf(int bar, real foo) { diff --git a/test/integration/cli-args/canonicalize/everything-but.expected b/test/integration/cli-args/canonicalize/everything-but.expected index 2c482cb273..9de5e7d167 100644 --- a/test/integration/cli-args/canonicalize/everything-but.expected +++ b/test/integration/cli-args/canonicalize/everything-but.expected @@ -149,73 +149,6 @@ model { } $ ../../../../../install/default/bin/stanc --auto-format --canonicalize braces,parentheses deprecated.stan -Warning in 'deprecated.stan', line 2, column 2: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 2, column 21: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 2, column 31: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 2, column 45: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 2, column 55: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 3, column 2: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 3, column 21: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 3, column 31: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 3, column 45: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 3, column 55: Declaration of arrays by - placing brackets after a type is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 4, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 5, column 12: assignment operator <- is - deprecated in the Stan language and will be removed in Stan 2.33.0; use = - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated.stan', line 6, column 12: assignment operator <- is - deprecated in the Stan language and will be removed in Stan 2.33.0; use = - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated.stan', line 35, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'deprecated.stan', line 55, column 4: increment_log_prob(...); is - deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated.stan', line 59, column 4: increment_log_prob(...); is - deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated.stan', line 79, column 20: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc Semantic error in 'deprecated.stan', line 47, column 6 to column 18: ------------------------------------------------- 45: target += binomial_coefficient_log(10, 10); @@ -250,9 +183,9 @@ void test(int x, int y) { real deprecated_lp() { return get_lp(); } -Warning in 'funs.stanfunctions', line 5, column 11: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc +Error in 'funs.stanfunctions', line 5, column 11: The get_lp() function was + removed in Stan 2.33.0. Use target() instead. This can be done + automatically with the canonicalize flag for stanc $ ../../../../../install/default/bin/stanc --auto-format --canonicalize braces,parentheses parenthesize.stan transformed data { int N = 12; diff --git a/test/integration/cli-args/canonicalize/strip-comments.expected b/test/integration/cli-args/canonicalize/strip-comments.expected index 6a06c2603a..364a697039 100644 --- a/test/integration/cli-args/canonicalize/strip-comments.expected +++ b/test/integration/cli-args/canonicalize/strip-comments.expected @@ -189,8 +189,6 @@ model { c ~ poisson_log(3.0); if (b != 0.0) { x ~ normal(0, 1); - x ~ normal_log(0, 1); - x ~ normal_log(0, 1); target += normal_log_lpdf(x | 1, 2); target += std_normal_lpdf(x); } else { @@ -229,11 +227,6 @@ generated quantities { x_r, x_i); } -Warning in 'deprecated.stan', line 37, column 2: Nested multi-indexing on the - left hand side of assignment does not behave the same as nested indexing - in expressions. This is considered a bug and will be disallowed in Stan - 2.33.0. The indexing can be automatically fixed using the canonicalize - flag for stanc. $ ../../../../../install/default/bin/stanc --auto-format --canonicalize strip-comments,braces,parentheses,deprecations deprecated_tilde.stan functions { real test_log_lpmf(int bar, real foo) { diff --git a/test/integration/cli-args/deprecated.t/dummy.stan b/test/integration/cli-args/deprecated.t/dummy.stan deleted file mode 100644 index 356139df90..0000000000 --- a/test/integration/cli-args/deprecated.t/dummy.stan +++ /dev/null @@ -1,3 +0,0 @@ -model { - -} diff --git a/test/integration/cli-args/deprecated.t/run.t b/test/integration/cli-args/deprecated.t/run.t deleted file mode 100644 index 879f9a795c..0000000000 --- a/test/integration/cli-args/deprecated.t/run.t +++ /dev/null @@ -1,7 +0,0 @@ -Deprecated command line args - $ stanc --include_paths . dummy.stan - --include_paths was removed in Stan 2.32.0. Please use --include-paths. - [65] - $ stanc --allow_undefined dummy.stan - --allow_undefined was removed in Stan 2.32.0. Please use --allow-undefined. - [65] diff --git a/test/integration/good/code-gen/cpp.expected b/test/integration/good/code-gen/cpp.expected index 81e428c7c3..6a24ac9946 100644 --- a/test/integration/good/code-gen/cpp.expected +++ b/test/integration/good/code-gen/cpp.expected @@ -35461,7 +35461,7 @@ namespace shadowing_model_namespace { using stan::model::model_base_crtp; using namespace stan::math; stan::math::profile_map profiles__; -static constexpr std::array locations_array__ = +static constexpr std::array locations_array__ = {" (found before start of program)", " (in 'shadowing.stan', line 14, column 2 to column 9)", " (in 'shadowing.stan', line 15, column 2 to column 10)", @@ -35479,38 +35479,39 @@ static constexpr std::array locations_array__ = " (in 'shadowing.stan', line 30, column 2 to column 11)", " (in 'shadowing.stan', line 31, column 2 to column 11)", " (in 'shadowing.stan', line 32, column 2 to column 16)", - " (in 'shadowing.stan', line 33, column 2 to column 32)", - " (in 'shadowing.stan', line 36, column 2 to column 34)", - " (in 'shadowing.stan', line 37, column 2 to column 12)", - " (in 'shadowing.stan', line 38, column 2 to column 35)", - " (in 'shadowing.stan', line 39, column 2 to column 14)", - " (in 'shadowing.stan', line 40, column 2 to column 37)", - " (in 'shadowing.stan', line 41, column 2 to column 19)", - " (in 'shadowing.stan', line 42, column 2 to column 14)", + " (in 'shadowing.stan', line 33, column 2 to column 15)", + " (in 'shadowing.stan', line 34, column 2 to column 32)", + " (in 'shadowing.stan', line 37, column 2 to column 34)", + " (in 'shadowing.stan', line 38, column 2 to column 12)", + " (in 'shadowing.stan', line 39, column 2 to column 35)", + " (in 'shadowing.stan', line 40, column 2 to column 14)", + " (in 'shadowing.stan', line 41, column 2 to column 37)", + " (in 'shadowing.stan', line 42, column 2 to column 19)", " (in 'shadowing.stan', line 43, column 2 to column 14)", - " (in 'shadowing.stan', line 44, column 2 to column 18)", - " (in 'shadowing.stan', line 45, column 2 to column 23)", - " (in 'shadowing.stan', line 46, column 2 to column 17)", - " (in 'shadowing.stan', line 49, column 2 to column 32)", - " (in 'shadowing.stan', line 50, column 2 to column 18)", - " (in 'shadowing.stan', line 51, column 2 to column 20)", - " (in 'shadowing.stan', line 52, column 2 to column 15)", - " (in 'shadowing.stan', line 53, column 2 to column 19)", - " (in 'shadowing.stan', line 56, column 2 to column 10)", - " (in 'shadowing.stan', line 69, column 2 to column 69)", - " (in 'shadowing.stan', line 72, column 2 to column 43)", - " (in 'shadowing.stan', line 57, column 2 to line 58, column 70)", - " (in 'shadowing.stan', line 59, column 2 to column 54)", - " (in 'shadowing.stan', line 61, column 2 to column 55)", - " (in 'shadowing.stan', line 63, column 2 to column 23)", - " (in 'shadowing.stan', line 65, column 2 to column 23)", - " (in 'shadowing.stan', line 67, column 2 to column 80)", - " (in 'shadowing.stan', line 75, column 4 to column 22)", - " (in 'shadowing.stan', line 74, column 2 to line 76, column 3)", - " (in 'shadowing.stan', line 79, column 2 to column 23)", + " (in 'shadowing.stan', line 44, column 2 to column 14)", + " (in 'shadowing.stan', line 45, column 2 to column 18)", + " (in 'shadowing.stan', line 46, column 2 to column 23)", + " (in 'shadowing.stan', line 47, column 2 to column 17)", + " (in 'shadowing.stan', line 50, column 2 to column 32)", + " (in 'shadowing.stan', line 51, column 2 to column 18)", + " (in 'shadowing.stan', line 52, column 2 to column 20)", + " (in 'shadowing.stan', line 53, column 2 to column 15)", + " (in 'shadowing.stan', line 54, column 2 to column 19)", + " (in 'shadowing.stan', line 57, column 2 to column 10)", + " (in 'shadowing.stan', line 70, column 2 to column 69)", + " (in 'shadowing.stan', line 73, column 2 to column 43)", + " (in 'shadowing.stan', line 58, column 2 to line 59, column 70)", + " (in 'shadowing.stan', line 60, column 2 to column 54)", + " (in 'shadowing.stan', line 62, column 2 to column 55)", + " (in 'shadowing.stan', line 64, column 2 to column 23)", + " (in 'shadowing.stan', line 66, column 2 to column 23)", + " (in 'shadowing.stan', line 68, column 2 to column 58)", + " (in 'shadowing.stan', line 76, column 4 to column 22)", + " (in 'shadowing.stan', line 75, column 2 to line 77, column 3)", + " (in 'shadowing.stan', line 80, column 2 to column 23)", " (in 'shadowing.stan', line 10, column 3 to column 15)", - " (in 'shadowing.stan', line 69, column 8 to column 9)", - " (in 'shadowing.stan', line 72, column 9 to column 24)", + " (in 'shadowing.stan', line 70, column 8 to column 9)", + " (in 'shadowing.stan', line 73, column 9 to column 24)", " (in 'shadowing.stan', line 3, column 4 to column 30)", " (in 'shadowing.stan', line 5, column 4 to column 14)", " (in 'shadowing.stan', line 2, column 43 to line 6, column 3)"}; @@ -35555,10 +35556,10 @@ rhs(const T0__& t, const T1__& y_arg__, const T2__& alpha, std::ostream* try { Eigen::Matrix yp = Eigen::Matrix::Constant(1, DUMMY_VAR__); - current_statement__ = 49; + current_statement__ = 50; stan::model::assign(yp, stan::math::multiply(-(alpha), y), "assigning variable yp"); - current_statement__ = 50; + current_statement__ = 51; return yp; } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); @@ -35590,7 +35591,7 @@ class shadowing_model final : public model_base_crtp { try { int pos__ = std::numeric_limits::min(); pos__ = 1; - current_statement__ = 46; + current_statement__ = 47; context__.validate_dims("data initialization", "x", "double", std::vector{static_cast(4)}); x_data__ = Eigen::Matrix::Constant(4, @@ -35598,7 +35599,7 @@ class shadowing_model final : public model_base_crtp { new (&x) Eigen::Map>(x_data__.data(), 4); { std::vector x_flat__; - current_statement__ = 46; + current_statement__ = 47; x_flat__ = context__.vals_r("x"); pos__ = 1; for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { @@ -35607,21 +35608,21 @@ class shadowing_model final : public model_base_crtp { pos__ = (pos__ + 1); } } - current_statement__ = 47; - stan::math::validate_non_negative_index("called", "1", 1); current_statement__ = 48; + stan::math::validate_non_negative_index("called", "1", 1); + current_statement__ = 49; result_1dim__ = std::numeric_limits::min(); - current_statement__ = 48; + current_statement__ = 49; result_1dim__ = stan::math::num_elements(x); - current_statement__ = 48; + current_statement__ = 49; stan::math::validate_non_negative_index("result", "num_elements(x)", result_1dim__); } catch (const std::exception& e) { stan::lang::rethrow_located(e, locations_array__[current_statement__]); } num_params_r__ = 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + - 1 + 1 + 1 + 1 + 1 + 1 + 1 + (5 - 1) + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 4 - + 1 + 1; + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + (5 - 1) + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + + 4 + 1 + 1; } inline std::string model_name() const final { return "shadowing_model"; @@ -35700,85 +35701,87 @@ class shadowing_model final : public model_base_crtp { local_scalar_t__ multiply = DUMMY_VAR__; current_statement__ = 16; multiply = in__.template read(); - local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + local_scalar_t__ lchoose = DUMMY_VAR__; current_statement__ = 17; + lchoose = in__.template read(); + local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + current_statement__ = 18; binomial_coefficient_log = in__.template read(); local_scalar_t__ read_constrain_lb = DUMMY_VAR__; - current_statement__ = 18; + current_statement__ = 19; read_constrain_lb = in__.template read_constrain_lb(0, lp__); local_scalar_t__ read = DUMMY_VAR__; - current_statement__ = 19; + current_statement__ = 20; read = in__.template read(); local_scalar_t__ validate_non_negative_index = DUMMY_VAR__; - current_statement__ = 20; + current_statement__ = 21; validate_non_negative_index = in__.template read(); local_scalar_t__ length = DUMMY_VAR__; - current_statement__ = 21; + current_statement__ = 22; length = in__.template read(); Eigen::Matrix validate_positive_index = Eigen::Matrix::Constant(5, DUMMY_VAR__); - current_statement__ = 22; + current_statement__ = 23; validate_positive_index = in__.template read_constrain_simplex< Eigen::Matrix, jacobian__>(lp__, 5); local_scalar_t__ profile_map = DUMMY_VAR__; - current_statement__ = 23; + current_statement__ = 24; profile_map = in__.template read(); local_scalar_t__ assign = DUMMY_VAR__; - current_statement__ = 24; + current_statement__ = 25; assign = in__.template read(); local_scalar_t__ rvalue = DUMMY_VAR__; - current_statement__ = 25; + current_statement__ = 26; rvalue = in__.template read(); local_scalar_t__ stan_print = DUMMY_VAR__; - current_statement__ = 26; + current_statement__ = 27; stan_print = in__.template read(); local_scalar_t__ model_base_crtp = DUMMY_VAR__; - current_statement__ = 27; + current_statement__ = 28; model_base_crtp = in__.template read(); local_scalar_t__ index_uni = DUMMY_VAR__; - current_statement__ = 28; + current_statement__ = 29; index_uni = in__.template read(); local_scalar_t__ bernoulli_logit_glm_lpmf = DUMMY_VAR__; - current_statement__ = 29; + current_statement__ = 30; bernoulli_logit_glm_lpmf = in__.template read(); local_scalar_t__ reduce_sum = DUMMY_VAR__; - current_statement__ = 30; + current_statement__ = 31; reduce_sum = in__.template read(); Eigen::Matrix segment = Eigen::Matrix::Constant(4, DUMMY_VAR__); - current_statement__ = 31; + current_statement__ = 32; segment = in__.template read>(4); local_scalar_t__ ode_bdf = DUMMY_VAR__; - current_statement__ = 32; + current_statement__ = 33; ode_bdf = in__.template read(); local_scalar_t__ ode_bdf_tol = DUMMY_VAR__; - current_statement__ = 33; + current_statement__ = 34; ode_bdf_tol = in__.template read(); local_scalar_t__ mu = DUMMY_VAR__; - current_statement__ = 37; + current_statement__ = 38; mu = ((((((((stan::math::e() + stan::math::pi()) + stan::math::log2()) + stan::math::log10()) + stan::math::sqrt2()) + stan::math::not_a_number()) + stan::math::positive_infinity()) + stan::math::negative_infinity()) + stan::math::machine_precision()); - current_statement__ = 38; - mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); current_statement__ = 39; + mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); + current_statement__ = 40; mu = (mu + ((inv_logit * stan::math::inv_logit(0.5)) + (logit * stan::math::logit(10)))); - current_statement__ = 40; - mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 41; - mu = ((add + add) - sub); + mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 42; - mu = (mu + ((binomial_coefficient_log * - stan::math::binomial_coefficient_log(3, 4)) * - stan::math::binomial_coefficient_log(3, 4))); + mu = ((add + add) - sub); + current_statement__ = 43; + mu = (mu + ((lchoose * stan::math::binomial_coefficient_log(3, 4)) * + binomial_coefficient_log)); std::vector> called = std::vector>(1, Eigen::Matrix::Constant(4, DUMMY_VAR__)); - current_statement__ = 35; + current_statement__ = 36; stan::model::assign(called, stan::math::ode_bdf(rhs_variadic2_functor__(), segment, 1.0, std::vector{3.0}, pstream__, 3.5), @@ -35786,18 +35789,18 @@ class shadowing_model final : public model_base_crtp { Eigen::Matrix result = Eigen::Matrix::Constant(result_1dim__, DUMMY_VAR__); - current_statement__ = 36; + current_statement__ = 37; stan::model::assign(result, stan::math::multiply(x, 5.0), "assigning variable result"); - current_statement__ = 44; + current_statement__ = 45; { stan::math::profile profile__("shadow-1", const_cast(profiles__)); - current_statement__ = 43; + current_statement__ = 44; mu = (mu + profile_map); } { - current_statement__ = 45; + current_statement__ = 46; if (pstream__) { stan::math::stan_print(pstream__, "hello world"); *(pstream__) << std::endl; @@ -35879,85 +35882,87 @@ class shadowing_model final : public model_base_crtp { local_scalar_t__ multiply = DUMMY_VAR__; current_statement__ = 16; multiply = in__.template read(); - local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + local_scalar_t__ lchoose = DUMMY_VAR__; current_statement__ = 17; + lchoose = in__.template read(); + local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + current_statement__ = 18; binomial_coefficient_log = in__.template read(); local_scalar_t__ read_constrain_lb = DUMMY_VAR__; - current_statement__ = 18; + current_statement__ = 19; read_constrain_lb = in__.template read_constrain_lb(0, lp__); local_scalar_t__ read = DUMMY_VAR__; - current_statement__ = 19; + current_statement__ = 20; read = in__.template read(); local_scalar_t__ validate_non_negative_index = DUMMY_VAR__; - current_statement__ = 20; + current_statement__ = 21; validate_non_negative_index = in__.template read(); local_scalar_t__ length = DUMMY_VAR__; - current_statement__ = 21; + current_statement__ = 22; length = in__.template read(); Eigen::Matrix validate_positive_index = Eigen::Matrix::Constant(5, DUMMY_VAR__); - current_statement__ = 22; + current_statement__ = 23; validate_positive_index = in__.template read_constrain_simplex< Eigen::Matrix, jacobian__>(lp__, 5); local_scalar_t__ profile_map = DUMMY_VAR__; - current_statement__ = 23; + current_statement__ = 24; profile_map = in__.template read(); local_scalar_t__ assign = DUMMY_VAR__; - current_statement__ = 24; + current_statement__ = 25; assign = in__.template read(); local_scalar_t__ rvalue = DUMMY_VAR__; - current_statement__ = 25; + current_statement__ = 26; rvalue = in__.template read(); local_scalar_t__ stan_print = DUMMY_VAR__; - current_statement__ = 26; + current_statement__ = 27; stan_print = in__.template read(); local_scalar_t__ model_base_crtp = DUMMY_VAR__; - current_statement__ = 27; + current_statement__ = 28; model_base_crtp = in__.template read(); local_scalar_t__ index_uni = DUMMY_VAR__; - current_statement__ = 28; + current_statement__ = 29; index_uni = in__.template read(); local_scalar_t__ bernoulli_logit_glm_lpmf = DUMMY_VAR__; - current_statement__ = 29; + current_statement__ = 30; bernoulli_logit_glm_lpmf = in__.template read(); local_scalar_t__ reduce_sum = DUMMY_VAR__; - current_statement__ = 30; + current_statement__ = 31; reduce_sum = in__.template read(); Eigen::Matrix segment = Eigen::Matrix::Constant(4, DUMMY_VAR__); - current_statement__ = 31; + current_statement__ = 32; segment = in__.template read>(4); local_scalar_t__ ode_bdf = DUMMY_VAR__; - current_statement__ = 32; + current_statement__ = 33; ode_bdf = in__.template read(); local_scalar_t__ ode_bdf_tol = DUMMY_VAR__; - current_statement__ = 33; + current_statement__ = 34; ode_bdf_tol = in__.template read(); local_scalar_t__ mu = DUMMY_VAR__; - current_statement__ = 37; + current_statement__ = 38; mu = ((((((((stan::math::e() + stan::math::pi()) + stan::math::log2()) + stan::math::log10()) + stan::math::sqrt2()) + stan::math::not_a_number()) + stan::math::positive_infinity()) + stan::math::negative_infinity()) + stan::math::machine_precision()); - current_statement__ = 38; - mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); current_statement__ = 39; + mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); + current_statement__ = 40; mu = (mu + ((inv_logit * stan::math::inv_logit(0.5)) + (logit * stan::math::logit(10)))); - current_statement__ = 40; - mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 41; - mu = ((add + add) - sub); + mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 42; - mu = (mu + ((binomial_coefficient_log * - stan::math::binomial_coefficient_log(3, 4)) * - stan::math::binomial_coefficient_log(3, 4))); + mu = ((add + add) - sub); + current_statement__ = 43; + mu = (mu + ((lchoose * stan::math::binomial_coefficient_log(3, 4)) * + binomial_coefficient_log)); std::vector> called = std::vector>(1, Eigen::Matrix::Constant(4, DUMMY_VAR__)); - current_statement__ = 35; + current_statement__ = 36; stan::model::assign(called, stan::math::ode_bdf(rhs_variadic2_functor__(), segment, 1.0, std::vector{3.0}, pstream__, 3.5), @@ -35965,18 +35970,18 @@ class shadowing_model final : public model_base_crtp { Eigen::Matrix result = Eigen::Matrix::Constant(result_1dim__, DUMMY_VAR__); - current_statement__ = 36; + current_statement__ = 37; stan::model::assign(result, stan::math::multiply(x, 5.0), "assigning variable result"); - current_statement__ = 44; + current_statement__ = 45; { stan::math::profile profile__("shadow-1", const_cast(profiles__)); - current_statement__ = 43; + current_statement__ = 44; mu = (mu + profile_map); } { - current_statement__ = 45; + current_statement__ = 46; if (pstream__) { stan::math::stan_print(pstream__, "hello world"); *(pstream__) << std::endl; @@ -36069,66 +36074,69 @@ class shadowing_model final : public model_base_crtp { double multiply = std::numeric_limits::quiet_NaN(); current_statement__ = 16; multiply = in__.template read(); + double lchoose = std::numeric_limits::quiet_NaN(); + current_statement__ = 17; + lchoose = in__.template read(); double binomial_coefficient_log = std::numeric_limits::quiet_NaN(); - current_statement__ = 17; + current_statement__ = 18; binomial_coefficient_log = in__.template read(); double read_constrain_lb = std::numeric_limits::quiet_NaN(); - current_statement__ = 18; + current_statement__ = 19; read_constrain_lb = in__.template read_constrain_lb(0, lp__); double read = std::numeric_limits::quiet_NaN(); - current_statement__ = 19; + current_statement__ = 20; read = in__.template read(); double validate_non_negative_index = std::numeric_limits::quiet_NaN(); - current_statement__ = 20; + current_statement__ = 21; validate_non_negative_index = in__.template read(); double length = std::numeric_limits::quiet_NaN(); - current_statement__ = 21; + current_statement__ = 22; length = in__.template read(); Eigen::Matrix validate_positive_index = Eigen::Matrix::Constant(5, std::numeric_limits::quiet_NaN()); - current_statement__ = 22; + current_statement__ = 23; validate_positive_index = in__.template read_constrain_simplex< Eigen::Matrix, jacobian__>(lp__, 5); double profile_map = std::numeric_limits::quiet_NaN(); - current_statement__ = 23; + current_statement__ = 24; profile_map = in__.template read(); double assign = std::numeric_limits::quiet_NaN(); - current_statement__ = 24; + current_statement__ = 25; assign = in__.template read(); double rvalue = std::numeric_limits::quiet_NaN(); - current_statement__ = 25; + current_statement__ = 26; rvalue = in__.template read(); double stan_print = std::numeric_limits::quiet_NaN(); - current_statement__ = 26; + current_statement__ = 27; stan_print = in__.template read(); double model_base_crtp = std::numeric_limits::quiet_NaN(); - current_statement__ = 27; + current_statement__ = 28; model_base_crtp = in__.template read(); double index_uni = std::numeric_limits::quiet_NaN(); - current_statement__ = 28; + current_statement__ = 29; index_uni = in__.template read(); double bernoulli_logit_glm_lpmf = std::numeric_limits::quiet_NaN(); - current_statement__ = 29; + current_statement__ = 30; bernoulli_logit_glm_lpmf = in__.template read(); double reduce_sum = std::numeric_limits::quiet_NaN(); - current_statement__ = 30; + current_statement__ = 31; reduce_sum = in__.template read(); Eigen::Matrix segment = Eigen::Matrix::Constant(4, std::numeric_limits::quiet_NaN()); - current_statement__ = 31; + current_statement__ = 32; segment = in__.template read>(4); double ode_bdf = std::numeric_limits::quiet_NaN(); - current_statement__ = 32; + current_statement__ = 33; ode_bdf = in__.template read(); double ode_bdf_tol = std::numeric_limits::quiet_NaN(); - current_statement__ = 33; + current_statement__ = 34; ode_bdf_tol = in__.template read(); double mu = std::numeric_limits::quiet_NaN(); std::vector> called = @@ -36154,6 +36162,7 @@ class shadowing_model final : public model_base_crtp { out__.write(add); out__.write(sub); out__.write(multiply); + out__.write(lchoose); out__.write(binomial_coefficient_log); out__.write(read_constrain_lb); out__.write(read); @@ -36176,42 +36185,41 @@ class shadowing_model final : public model_base_crtp { stan::math::primitive_value(emit_generated_quantities__)))) { return ; } - current_statement__ = 37; + current_statement__ = 38; mu = ((((((((stan::math::e() + stan::math::pi()) + stan::math::log2()) + stan::math::log10()) + stan::math::sqrt2()) + stan::math::not_a_number()) + stan::math::positive_infinity()) + stan::math::negative_infinity()) + stan::math::machine_precision()); - current_statement__ = 38; - mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); current_statement__ = 39; + mu = (mu + ((logit + bernoulli_logit_glm_lpmf) + reduce_sum)); + current_statement__ = 40; mu = (mu + ((inv_logit * stan::math::inv_logit(0.5)) + (logit * stan::math::logit(10)))); - current_statement__ = 40; - mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 41; - mu = ((add + add) - sub); + mu = (mu + (pow * stan::math::pow(3, 2))); current_statement__ = 42; - mu = (mu + ((binomial_coefficient_log * - stan::math::binomial_coefficient_log(3, 4)) * - stan::math::binomial_coefficient_log(3, 4))); - current_statement__ = 35; + mu = ((add + add) - sub); + current_statement__ = 43; + mu = (mu + ((lchoose * stan::math::binomial_coefficient_log(3, 4)) * + binomial_coefficient_log)); + current_statement__ = 36; stan::model::assign(called, stan::math::ode_bdf(rhs_variadic2_functor__(), segment, 1.0, std::vector{3.0}, pstream__, 3.5), "assigning variable called"); - current_statement__ = 36; + current_statement__ = 37; stan::model::assign(result, stan::math::multiply(x, 5.0), "assigning variable result"); - current_statement__ = 44; + current_statement__ = 45; { stan::math::profile profile__("shadow-1", const_cast(profiles__)); - current_statement__ = 43; + current_statement__ = 44; mu = (mu + profile_map); } if (emit_transformed_parameters__) { out__.write(mu); - current_statement__ = 35; + current_statement__ = 36; for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { for (int sym2__ = 1; sym2__ <= 1; ++sym2__) { out__.write(called[(sym2__ - 1)][(sym1__ - 1)]); @@ -36304,78 +36312,82 @@ class shadowing_model final : public model_base_crtp { current_statement__ = 16; multiply = in__.read(); out__.write(multiply); - local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + local_scalar_t__ lchoose = DUMMY_VAR__; current_statement__ = 17; + lchoose = in__.read(); + out__.write(lchoose); + local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + current_statement__ = 18; binomial_coefficient_log = in__.read(); out__.write(binomial_coefficient_log); local_scalar_t__ read_constrain_lb = DUMMY_VAR__; - current_statement__ = 18; + current_statement__ = 19; read_constrain_lb = in__.read(); out__.write_free_lb(0, read_constrain_lb); local_scalar_t__ read = DUMMY_VAR__; - current_statement__ = 19; + current_statement__ = 20; read = in__.read(); out__.write(read); local_scalar_t__ validate_non_negative_index = DUMMY_VAR__; - current_statement__ = 20; + current_statement__ = 21; validate_non_negative_index = in__.read(); out__.write(validate_non_negative_index); local_scalar_t__ length = DUMMY_VAR__; - current_statement__ = 21; + current_statement__ = 22; length = in__.read(); out__.write(length); Eigen::Matrix validate_positive_index = Eigen::Matrix::Constant(5, DUMMY_VAR__); - current_statement__ = 22; + current_statement__ = 23; stan::model::assign(validate_positive_index, in__.read>(5), "assigning variable validate_positive_index"); out__.write_free_simplex(validate_positive_index); local_scalar_t__ profile_map = DUMMY_VAR__; - current_statement__ = 23; + current_statement__ = 24; profile_map = in__.read(); out__.write(profile_map); local_scalar_t__ assign = DUMMY_VAR__; - current_statement__ = 24; + current_statement__ = 25; assign = in__.read(); out__.write(assign); local_scalar_t__ rvalue = DUMMY_VAR__; - current_statement__ = 25; + current_statement__ = 26; rvalue = in__.read(); out__.write(rvalue); local_scalar_t__ stan_print = DUMMY_VAR__; - current_statement__ = 26; + current_statement__ = 27; stan_print = in__.read(); out__.write(stan_print); local_scalar_t__ model_base_crtp = DUMMY_VAR__; - current_statement__ = 27; + current_statement__ = 28; model_base_crtp = in__.read(); out__.write(model_base_crtp); local_scalar_t__ index_uni = DUMMY_VAR__; - current_statement__ = 28; + current_statement__ = 29; index_uni = in__.read(); out__.write(index_uni); local_scalar_t__ bernoulli_logit_glm_lpmf = DUMMY_VAR__; - current_statement__ = 29; + current_statement__ = 30; bernoulli_logit_glm_lpmf = in__.read(); out__.write(bernoulli_logit_glm_lpmf); local_scalar_t__ reduce_sum = DUMMY_VAR__; - current_statement__ = 30; + current_statement__ = 31; reduce_sum = in__.read(); out__.write(reduce_sum); Eigen::Matrix segment = Eigen::Matrix::Constant(4, DUMMY_VAR__); - current_statement__ = 31; + current_statement__ = 32; stan::model::assign(segment, in__.read>(4), "assigning variable segment"); out__.write(segment); local_scalar_t__ ode_bdf = DUMMY_VAR__; - current_statement__ = 32; + current_statement__ = 33; ode_bdf = in__.read(); out__.write(ode_bdf); local_scalar_t__ ode_bdf_tol = DUMMY_VAR__; - current_statement__ = 33; + current_statement__ = 34; ode_bdf_tol = in__.read(); out__.write(ode_bdf_tol); } catch (const std::exception& e) { @@ -36442,55 +36454,58 @@ class shadowing_model final : public model_base_crtp { context__.validate_dims("parameter initialization", "multiply", "double", std::vector{}); current_statement__ = 17; + context__.validate_dims("parameter initialization", "lchoose", + "double", std::vector{}); + current_statement__ = 18; context__.validate_dims("parameter initialization", "binomial_coefficient_log", "double", std::vector{}); - current_statement__ = 18; + current_statement__ = 19; context__.validate_dims("parameter initialization", "read_constrain_lb", "double", std::vector{}); - current_statement__ = 19; + current_statement__ = 20; context__.validate_dims("parameter initialization", "read", "double", std::vector{}); - current_statement__ = 20; + current_statement__ = 21; context__.validate_dims("parameter initialization", "validate_non_negative_index", "double", std::vector{}); - current_statement__ = 21; + current_statement__ = 22; context__.validate_dims("parameter initialization", "length", "double", std::vector{}); - current_statement__ = 22; + current_statement__ = 23; context__.validate_dims("parameter initialization", "validate_positive_index", "double", std::vector{static_cast(5)}); - current_statement__ = 23; + current_statement__ = 24; context__.validate_dims("parameter initialization", "profile_map", "double", std::vector{}); - current_statement__ = 24; + current_statement__ = 25; context__.validate_dims("parameter initialization", "assign", "double", std::vector{}); - current_statement__ = 25; + current_statement__ = 26; context__.validate_dims("parameter initialization", "rvalue", "double", std::vector{}); - current_statement__ = 26; + current_statement__ = 27; context__.validate_dims("parameter initialization", "stan_print", "double", std::vector{}); - current_statement__ = 27; + current_statement__ = 28; context__.validate_dims("parameter initialization", "model_base_crtp", "double", std::vector{}); - current_statement__ = 28; + current_statement__ = 29; context__.validate_dims("parameter initialization", "index_uni", "double", std::vector{}); - current_statement__ = 29; + current_statement__ = 30; context__.validate_dims("parameter initialization", "bernoulli_logit_glm_lpmf", "double", std::vector{}); - current_statement__ = 30; + current_statement__ = 31; context__.validate_dims("parameter initialization", "reduce_sum", "double", std::vector{}); - current_statement__ = 31; + current_statement__ = 32; context__.validate_dims("parameter initialization", "segment", "double", std::vector{static_cast(4)}); - current_statement__ = 32; + current_statement__ = 33; context__.validate_dims("parameter initialization", "ode_bdf", "double", std::vector{}); - current_statement__ = 33; + current_statement__ = 34; context__.validate_dims("parameter initialization", "ode_bdf_tol", "double", std::vector{}); int pos__ = std::numeric_limits::min(); @@ -36559,33 +36574,37 @@ class shadowing_model final : public model_base_crtp { current_statement__ = 16; multiply = context__.vals_r("multiply")[(1 - 1)]; out__.write(multiply); - local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + local_scalar_t__ lchoose = DUMMY_VAR__; current_statement__ = 17; + lchoose = context__.vals_r("lchoose")[(1 - 1)]; + out__.write(lchoose); + local_scalar_t__ binomial_coefficient_log = DUMMY_VAR__; + current_statement__ = 18; binomial_coefficient_log = context__.vals_r("binomial_coefficient_log")[(1 - 1)]; out__.write(binomial_coefficient_log); local_scalar_t__ read_constrain_lb = DUMMY_VAR__; - current_statement__ = 18; + current_statement__ = 19; read_constrain_lb = context__.vals_r("read_constrain_lb")[(1 - 1)]; out__.write_free_lb(0, read_constrain_lb); local_scalar_t__ read = DUMMY_VAR__; - current_statement__ = 19; + current_statement__ = 20; read = context__.vals_r("read")[(1 - 1)]; out__.write(read); local_scalar_t__ validate_non_negative_index = DUMMY_VAR__; - current_statement__ = 20; + current_statement__ = 21; validate_non_negative_index = context__.vals_r("validate_non_negative_index")[(1 - 1)]; out__.write(validate_non_negative_index); local_scalar_t__ length = DUMMY_VAR__; - current_statement__ = 21; + current_statement__ = 22; length = context__.vals_r("length")[(1 - 1)]; out__.write(length); Eigen::Matrix validate_positive_index = Eigen::Matrix::Constant(5, DUMMY_VAR__); { std::vector validate_positive_index_flat__; - current_statement__ = 22; + current_statement__ = 23; validate_positive_index_flat__ = context__.vals_r("validate_positive_index"); pos__ = 1; for (int sym1__ = 1; sym1__ <= 5; ++sym1__) { @@ -36598,43 +36617,43 @@ class shadowing_model final : public model_base_crtp { } out__.write_free_simplex(validate_positive_index); local_scalar_t__ profile_map = DUMMY_VAR__; - current_statement__ = 23; + current_statement__ = 24; profile_map = context__.vals_r("profile_map")[(1 - 1)]; out__.write(profile_map); local_scalar_t__ assign = DUMMY_VAR__; - current_statement__ = 24; + current_statement__ = 25; assign = context__.vals_r("assign")[(1 - 1)]; out__.write(assign); local_scalar_t__ rvalue = DUMMY_VAR__; - current_statement__ = 25; + current_statement__ = 26; rvalue = context__.vals_r("rvalue")[(1 - 1)]; out__.write(rvalue); local_scalar_t__ stan_print = DUMMY_VAR__; - current_statement__ = 26; + current_statement__ = 27; stan_print = context__.vals_r("stan_print")[(1 - 1)]; out__.write(stan_print); local_scalar_t__ model_base_crtp = DUMMY_VAR__; - current_statement__ = 27; + current_statement__ = 28; model_base_crtp = context__.vals_r("model_base_crtp")[(1 - 1)]; out__.write(model_base_crtp); local_scalar_t__ index_uni = DUMMY_VAR__; - current_statement__ = 28; + current_statement__ = 29; index_uni = context__.vals_r("index_uni")[(1 - 1)]; out__.write(index_uni); local_scalar_t__ bernoulli_logit_glm_lpmf = DUMMY_VAR__; - current_statement__ = 29; + current_statement__ = 30; bernoulli_logit_glm_lpmf = context__.vals_r("bernoulli_logit_glm_lpmf")[(1 - 1)]; out__.write(bernoulli_logit_glm_lpmf); local_scalar_t__ reduce_sum = DUMMY_VAR__; - current_statement__ = 30; + current_statement__ = 31; reduce_sum = context__.vals_r("reduce_sum")[(1 - 1)]; out__.write(reduce_sum); Eigen::Matrix segment = Eigen::Matrix::Constant(4, DUMMY_VAR__); { std::vector segment_flat__; - current_statement__ = 31; + current_statement__ = 32; segment_flat__ = context__.vals_r("segment"); pos__ = 1; for (int sym1__ = 1; sym1__ <= 4; ++sym1__) { @@ -36645,11 +36664,11 @@ class shadowing_model final : public model_base_crtp { } out__.write(segment); local_scalar_t__ ode_bdf = DUMMY_VAR__; - current_statement__ = 32; + current_statement__ = 33; ode_bdf = context__.vals_r("ode_bdf")[(1 - 1)]; out__.write(ode_bdf); local_scalar_t__ ode_bdf_tol = DUMMY_VAR__; - current_statement__ = 33; + current_statement__ = 34; ode_bdf_tol = context__.vals_r("ode_bdf_tol")[(1 - 1)]; out__.write(ode_bdf_tol); } catch (const std::exception& e) { @@ -36663,10 +36682,11 @@ class shadowing_model final : public model_base_crtp { names__ = std::vector{"e", "pi", "log2", "log10", "sqrt2", "not_a_number", "positive_infinity", "negative_infinity", "machine_precision", "inv_logit", "logit", "num_elements", - "pow", "add", "sub", "multiply", "binomial_coefficient_log", - "read_constrain_lb", "read", "validate_non_negative_index", - "length", "validate_positive_index", "profile_map", "assign", - "rvalue", "stan_print", "model_base_crtp", "index_uni", + "pow", "add", "sub", "multiply", "lchoose", + "binomial_coefficient_log", "read_constrain_lb", "read", + "validate_non_negative_index", "length", + "validate_positive_index", "profile_map", "assign", "rvalue", + "stan_print", "model_base_crtp", "index_uni", "bernoulli_logit_glm_lpmf", "reduce_sum", "segment", "ode_bdf", "ode_bdf_tol"}; if (emit_transformed_parameters__) { @@ -36691,6 +36711,7 @@ class shadowing_model final : public model_base_crtp { std::vector{}, std::vector{}, std::vector{}, std::vector{}, std::vector{}, std::vector{}, + std::vector{}, std::vector{static_cast(5)}, std::vector{}, std::vector{}, std::vector{}, std::vector{}, @@ -36729,6 +36750,7 @@ class shadowing_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "add"); param_names__.emplace_back(std::string() + "sub"); param_names__.emplace_back(std::string() + "multiply"); + param_names__.emplace_back(std::string() + "lchoose"); param_names__.emplace_back(std::string() + "binomial_coefficient_log"); param_names__.emplace_back(std::string() + "read_constrain_lb"); param_names__.emplace_back(std::string() + "read"); @@ -36787,6 +36809,7 @@ class shadowing_model final : public model_base_crtp { param_names__.emplace_back(std::string() + "add"); param_names__.emplace_back(std::string() + "sub"); param_names__.emplace_back(std::string() + "multiply"); + param_names__.emplace_back(std::string() + "lchoose"); param_names__.emplace_back(std::string() + "binomial_coefficient_log"); param_names__.emplace_back(std::string() + "read_constrain_lb"); param_names__.emplace_back(std::string() + "read"); @@ -36826,10 +36849,10 @@ class shadowing_model final : public model_base_crtp { if (emit_generated_quantities__) {} } inline std::string get_constrained_sizedtypes() const { - return std::string("[{\"name\":\"e\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log10\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sqrt2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"not_a_number\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"positive_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"negative_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"machine_precision\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"inv_logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"num_elements\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pow\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"add\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sub\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"multiply\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"binomial_coefficient_log\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read_constrain_lb\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_non_negative_index\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"length\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_positive_index\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(5) + "},\"block\":\"parameters\"},{\"name\":\"profile_map\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"assign\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"rvalue\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"stan_print\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"model_base_crtp\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"index_uni\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"bernoulli_logit_glm_lpmf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"reduce_sum\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"segment\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"ode_bdf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ode_bdf_tol\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"called\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"result\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(result_1dim__) + "},\"block\":\"transformed_parameters\"}]"); + return std::string("[{\"name\":\"e\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log10\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sqrt2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"not_a_number\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"positive_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"negative_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"machine_precision\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"inv_logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"num_elements\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pow\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"add\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sub\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"multiply\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"lchoose\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"binomial_coefficient_log\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read_constrain_lb\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_non_negative_index\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"length\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_positive_index\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(5) + "},\"block\":\"parameters\"},{\"name\":\"profile_map\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"assign\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"rvalue\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"stan_print\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"model_base_crtp\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"index_uni\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"bernoulli_logit_glm_lpmf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"reduce_sum\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"segment\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"ode_bdf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ode_bdf_tol\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"called\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"result\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(result_1dim__) + "},\"block\":\"transformed_parameters\"}]"); } inline std::string get_unconstrained_sizedtypes() const { - return std::string("[{\"name\":\"e\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log10\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sqrt2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"not_a_number\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"positive_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"negative_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"machine_precision\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"inv_logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"num_elements\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pow\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"add\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sub\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"multiply\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"binomial_coefficient_log\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read_constrain_lb\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_non_negative_index\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"length\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_positive_index\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((5 -1)) + "},\"block\":\"parameters\"},{\"name\":\"profile_map\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"assign\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"rvalue\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"stan_print\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"model_base_crtp\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"index_uni\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"bernoulli_logit_glm_lpmf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"reduce_sum\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"segment\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"ode_bdf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ode_bdf_tol\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"called\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"result\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(result_1dim__) + "},\"block\":\"transformed_parameters\"}]"); + return std::string("[{\"name\":\"e\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pi\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"log10\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sqrt2\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"not_a_number\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"positive_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"negative_infinity\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"machine_precision\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"inv_logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"logit\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"num_elements\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"pow\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"add\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"sub\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"multiply\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"lchoose\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"binomial_coefficient_log\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read_constrain_lb\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"read\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_non_negative_index\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"length\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"validate_positive_index\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string((5 -1)) + "},\"block\":\"parameters\"},{\"name\":\"profile_map\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"assign\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"rvalue\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"stan_print\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"model_base_crtp\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"index_uni\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"bernoulli_logit_glm_lpmf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"reduce_sum\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"segment\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "},\"block\":\"parameters\"},{\"name\":\"ode_bdf\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"ode_bdf_tol\",\"type\":{\"name\":\"real\"},\"block\":\"parameters\"},{\"name\":\"mu\",\"type\":{\"name\":\"real\"},\"block\":\"transformed_parameters\"},{\"name\":\"called\",\"type\":{\"name\":\"array\",\"length\":" + std::to_string(1) + ",\"element_type\":{\"name\":\"vector\",\"length\":" + std::to_string(4) + "}},\"block\":\"transformed_parameters\"},{\"name\":\"result\",\"type\":{\"name\":\"vector\",\"length\":" + std::to_string(result_1dim__) + "},\"block\":\"transformed_parameters\"}]"); } // Begin method overload boilerplate template inline void @@ -36838,10 +36861,10 @@ class shadowing_model final : public model_base_crtp { emit_transformed_parameters = true, const bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - const size_t num_params__ = ((((((((((((((((((((((((((((((((1 + 1) + 1) + - 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + - 1) + 1) + 1) + 1) + 5) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 4) + - 1) + 1); + const size_t num_params__ = (((((((((((((((((((((((((((((((((1 + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 5) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 4) + 1) + 1); const size_t num_transformed = emit_transformed_parameters * (((1 + (1 * 4)) + result_1dim__)); const size_t num_gen_quantities = emit_generated_quantities * (0); @@ -36859,10 +36882,10 @@ class shadowing_model final : public model_base_crtp { emit_transformed_parameters = true, bool emit_generated_quantities = true, std::ostream* pstream = nullptr) const { - const size_t num_params__ = ((((((((((((((((((((((((((((((((1 + 1) + 1) + - 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + - 1) + 1) + 1) + 1) + 5) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 4) + - 1) + 1); + const size_t num_params__ = (((((((((((((((((((((((((((((((((1 + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 1) + 1) + 1) + 1) + 1) + 5) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + 1) + + 4) + 1) + 1); const size_t num_transformed = emit_transformed_parameters * (((1 + (1 * 4)) + result_1dim__)); const size_t num_gen_quantities = emit_generated_quantities * (0); @@ -36935,9 +36958,6 @@ stan::math::profile_map& get_stan_profile_data() { return shadowing_model_namespace::profiles__; } #endif -Warning in 'shadowing.stan', line 67, column 50: binomial_coefficient_log is - deprecated and will be removed in Stan 2.33.0. Use lchoose instead. This - can be automatically changed using the canonicalize flag for stanc $ ../../../../../install/default/bin/stanc --print-cpp single-argument-lpmf.stan // Code generated by %%NAME%% %%VERSION%% #include diff --git a/test/integration/good/code-gen/shadowing.stan b/test/integration/good/code-gen/shadowing.stan index 6ad42f5738..7f8a114fe6 100644 --- a/test/integration/good/code-gen/shadowing.stan +++ b/test/integration/good/code-gen/shadowing.stan @@ -30,6 +30,7 @@ parameters { real add; real sub; real multiply; + real lchoose; real binomial_coefficient_log; // try to break internal functions @@ -64,7 +65,7 @@ transformed parameters { mu = add + add - sub; - mu += binomial_coefficient_log * lchoose(3,4) * binomial_coefficient_log(3,4); + mu += lchoose * lchoose(3,4) * binomial_coefficient_log; array[1] vector[4] called = ode_bdf(rhs, segment, 1.0, {3.0}, 3.5); diff --git a/test/integration/good/warning/deprecated_syntax.stan b/test/integration/good/warning/deprecated_syntax.stan index ce9ad57aca..885019d976 100644 --- a/test/integration/good/warning/deprecated_syntax.stan +++ b/test/integration/good/warning/deprecated_syntax.stan @@ -1,74 +1,21 @@ -functions { - real foo_log(real alpha, real beta){ - return 1.0; - } - - real foo_t_log(real alpha, real beta){ - return 1.0; - } -} - -data { - real a; - vector[3] b; - real c[7]; - real d[8, 9]; -} parameters { - real y; - real e; - vector[3] f; - real g[7]; - real h[8, 9]; + } model { - // old distriubtion suffixes - target += normal_log(y, 0, 1) - + normal_cdf_log(2, 0, 1) - + normal_ccdf_log(3, 0, 1); - // increment log prob - increment_log_prob(a); - increment_log_prob(b); - increment_log_prob(b); - increment_log_prob(c); - increment_log_prob(d); - increment_log_prob(e); - increment_log_prob(f); - increment_log_prob(g); - increment_log_prob(h); - // cdf without | - increment_log_prob(bernoulli_cdf(0,1)); - // getlp - real x = get_lp(); - // old array syntax - real xyz[5]; - // future reserved words - int offset; - int array; - // deprecated functions - real z = multiply_log(3.4,3.5); - - # old comment - - // old assign - z <- 3; - - // _log UDFs - target += foo_t_log(1,3); - 1 ~ foo(3); - + real z = 3.0; + real x = target(); + array[5] real xyz; + if (1 < 2 < 3 < 4) { // multiple comparisons } while (z) { // real as boolean value - if (1.0){ + if (1.0) { // same } if (x && !z || xyz[3]) { // more boolean reals } } - } - diff --git a/test/integration/good/warning/lkj_cov_deprecation2.stan b/test/integration/good/warning/lkj_cov_deprecation2.stan index 58e95a355e..96aadae19c 100644 --- a/test/integration/good/warning/lkj_cov_deprecation2.stan +++ b/test/integration/good/warning/lkj_cov_deprecation2.stan @@ -1,9 +1,9 @@ -parameters { +parameters { cov_matrix[3] Sigma; vector[3] mu; vector[3] sigma; real eta; } model { - increment_log_prob(lkj_cov_log(Sigma,mu,sigma,eta)); + target += lkj_cov_lpdf(Sigma | mu, sigma, eta); } diff --git a/test/integration/good/warning/pretty.expected b/test/integration/good/warning/pretty.expected index 276b9d3a3e..b138c4dedc 100644 --- a/test/integration/good/warning/pretty.expected +++ b/test/integration/good/warning/pretty.expected @@ -1,1489 +1,11 @@ - $ ../../../../../install/default/bin/stanc --auto-format abs-deprecate.stan -transformed data { - real mu; - mu = fabs(-1.2); -} -parameters { - real y; -} -model { - y ~ normal(mu, 1); -} - -Warning in 'abs-deprecate.stan', line 3, column 7: fabs is deprecated and - will be removed in Stan 2.33.0. Use abs instead. This can be - automatically changed using the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format binomial_coefficient_log.stan -data { - int d_int; - int r_int; - real d_real; - real r_real; -} -transformed data { - int transformed_data_int; - real transformed_data_real; - - transformed_data_real = binomial_coefficient_log(d_real, r_real); - transformed_data_real = binomial_coefficient_log(d_int, r_real); - transformed_data_real = binomial_coefficient_log(d_real, d_int); - transformed_data_real = binomial_coefficient_log(r_int, d_int); -} -parameters { - real p_real; - real y_p; -} -transformed parameters { - real transformed_param_real; - - transformed_param_real = binomial_coefficient_log(d_real, r_real); - transformed_param_real = binomial_coefficient_log(d_int, r_real); - transformed_param_real = binomial_coefficient_log(d_real, d_int); - transformed_param_real = binomial_coefficient_log(r_int, d_int); - - transformed_param_real = binomial_coefficient_log(r_int, p_real); - transformed_param_real = binomial_coefficient_log(r_real, p_real); - transformed_param_real = binomial_coefficient_log(p_real, p_real); - transformed_param_real = binomial_coefficient_log(p_real, r_int); - transformed_param_real = binomial_coefficient_log(p_real, r_real); -} -model { - y_p ~ normal(0, 1); -} - -Warning in 'binomial_coefficient_log.stan', line 12, column 26: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 13, column 26: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 14, column 26: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 15, column 26: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 24, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 25, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 26, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 27, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 29, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 30, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 31, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 32, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'binomial_coefficient_log.stan', line 33, column 28: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format cov_exp_quad.stan -data { - int d_int_1; - int d_int_2; - int K; - real d_sigma; - real d_len; - array[d_int_1] real d_arr_1; - array[d_int_2] real d_arr_2; - array[d_int_1] vector[K] d_vec_1; - array[d_int_2] vector[K] d_vec_2; - array[d_int_1] row_vector[K] d_rvec_1; - array[d_int_2] row_vector[K] d_rvec_2; -} -transformed data { - matrix[d_int_1, d_int_1] transformed_data_matrix; - - transformed_data_matrix = cov_exp_quad(d_arr_1, d_sigma, d_len); - transformed_data_matrix = cov_exp_quad(d_arr_1, d_arr_2, d_sigma, d_len); - transformed_data_matrix = cov_exp_quad(d_vec_1, d_sigma, d_len); - transformed_data_matrix = cov_exp_quad(d_vec_1, d_vec_2, d_sigma, d_len); - transformed_data_matrix = cov_exp_quad(d_rvec_1, d_sigma, d_len); - transformed_data_matrix = cov_exp_quad(d_rvec_1, d_rvec_2, d_sigma, d_len); -} -parameters { - real y_p; - real p_sigma; - real p_len; - array[d_int_1] real p_arr_1; - array[d_int_2] real p_arr_2; - array[d_int_1] vector[K] p_vec_1; - array[d_int_2] vector[K] p_vec_2; - array[d_int_1] row_vector[K] p_rvec_1; - array[d_int_2] row_vector[K] p_rvec_2; -} -transformed parameters { - matrix[d_int_1, d_int_1] transformed_param_matrix; - - transformed_param_matrix = cov_exp_quad(p_arr_1, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_arr_1, p_arr_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, p_arr_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, p_arr_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, p_arr_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_arr_1, d_arr_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, d_arr_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, d_arr_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_arr_1, d_arr_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_arr_1, d_arr_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, d_arr_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, d_arr_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, d_arr_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_arr_1, p_arr_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, p_arr_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, p_arr_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(d_arr_1, p_arr_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_vec_1, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_vec_1, p_vec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, p_vec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, p_vec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, p_vec_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_vec_1, d_vec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, d_vec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, d_vec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_vec_1, d_vec_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_vec_1, d_vec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_vec_1, d_vec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_vec_1, d_vec_2, p_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_vec_1, p_vec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_vec_1, p_vec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_vec_1, p_vec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(d_vec_1, p_vec_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_rvec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_rvec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_rvec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, p_rvec_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_rvec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_rvec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_rvec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(p_rvec_1, d_rvec_2, d_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_rvec_1, d_rvec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_rvec_1, d_rvec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_rvec_1, d_rvec_2, p_sigma, d_len); - - transformed_param_matrix = cov_exp_quad(d_rvec_1, p_rvec_2, p_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_rvec_1, p_rvec_2, d_sigma, p_len); - transformed_param_matrix = cov_exp_quad(d_rvec_1, p_rvec_2, p_sigma, d_len); - transformed_param_matrix = cov_exp_quad(d_rvec_1, p_rvec_2, d_sigma, d_len); -} -model { - y_p ~ normal(0, 1); -} - -Warning in 'cov_exp_quad.stan', line 17, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 18, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 19, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 20, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 21, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 22, column 28: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 38, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 39, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 40, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 41, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 43, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 44, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 45, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 46, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 48, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 49, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 50, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 51, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 53, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 54, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 55, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 56, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 58, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 59, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 60, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 61, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 63, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 64, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 65, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 66, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 68, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 69, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 70, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 71, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 73, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 74, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 75, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 76, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 78, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 79, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 80, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 82, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 83, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 84, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 85, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 87, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 88, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 89, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 90, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 92, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 93, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 94, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 95, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 97, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 98, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 99, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 100, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 102, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 103, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 104, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 106, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 107, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 108, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc -Warning in 'cov_exp_quad.stan', line 109, column 29: cov_exp_quad is - deprecated and will be removed in Stan 2.33.0. Use gp_exp_quad_cov - instead. This can be automatically changed using the canonicalize flag - for stanc - $ ../../../../../install/default/bin/stanc --auto-format decl.stan -data { - array[5] int array; // this is terrible - array[5] int array2; -} - -Warning in 'decl.stan', line 2, column 7: Variable name 'array' will be a - reserved word starting in Stan 2.33.0. Please rename it! -Warning in 'decl.stan', line 2, column 3: Declaration of arrays by placing - brackets after a variable name is deprecated and will be removed in Stan - 2.33.0. Instead use the array keyword before the type. This can be - changed automatically using the auto-format flag to stanc - $ ../../../../../install/default/bin/stanc --auto-format declarations.stan -data { - int a0; - array[1] int a1; - array[2, 3] int a2; - array[1] int a3; - array[2, 3] int a4; - - real b0; - array[4] real b1; - array[5, 6] real b2; - array[4] real b3; - array[5, 6] real b4; - - vector[7] c0; - array[8] vector[7] c1; - array[8, 9] vector[7] c2; - array[8] vector[7] c3; - array[8, 9] vector[7] c4; - - row_vector[7] d0; - array[8] row_vector[7] d1; - array[8, 9] row_vector[7] d2; - array[8] row_vector[7] d3; - array[8, 9] row_vector[7] d4; - - matrix[8, 9] e; - array[11] matrix[8, 9] e1; - array[11, 12] matrix[8, 9] e2; - array[11] matrix[8, 9] e3; - array[11, 12] matrix[8, 9] e4; - - simplex[8] f; - array[9] simplex[8] f1; - array[9, 10] simplex[8] f2; - array[9] simplex[8] f3; - array[9, 10] simplex[8] f4; - - ordered[9] g; - array[11] ordered[9] g1; - array[12, 13] ordered[9] g2; - array[11] ordered[9] g3; - array[12, 13] ordered[9] g4; - - positive_ordered[9] h; - array[11] positive_ordered[9] h1; - array[12, 13] positive_ordered[9] h2; - array[11] positive_ordered[9] h3; - array[12, 13] positive_ordered[9] h4; - - corr_matrix[10] j; - array[3] corr_matrix[10] j1; - array[5, 6] corr_matrix[10] j2; - array[3] corr_matrix[10] j3; - array[5, 6] corr_matrix[10] j4; - - cov_matrix[10] k; - array[3] cov_matrix[10] k1; - array[5, 6] cov_matrix[10] k2; - array[3] cov_matrix[10] k3; - array[5, 6] cov_matrix[10] k4; -} -transformed data { - int td_a0; - array[1] int td_a1; - array[2, 3] int td_a2; - array[1] int td_a3; - array[2, 3] int td_a4; - - real td_b0; - array[4] real td_b1; - array[5, 6] real td_b2; - array[4] real td_b3; - array[5, 6] real td_b4; - - vector[7] td_c0; - array[8] vector[7] td_c1; - array[8, 9] vector[7] td_c2; - array[8] vector[7] td_c3; - array[8, 9] vector[7] td_c4; - - row_vector[7] td_d0; - array[8] row_vector[7] td_d1; - array[8, 9] row_vector[7] td_d2; - array[8] row_vector[7] td_d3; - array[8, 9] row_vector[7] td_d4; - - matrix[8, 9] td_e; - array[11] matrix[8, 9] td_e1; - array[11, 12] matrix[8, 9] td_e2; - array[11] matrix[8, 9] td_e3; - array[11, 12] matrix[8, 9] td_e4; - - simplex[8] td_f; - array[9] simplex[8] td_f1; - array[9, 10] simplex[8] td_f2; - array[9] simplex[8] td_f3; - array[9, 10] simplex[8] td_f4; - - ordered[9] td_g; - array[11] ordered[9] td_g1; - array[12, 13] ordered[9] td_g2; - array[11] ordered[9] td_g3; - array[12, 13] ordered[9] td_g4; - - positive_ordered[9] td_h; - array[11] positive_ordered[9] td_h1; - array[12, 13] positive_ordered[9] td_h2; - array[11] positive_ordered[9] td_h3; - array[12, 13] positive_ordered[9] td_h4; - - corr_matrix[10] td_j; - array[3] corr_matrix[10] td_j1; - array[5, 6] corr_matrix[10] td_j2; - array[3] corr_matrix[10] td_j3; - array[5, 6] corr_matrix[10] td_j4; - - cov_matrix[10] td_k; - array[3] cov_matrix[10] td_k1; - array[5, 6] cov_matrix[10] td_k2; - array[3] cov_matrix[10] td_k3; - array[5, 6] cov_matrix[10] td_k4; - - { - int loc_td_a0; - array[1] int loc_td_a1; - array[2, 3] int loc_td_a2; - array[1] int loc_td_a3; - array[2, 3] int loc_td_a4; - - real loc_td_b0; - array[4] real loc_td_b1; - array[5, 6] real loc_td_b2; - array[4] real loc_td_b3; - array[5, 6] real loc_td_b4; - - vector[7] loc_td_c0; - array[8] vector[7] loc_td_c1; - array[8, 9] vector[7] loc_td_c2; - array[8] vector[7] loc_td_c3; - array[8, 9] vector[7] loc_td_c4; - - row_vector[7] loc_td_d0; - array[8] row_vector[7] loc_td_d1; - array[8, 9] row_vector[7] loc_td_d2; - array[8] row_vector[7] loc_td_d3; - array[8, 9] row_vector[7] loc_td_d4; - - matrix[8, 9] loc_td_e; - array[11] matrix[8, 9] loc_td_e1; - array[11, 12] matrix[8, 9] loc_td_e2; - array[11] matrix[8, 9] loc_td_e3; - array[11, 12] matrix[8, 9] loc_td_e4; - } -} -parameters { - real par_b0; - array[4] real par_b1; - array[5, 6] real par_b2; - array[4] real par_b3; - array[5, 6] real par_b4; - - vector[7] par_c0; - array[8] vector[7] par_c1; - array[8, 9] vector[7] par_c2; - array[8] vector[7] par_c3; - array[8, 9] vector[7] par_c4; - - row_vector[7] par_d0; - array[8] row_vector[7] par_d1; - array[8, 9] row_vector[7] par_d2; - array[8] row_vector[7] par_d3; - array[8, 9] row_vector[7] par_d4; - - matrix[8, 9] par_e; - array[11] matrix[8, 9] par_e1; - array[11, 12] matrix[8, 9] par_e2; - array[11] matrix[8, 9] par_e3; - array[11, 12] matrix[8, 9] par_e4; - - simplex[8] par_f; - array[9] simplex[8] par_f1; - array[9, 10] simplex[8] par_f2; - array[9] simplex[8] par_f3; - array[9, 10] simplex[8] par_f4; - - ordered[9] par_g; - array[11] ordered[9] par_g1; - array[12, 13] ordered[9] par_g2; - array[11] ordered[9] par_g3; - array[12, 13] ordered[9] par_g4; - - positive_ordered[9] par_h; - array[11] positive_ordered[9] par_h1; - array[12, 13] positive_ordered[9] par_h2; - array[11] positive_ordered[9] par_h3; - array[12, 13] positive_ordered[9] par_h4; - - corr_matrix[10] par_j; - array[3] corr_matrix[10] par_j1; - array[5, 6] corr_matrix[10] par_j2; - array[3] corr_matrix[10] par_j3; - array[5, 6] corr_matrix[10] par_j4; - - cov_matrix[10] par_k; - array[3] cov_matrix[10] par_k1; - array[5, 6] cov_matrix[10] par_k2; - array[3] cov_matrix[10] par_k3; - array[5, 6] cov_matrix[10] par_k4; -} -transformed parameters { - real tpar_b0; - array[4] real tpar_b1; - array[5, 6] real tpar_b2; - array[4] real tpar_b3; - array[5, 6] real tpar_b4; - - vector[7] tpar_c0; - array[8] vector[7] tpar_c1; - array[8, 9] vector[7] tpar_c2; - array[8] vector[7] tpar_c3; - array[8, 9] vector[7] tpar_c4; - - row_vector[7] tpar_d0; - array[8] row_vector[7] tpar_d1; - array[8, 9] row_vector[7] tpar_d2; - array[8] row_vector[7] tpar_d3; - array[8, 9] row_vector[7] tpar_d4; - - matrix[8, 9] tpar_e; - array[11] matrix[8, 9] tpar_e1; - array[11, 12] matrix[8, 9] tpar_e2; - array[11] matrix[8, 9] tpar_e3; - array[11, 12] matrix[8, 9] tpar_e4; - - simplex[8] tpar_f; - array[9] simplex[8] tpar_f1; - array[9, 10] simplex[8] tpar_f2; - array[9] simplex[8] tpar_f3; - array[9, 10] simplex[8] tpar_f4; - - ordered[9] tpar_g; - array[11] ordered[9] tpar_g1; - array[12, 13] ordered[9] tpar_g2; - array[11] ordered[9] tpar_g3; - array[12, 13] ordered[9] tpar_g4; - - positive_ordered[9] tpar_h; - array[11] positive_ordered[9] tpar_h1; - array[12, 13] positive_ordered[9] tpar_h2; - array[11] positive_ordered[9] tpar_h3; - array[12, 13] positive_ordered[9] tpar_h4; - - corr_matrix[10] tpar_j; - array[3] corr_matrix[10] tpar_j1; - array[5, 6] corr_matrix[10] tpar_j2; - array[3] corr_matrix[10] tpar_j3; - array[5, 6] corr_matrix[10] tpar_j4; - - cov_matrix[10] tpar_k; - array[3] cov_matrix[10] tpar_k1; - array[5, 6] cov_matrix[10] tpar_k2; - array[3] cov_matrix[10] tpar_k3; - array[5, 6] cov_matrix[10] tpar_k4; - - { - int loc_tpar_a0; - array[1] int loc_tpar_a1; - array[2, 3] int loc_tpar_a2; - array[1] int loc_tpar_a3; - array[2, 3] int loc_tpar_a4; - - real loc_tpar_b0; - array[4] real loc_tpar_b1; - array[5, 6] real loc_tpar_b2; - array[4] real loc_tpar_b3; - array[5, 6] real loc_tpar_b4; - - vector[7] loc_tpar_c0; - array[8] vector[7] loc_tpar_c1; - array[8, 9] vector[7] loc_tpar_c2; - array[8] vector[7] loc_tpar_c3; - array[8, 9] vector[7] loc_tpar_c4; - - row_vector[7] loc_tpar_d0; - array[8] row_vector[7] loc_tpar_d1; - array[8, 9] row_vector[7] loc_tpar_d2; - array[8] row_vector[7] loc_tpar_d3; - array[8, 9] row_vector[7] loc_tpar_d4; - - matrix[8, 9] loc_tpar_e; - array[11] matrix[8, 9] loc_tpar_e1; - array[11, 12] matrix[8, 9] loc_tpar_e2; - array[11] matrix[8, 9] loc_tpar_e3; - array[11, 12] matrix[8, 9] loc_tpar_e4; - } -} -model { - { - int loc_model_a0; - array[1] int loc_model_a1; - array[2, 3] int loc_model_a2; - array[1] int loc_model_a3; - array[2, 3] int loc_model_a4; - - real loc_model_b0; - array[4] real loc_model_b1; - array[5, 6] real loc_model_b2; - array[4] real loc_model_b3; - array[5, 6] real loc_model_b4; - - vector[7] loc_model_c0; - array[8] vector[7] loc_model_c1; - array[8, 9] vector[7] loc_model_c2; - array[8] vector[7] loc_model_c3; - array[8, 9] vector[7] loc_model_c4; - - row_vector[7] loc_model_d0; - array[8] row_vector[7] loc_model_d1; - array[8, 9] row_vector[7] loc_model_d2; - array[8] row_vector[7] loc_model_d3; - array[8, 9] row_vector[7] loc_model_d4; - - matrix[8, 9] loc_model_e; - array[11] matrix[8, 9] loc_model_e1; - array[11, 12] matrix[8, 9] loc_model_e2; - array[11] matrix[8, 9] loc_model_e3; - array[11, 12] matrix[8, 9] loc_model_e4; - } -} -generated quantities { - real gq_b0; - array[4] real gq_b1; - array[5, 6] real gq_b2; - array[4] real gq_b3; - array[5, 6] real gq_b4; - - vector[7] gq_c0; - array[8] vector[7] gq_c1; - array[8, 9] vector[7] gq_c2; - array[8] vector[7] gq_c3; - array[8, 9] vector[7] gq_c4; - - row_vector[7] gq_d0; - array[8] row_vector[7] gq_d1; - array[8, 9] row_vector[7] gq_d2; - array[8] row_vector[7] gq_d3; - array[8, 9] row_vector[7] gq_d4; - - matrix[8, 9] gq_e; - array[11] matrix[8, 9] gq_e1; - array[11, 12] matrix[8, 9] gq_e2; - array[11] matrix[8, 9] gq_e3; - array[11, 12] matrix[8, 9] gq_e4; - - simplex[8] gq_f; - array[9] simplex[8] gq_f1; - array[9, 10] simplex[8] gq_f2; - array[9] simplex[8] gq_f3; - array[9, 10] simplex[8] gq_f4; - - ordered[9] gq_g; - array[11] ordered[9] gq_g1; - array[12, 13] ordered[9] gq_g2; - array[11] ordered[9] gq_g3; - array[12, 13] ordered[9] gq_g4; - - positive_ordered[9] gq_h; - array[11] positive_ordered[9] gq_h1; - array[12, 13] positive_ordered[9] gq_h2; - array[11] positive_ordered[9] gq_h3; - array[12, 13] positive_ordered[9] gq_h4; - - corr_matrix[10] gq_j; - array[3] corr_matrix[10] gq_j1; - array[5, 6] corr_matrix[10] gq_j2; - array[3] corr_matrix[10] gq_j3; - array[5, 6] corr_matrix[10] gq_j4; - - cov_matrix[10] gq_k; - array[3] cov_matrix[10] gq_k1; - array[5, 6] cov_matrix[10] gq_k2; - array[3] cov_matrix[10] gq_k3; - array[5, 6] cov_matrix[10] gq_k4; - - { - int loc_gq_a0; - array[1] int loc_gq_a1; - array[2, 3] int loc_gq_a2; - array[1] int loc_gq_a3; - array[2, 3] int loc_gq_a4; - - real loc_gq_b0; - array[4] real loc_gq_b1; - array[5, 6] real loc_gq_b2; - array[4] real loc_gq_b3; - array[5, 6] real loc_gq_b4; - - vector[7] loc_gq_c0; - array[8] vector[7] loc_gq_c1; - array[8, 9] vector[7] loc_gq_c2; - array[8] vector[7] loc_gq_c3; - array[8, 9] vector[7] loc_gq_c4; - - row_vector[7] loc_gq_d0; - array[8] row_vector[7] loc_gq_d1; - array[8, 9] row_vector[7] loc_gq_d2; - array[8] row_vector[7] loc_gq_d3; - array[8, 9] row_vector[7] loc_gq_d4; - - matrix[8, 9] loc_gq_e; - array[11] matrix[8, 9] loc_gq_e1; - array[11, 12] matrix[8, 9] loc_gq_e2; - array[11] matrix[8, 9] loc_gq_e3; - array[11, 12] matrix[8, 9] loc_gq_e4; - } -} - -Warning in 'declarations.stan', line 3, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 4, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 9, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 10, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 15, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 16, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 21, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 22, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 27, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 28, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 33, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 34, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 39, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 40, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 45, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 46, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 51, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 52, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 57, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 58, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 64, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 65, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 70, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 71, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 76, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 77, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 82, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 83, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 88, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 89, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 94, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 95, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 100, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 101, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 106, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 107, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 112, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 113, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 118, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 119, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 125, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 126, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 131, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 132, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 137, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 138, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 143, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 144, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 149, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 150, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 157, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 158, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 163, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 164, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 169, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 170, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 175, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 176, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 181, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 182, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 187, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 188, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 193, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 194, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 199, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 200, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 205, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 206, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 212, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 213, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 218, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 219, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 224, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 225, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 230, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 231, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 236, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 237, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 242, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 243, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 248, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 249, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 254, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 255, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 260, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 261, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 267, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 268, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 273, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 274, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 279, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 280, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 285, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 286, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 291, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 292, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 302, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 303, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 308, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 309, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 314, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 315, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 320, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 321, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 326, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 327, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 335, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 336, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 341, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 342, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 347, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 348, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 353, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 354, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 359, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 360, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 365, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 366, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 371, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 372, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 377, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 378, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 383, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 384, column 2: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 390, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 391, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 396, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 397, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 402, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 403, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 408, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 409, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 414, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc -Warning in 'declarations.stan', line 415, column 4: Declaration of arrays by - placing brackets after a variable name is deprecated and will be removed - in Stan 2.33.0. Instead use the array keyword before the type. This can - be changed automatically using the auto-format flag to stanc $ ../../../../../install/default/bin/stanc --auto-format deprecated_syntax.stan -functions { - real foo_log(real alpha, real beta) { - return 1.0; - } - - real foo_t_log(real alpha, real beta) { - return 1.0; - } -} -data { - real a; - vector[3] b; - array[7] real c; - array[8, 9] real d; -} parameters { - real y; - real e; - vector[3] f; - array[7] real g; - array[8, 9] real h; + } model { - // old distriubtion suffixes - target += normal_log(y, 0, 1) + normal_cdf_log(2, 0, 1) - + normal_ccdf_log(3, 0, 1); - // increment log prob - increment_log_prob(a); - increment_log_prob(b); - increment_log_prob(b); - increment_log_prob(c); - increment_log_prob(d); - increment_log_prob(e); - increment_log_prob(f); - increment_log_prob(g); - increment_log_prob(h); - // cdf without | - increment_log_prob(bernoulli_cdf(0, 1)); - // getlp - real x = get_lp(); - // old array syntax + real z = 3.0; + real x = target(); array[5] real xyz; - // future reserved words - int offset; - int array; - // deprecated functions - real z = multiply_log(3.4, 3.5); - - // old comment - - // old assign - z <- 3; - - // _log UDFs - target += foo_t_log(1, 3); - 1 ~ foo(3); if (1 < 2 < 3 < 4) { // multiple comparisons @@ -1499,175 +21,37 @@ model { } } -Warning in 'deprecated_syntax.stan', line 14, column 2: Declaration of arrays - by placing brackets after a variable name is deprecated and will be - removed in Stan 2.33.0. Instead use the array keyword before the type. - This can be changed automatically using the auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 15, column 2: Declaration of arrays - by placing brackets after a variable name is deprecated and will be - removed in Stan 2.33.0. Instead use the array keyword before the type. - This can be changed automatically using the auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 21, column 2: Declaration of arrays - by placing brackets after a variable name is deprecated and will be - removed in Stan 2.33.0. Instead use the array keyword before the type. - This can be changed automatically using the auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 22, column 2: Declaration of arrays - by placing brackets after a variable name is deprecated and will be - removed in Stan 2.33.0. Instead use the array keyword before the type. - This can be changed automatically using the auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 30, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 31, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 32, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 33, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 34, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 35, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 36, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 37, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 38, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 40, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'deprecated_syntax.stan', line 42, column 11: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 44, column 2: Declaration of arrays - by placing brackets after a variable name is deprecated and will be - removed in Stan 2.33.0. Instead use the array keyword before the type. - This can be changed automatically using the auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 46, column 6: Variable name - 'offset' will be a reserved word starting in Stan 2.33.0. Please rename - it! -Warning in 'deprecated_syntax.stan', line 47, column 6: Variable name 'array' - will be a reserved word starting in Stan 2.33.0. Please rename it! -Warning in 'deprecated_syntax.stan', line 51, column 2: Comments beginning - with # are deprecated and this syntax will be removed in Stan 2.33.0. Use - // to begin line comments; this can be done automatically using the - auto-format flag to stanc -Warning in 'deprecated_syntax.stan', line 54, column 4: assignment operator - <- is deprecated in the Stan language and will be removed in Stan 2.33.0; - use = instead. This can be done automatically with the canonicalize flag - for stanc -Warning in 'deprecated_syntax.stan', line 60, column 6: Found 1 < 2 < 3. This +Warning in 'deprecated_syntax.stan', line 9, column 6: Found 1 < 2 < 3. This is interpreted as (1 < 2) < 3. Consider if the intended meaning was 1 < 2 && 2 < 3 instead. You can silence this warning by adding explicit parenthesis. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 60, column 6: Found 1 < 2 < 3 < 4. +Warning in 'deprecated_syntax.stan', line 9, column 6: Found 1 < 2 < 3 < 4. This is interpreted as (1 < 2 < 3) < 4. Consider if the intended meaning was 1 < 2 < 3 && 3 < 4 instead. You can silence this warning by adding explicit parenthesis. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 2, column 9: Use of the _log suffix - in user defined probability functions is deprecated and will be removed - in Stan 2.33.0, use name 'foo_lpdf' instead if you intend on using this - function in ~ statements or calling unnormalized probability functions - inside of it. -Warning in 'deprecated_syntax.stan', line 6, column 8: Use of the _log suffix - in user defined probability functions is deprecated and will be removed - in Stan 2.33.0, use name 'foo_t_lpdf' instead if you intend on using this - function in ~ statements or calling unnormalized probability functions - inside of it. -Warning in 'deprecated_syntax.stan', line 26, column 12: normal_log is - deprecated and will be removed in Stan 2.33.0. Use normal_lpdf instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 27, column 6: normal_cdf_log is - deprecated and will be removed in Stan 2.33.0. Use normal_lcdf instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 28, column 6: normal_ccdf_log is - deprecated and will be removed in Stan 2.33.0. Use normal_lccdf instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 40, column 21: Use of bernoulli_cdf - without a vertical bar (|) between the first two arguments of a CDF is - deprecated and will be removed in Stan 2.33.0. This can be automatically - changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 49, column 11: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 63, column 9: Condition of type +Warning in 'deprecated_syntax.stan', line 12, column 9: Condition of type real is deprecated and will be disallowed in Stan 2.34. Use an explicit != 0 comparison instead. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 65, column 8: Condition of type +Warning in 'deprecated_syntax.stan', line 14, column 8: Condition of type real is deprecated and will be disallowed in Stan 2.34. Use an explicit != 0 comparison instead. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 68, column 19: Using a real as a +Warning in 'deprecated_syntax.stan', line 17, column 19: Using a real as a boolean value is deprecated and will be disallowed in Stan 2.34. Use an explicit != 0 comparison instead. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 68, column 8: Using a real as a +Warning in 'deprecated_syntax.stan', line 17, column 8: Using a real as a boolean value is deprecated and will be disallowed in Stan 2.34. Use an explicit != 0 comparison instead. This can be automatically changed using the canonicalize flag for stanc -Warning in 'deprecated_syntax.stan', line 68, column 14: Using a real as a +Warning in 'deprecated_syntax.stan', line 17, column 14: Using a real as a boolean value is deprecated and will be disallowed in Stan 2.34. Use an explicit != 0 comparison instead. This can be automatically changed using the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format duplicate-warns.stan -model { - real foo; - foo = 1; - increment_log_prob(0); - foo = get_lp(); - foo = multiply_log(1, 1); - foo = binomial_coefficient_log(1, 1); - // deprecated distribution functions versions - foo = normal_log(0.5, 0, 1); - foo = normal_cdf_log(0.5, 0, 1); - foo = normal_ccdf_log(0.5, 0, 1); -} - -Warning in 'duplicate-warns.stan', line 4, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'duplicate-warns.stan', line 5, column 8: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc -Warning in 'duplicate-warns.stan', line 6, column 8: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'duplicate-warns.stan', line 7, column 8: binomial_coefficient_log - is deprecated and will be removed in Stan 2.33.0. Use lchoose instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'duplicate-warns.stan', line 9, column 8: normal_log is deprecated - and will be removed in Stan 2.33.0. Use normal_lpdf instead. This can be - automatically changed using the canonicalize flag for stanc -Warning in 'duplicate-warns.stan', line 10, column 8: normal_cdf_log is - deprecated and will be removed in Stan 2.33.0. Use normal_lcdf instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'duplicate-warns.stan', line 11, column 8: normal_ccdf_log is - deprecated and will be removed in Stan 2.33.0. Use normal_lccdf instead. - This can be automatically changed using the canonicalize flag for stanc $ ../../../../../install/default/bin/stanc --auto-format empty.stan Warning: Empty file 'empty.stan' detected; this is a valid stan model but @@ -1716,340 +100,6 @@ model { Warning in 'functions-fwd-ref.stan', line 3, column 6: Functions do not need to be declared before definition; all user defined function names are always in scope regardless of definition order. - $ ../../../../../install/default/bin/stanc --auto-format get-lp-deprecate.stan -parameters { - real y; -} -model { - print("target=", get_lp()); - y ~ normal(0, 1); -} - -Warning in 'get-lp-deprecate.stan', line 5, column 19: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format get_lp_target.stan -parameters { - real y; -} -transformed parameters { - print("target = ", target()); - print("get_lp = ", get_lp()); -} -model { - print("target = ", target()); - print("get_lp = ", get_lp()); - y ~ normal(0, 1); -} - -Warning in 'get_lp_target.stan', line 6, column 21: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc -Warning in 'get_lp_target.stan', line 10, column 21: get_lp() function is - deprecated. It will be removed in Stan 2.33.0. Use target() instead. This - can be done automatically with the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format identifiers.stan -data { - int upper; - int lower; - int multiplier; - int offset; -} - -Warning in 'identifiers.stan', line 2, column 6: Variable name 'upper' will - be a reserved word starting in Stan 2.33.0. Please rename it! -Warning in 'identifiers.stan', line 3, column 6: Variable name 'lower' will - be a reserved word starting in Stan 2.33.0. Please rename it! -Warning in 'identifiers.stan', line 4, column 6: Variable name 'multiplier' - will be a reserved word starting in Stan 2.33.0. Please rename it! -Warning in 'identifiers.stan', line 5, column 6: Variable name 'offset' will - be a reserved word starting in Stan 2.33.0. Please rename it! - $ ../../../../../install/default/bin/stanc --auto-format if_else.stan -data { - int d_int; - real d_real; -} -transformed data { - int transformed_data_int; - real transformed_data_real; - - transformed_data_real = if_else(d_int, d_int, d_int); - transformed_data_real = if_else(d_int, d_int, d_real); - transformed_data_real = if_else(d_int, d_real, d_real); - transformed_data_real = if_else(d_int, d_real, d_int); -} -parameters { - real p_real; - real y_p; -} -transformed parameters { - real transformed_param_real; - - transformed_param_real = if_else(d_int, d_int, d_int); - ; - transformed_param_real = if_else(d_int, d_int, d_real); - transformed_param_real = if_else(d_int, d_real, d_real); - transformed_param_real = if_else(d_int, d_real, d_int); - - transformed_param_real = if_else(d_int, d_int, p_real); - transformed_param_real = if_else(d_int, p_real, d_int); - transformed_param_real = if_else(d_int, d_real, p_real); - transformed_param_real = if_else(d_int, p_real, d_real); - transformed_param_real = if_else(d_int, p_real, p_real); -} -model { - y_p ~ normal(0, 1); -} - -Warning in 'if_else.stan', line 9, column 26: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 10, column 26: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 11, column 26: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 12, column 26: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 21, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 22, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 23, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 24, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 26, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 27, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 28, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 29, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc -Warning in 'if_else.stan', line 30, column 28: The function `if_else` is - deprecated and will be removed in Stan 2.33.0. Use the conditional - operator (x ? y : z) instead; this can be automatically changed using the - canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format increment_log_prob.stan -transformed data { - int n; - array[2] int nn; - array[3, 4] int nnn; - - real x; - array[5] real xx; - array[6, 7] real xxx; - array[8, 9, 10] real xxxx; - - vector[2] v; - array[4] vector[3] vv; - array[5, 6] vector[4] vvv; - - row_vector[2] rv; - array[4] row_vector[3] rvv; - array[5, 6] row_vector[4] rvvv; - - matrix[7, 8] m; - array[2] matrix[7, 8] mm; - array[3, 4] matrix[7, 8] mmm; -} -parameters { - real p_x; - array[5] real p_xx; - array[6, 7] real p_xxx; - array[8, 9, 10] real p_xxxx; - - vector[2] p_v; - array[4] vector[3] p_vv; - array[5, 6] vector[4] p_vvv; - - row_vector[2] p_rv; - array[4] row_vector[3] p_rvv; - array[5, 6] row_vector[4] p_rvvv; - - matrix[7, 8] p_m; - array[2] matrix[7, 8] p_mm; - array[3, 4] matrix[7, 8] p_mmm; -} -model { - increment_log_prob(n); - increment_log_prob(nn); - increment_log_prob(nnn); - - increment_log_prob(x); - increment_log_prob(xx); - increment_log_prob(xxx); - increment_log_prob(xxxx); - - increment_log_prob(v); - increment_log_prob(vv); - increment_log_prob(vvv); - - increment_log_prob(rv); - increment_log_prob(rvv); - increment_log_prob(rvvv); - - increment_log_prob(m); - increment_log_prob(mm); - increment_log_prob(mmm); - - increment_log_prob(p_x); - increment_log_prob(p_xx); - increment_log_prob(p_xxx); - increment_log_prob(p_xxxx); - - increment_log_prob(p_v); - increment_log_prob(p_vv); - increment_log_prob(p_vvv); - - increment_log_prob(p_rv); - increment_log_prob(p_rvv); - increment_log_prob(p_rvvv); - - increment_log_prob(p_m); - increment_log_prob(p_mm); - increment_log_prob(p_mmm); -} - -Warning in 'increment_log_prob.stan', line 42, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 43, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 44, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 46, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 47, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 48, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 49, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 51, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 52, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 53, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 55, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 56, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 57, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 59, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 60, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 61, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 63, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 64, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 65, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 66, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 68, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 69, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 70, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 72, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 73, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 74, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 76, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 77, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'increment_log_prob.stan', line 78, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc $ ../../../../../install/default/bin/stanc --auto-format int_div_user.stan data { array[4] int a; @@ -2458,43 +508,9 @@ parameters { real eta; } model { - increment_log_prob(lkj_cov_log(Sigma, mu, sigma, eta)); -} - -Warning in 'lkj_cov_deprecation2.stan', line 8, column 2: increment_log_prob(...); - is deprecated and will be removed in Stan 2.33.0. Use target += ...; - instead. This can be done automatically with the canonicalize flag for - stanc -Warning in 'lkj_cov_deprecation2.stan', line 8, column 21: lkj_cov_log is - deprecated and will be removed in Stan 2.33.0. Use lkj_cov_lpdf instead. - This can be automatically changed using the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format lvalue_multiindex.stan -data { - array[5] matrix[5, 5] x; -} -transformed data { - matrix[5, 5] y; - y[ : ][ : ] = x[1][ : ][ : ]; - y[ : ][1] = x[1][ : ][2]; - array[5] matrix[5, 5] z; - z[ : ][ : , 1] = x[ : ][ : , 1]; + target += lkj_cov_lpdf(Sigma | mu, sigma, eta); } -Warning in 'lvalue_multiindex.stan', line 6, column 3: Nested multi-indexing - on the left hand side of assignment does not behave the same as nested - indexing in expressions. This is considered a bug and will be disallowed - in Stan 2.33.0. The indexing can be automatically fixed using the - canonicalize flag for stanc. -Warning in 'lvalue_multiindex.stan', line 7, column 3: Nested multi-indexing - on the left hand side of assignment does not behave the same as nested - indexing in expressions. This is considered a bug and will be disallowed - in Stan 2.33.0. The indexing can be automatically fixed using the - canonicalize flag for stanc. -Warning in 'lvalue_multiindex.stan', line 9, column 3: Nested multi-indexing - on the left hand side of assignment does not behave the same as nested - indexing in expressions. This is considered a bug and will be disallowed - in Stan 2.33.0. The indexing can be automatically fixed using the - canonicalize flag for stanc. $ ../../../../../install/default/bin/stanc --auto-format matrix_pow_warning.stan data { int N; @@ -2522,104 +538,6 @@ Warning in 'matrix_pow_warning.stan', line 9, column 25: Found matrix^scalar: If you intended matrix exponentiation, use the function matrix_power(matrix,int) instead. - $ ../../../../../install/default/bin/stanc --auto-format multiply_log.stan -data { - int d_int; - int r_int; - real d_real; - real r_real; -} -transformed data { - int transformed_data_int; - real transformed_data_real; - - transformed_data_real = multiply_log(d_real, r_real); - transformed_data_real = multiply_log(d_int, r_real); - transformed_data_real = multiply_log(d_real, d_int); - transformed_data_real = multiply_log(r_int, d_int); -} -parameters { - real p_real; - real y_p; -} -transformed parameters { - real transformed_param_real; - - transformed_param_real = multiply_log(d_real, r_real); - transformed_param_real = multiply_log(d_int, r_real); - transformed_param_real = multiply_log(d_real, d_int); - transformed_param_real = multiply_log(r_int, d_int); - - transformed_param_real = multiply_log(r_int, p_real); - transformed_param_real = multiply_log(r_real, p_real); - transformed_param_real = multiply_log(p_real, p_real); - transformed_param_real = multiply_log(p_real, r_int); - transformed_param_real = multiply_log(p_real, r_real); -} -model { - y_p ~ normal(0, 1); -} - -Warning in 'multiply_log.stan', line 11, column 26: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 12, column 26: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 13, column 26: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 14, column 26: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 23, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 24, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 25, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 26, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 28, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 29, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 30, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 31, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc -Warning in 'multiply_log.stan', line 32, column 28: multiply_log is - deprecated and will be removed in Stan 2.33.0. Use lmultiply instead. - This can be automatically changed using the canonicalize flag for stanc - $ ../../../../../install/default/bin/stanc --auto-format old-log-funs.stan -transformed data { - real x; - x = multiply_log(x, x); // should raise deprecation warning - x = binomial_coefficient_log(x, x); // ditto - x = lmultiply(x, x); // new function is OK - x = lchoose(x, x); // new function is OK -} -parameters { - real y; -} -model { - y ~ normal(0, 1); -} - -Warning in 'old-log-funs.stan', line 3, column 6: multiply_log is deprecated - and will be removed in Stan 2.33.0. Use lmultiply instead. This can be - automatically changed using the canonicalize flag for stanc -Warning in 'old-log-funs.stan', line 4, column 6: binomial_coefficient_log is - deprecated and will be removed in Stan 2.33.0. Use lchoose instead. This - can be automatically changed using the canonicalize flag for stanc $ ../../../../../install/default/bin/stanc --auto-format overloaded_forward_decl.stan functions { int is_real(int x); @@ -2645,19 +563,6 @@ Warning in 'overloaded_forward_decl.stan', line 2, column 6: Functions do not Warning in 'overloaded_forward_decl.stan', line 3, column 6: Functions do not need to be declared before definition; all user defined function names are always in scope regardless of definition order. - $ ../../../../../install/default/bin/stanc --auto-format pound-comment-deprecated.stan -data { - // hey, this is the old way to do things, should raise warning - int N; -} -model { - -} - -Warning in 'pound-comment-deprecated.stan', line 2, column 2: Comments - beginning with # are deprecated and this syntax will be removed in Stan - 2.33.0. Use // to begin line comments; this can be done automatically - using the auto-format flag to stanc $ ../../../../../install/default/bin/stanc --auto-format unreachable_statement.stan functions { void foo(real x) { @@ -2671,26 +576,6 @@ functions { Warning in 'unreachable_statement.stan', line 5, column 5: Unreachable statement (following a reject, break, continue, or return) found, is this intended? - $ ../../../../../install/default/bin/stanc --auto-format unreserved-array-keyword.stan -functions { - real f(array[,,] real array) { - return array[1, 2, 3]; - } -} -model { - real array; - array[1, 2, 3] real abc; -} - -Warning in 'unreserved-array-keyword.stan', line 2, column 24: Variable name - 'array' will be a reserved word starting in Stan 2.33.0. Please rename - it! -Warning in 'unreserved-array-keyword.stan', line 2, column 40: Variable name - 'array' will be a reserved word starting in Stan 2.33.0. Please rename - it! -Warning in 'unreserved-array-keyword.stan', line 6, column 7: Variable name - 'array' will be a reserved word starting in Stan 2.33.0. Please rename - it! $ ../../../../../install/default/bin/stanc --auto-format validate_division_int_warning.stan transformed data { real u; diff --git a/test/integration/included/dep-warning.stan b/test/integration/included/dep-warning.stan deleted file mode 100644 index dec70268f8..0000000000 --- a/test/integration/included/dep-warning.stan +++ /dev/null @@ -1,2 +0,0 @@ - real z; - # I am a deprecated comment. \ No newline at end of file diff --git a/test/integration/included/incl_stanc_helper_deprecated_warning.stan b/test/integration/included/incl_stanc_helper_deprecated_warning.stan deleted file mode 100644 index 6a91faafd4..0000000000 --- a/test/integration/included/incl_stanc_helper_deprecated_warning.stan +++ /dev/null @@ -1,2 +0,0 @@ - real y; - #include dep-warning.stan \ No newline at end of file diff --git a/test/integration/included/stanc.expected b/test/integration/included/stanc.expected index 224303b3e1..7b34185767 100644 --- a/test/integration/included/stanc.expected +++ b/test/integration/included/stanc.expected @@ -30,15 +30,6 @@ Syntax error in '../included/badrecurse2.stan', line 1, column 0, included from ------------------------------------------------- File badrecurse3.stan recursively included itself. - $ ../../../../install/default/bin/stanc --include-paths="../included" dep-warning.stan -Syntax error in 'dep-warning.stan', line 1, column 2 to column 6, parsing error: - ------------------------------------------------- - 1: real z; - ^ - 2: # I am a deprecated comment. - ------------------------------------------------- - -Expected "functions {" or "data {" or "transformed data {" or "parameters {" or "transformed parameters {" or "model {" or "generated quantities {". $ ../../../../install/default/bin/stanc --include-paths="../included" error_spread_over_files.stan Syntax error in 'error_spread_over_files.stan', line 1, column 2 to column 3, parsing error: ------------------------------------------------- @@ -73,15 +64,6 @@ Syntax error in 'incl_stanc_helper2.stan', line 1, column 2 to column 6, parsing 2: real x; ------------------------------------------------- -Expected "functions {" or "data {" or "transformed data {" or "parameters {" or "transformed parameters {" or "model {" or "generated quantities {". - $ ../../../../install/default/bin/stanc --include-paths="../included" incl_stanc_helper_deprecated_warning.stan -Syntax error in 'incl_stanc_helper_deprecated_warning.stan', line 1, column 2 to column 6, parsing error: - ------------------------------------------------- - 1: real y; - ^ - 2: #include dep-warning.stan - ------------------------------------------------- - Expected "functions {" or "data {" or "transformed data {" or "parameters {" or "transformed parameters {" or "model {" or "generated quantities {". $ ../../../../install/default/bin/stanc --include-paths="../included" incl_stanc_helper_error_spread_over_files.stan Syntax error in 'incl_stanc_helper_error_spread_over_files.stan', line 1, column 2 to column 6, parsing error: @@ -159,13 +141,6 @@ Syntax error in 'sem-err.stan', line 1, column 2 to column 6, parsing error: ------------------------------------------------- Expected "functions {" or "data {" or "transformed data {" or "parameters {" or "transformed parameters {" or "model {" or "generated quantities {". - $ ../../../../install/default/bin/stanc --include-paths="../included" stanc_helper_with_bad_include_deprecated_warning.stan -Warning in '../included/dep-warning.stan', line 2, column 2, included from -'../included/incl_stanc_helper_deprecated_warning.stan', line 2, column 2, included from -'stanc_helper_with_bad_include_deprecated_warning.stan', line 2, column 0: Comments - beginning with # are deprecated and this syntax will be removed in Stan - 2.33.0. Use // to begin line comments; this can be done automatically - using the auto-format flag to stanc $ ../../../../install/default/bin/stanc --include-paths="../included" stanc_helper_with_bad_include_error_spread_over_files.stan Semantic error in '../included/incl_stanc_helper_error_spread_over_files.stan', line 2, column 2, included from 'stanc_helper_with_bad_include_error_spread_over_files.stan', line 2, column 0: diff --git a/test/integration/included/stanc_helper_with_bad_include_deprecated_warning.stan b/test/integration/included/stanc_helper_with_bad_include_deprecated_warning.stan deleted file mode 100644 index 5ddc9ddbd3..0000000000 --- a/test/integration/included/stanc_helper_with_bad_include_deprecated_warning.stan +++ /dev/null @@ -1,6 +0,0 @@ -parameters { -#include incl_stanc_helper_deprecated_warning.stan -} -model { - y ~ normal(0, 1); -} diff --git a/test/stancjs/canonical.js b/test/stancjs/canonical.js index 79a83e2e2a..93991ccfbd 100644 --- a/test/stancjs/canonical.js +++ b/test/stancjs/canonical.js @@ -2,13 +2,13 @@ var stanc = require('../../src/stancjs/stancjs.bc.js'); var utils = require("./utils/utils.js"); let basic_model = ` -transformed data { - real a = multiply_log(4,5); -} parameters { real y; } model { + if (y) + print("y is nonzero "); + y ~ normal(((((((((0)))))))),1); } ` diff --git a/test/stancjs/functions-only.js b/test/stancjs/functions-only.js index 285d72787d..9c40d287cc 100644 --- a/test/stancjs/functions-only.js +++ b/test/stancjs/functions-only.js @@ -6,12 +6,12 @@ real my_log1p_exp(real x) { return log1p_exp(x); } -real array_fun(real[] a) +real array_fun(array[] real a) { return sum(a); } -real int_array_fun(int[] a) +real int_array_fun(array[] int a) { return sum(a); } diff --git a/test/stancjs/removed.js b/test/stancjs/removed.js new file mode 100644 index 0000000000..2298a0e469 --- /dev/null +++ b/test/stancjs/removed.js @@ -0,0 +1,18 @@ +var stanc = require('../../src/stancjs/stancjs.bc.js'); +var utils = require("./utils/utils.js"); + +let bad = ` +parameters { + real y[10]; +} +model { + target += std_normal_log(y); +} +` + +let basic_bad = stanc.stanc("basic_bad", bad, []); +utils.print_error(basic_bad) + +let updated = stanc.stanc("basic_bad", bad, ["auto-format", "canonicalize=deprecations"]) +utils.print_error(updated) +utils.print_result(updated) diff --git a/test/stancjs/stancjs.expected b/test/stancjs/stancjs.expected index de8ae5488f..3ae384a1ea 100644 --- a/test/stancjs/stancjs.expected +++ b/test/stancjs/stancjs.expected @@ -47,33 +47,35 @@ Semantic error in 'string', line 6, column 4 to column 5: Identifier 'z' not in scope. $ node canonical.js -transformed data { - real a = lmultiply(4, 5); -} parameters { real y; } model { + if (y != 0.0) { + print("y is nonzero "); + } + y ~ normal(0, 1); } -transformed data { - real a = lmultiply(4, 5); -} parameters { real y; } model { + if (y != 0.0) + print("y is nonzero "); + y ~ normal(((((((((0)))))))), 1); } -transformed data { - real a = multiply_log(4, 5); -} parameters { real y; } model { + if (y) { + print("y is nonzero "); + } + y ~ normal(0, 1); } @@ -249,6 +251,22 @@ $ node pedantic.js [] ["Warning in 'string', line 4, column 9: The variable tt may not have been\n assigned a value before its use."] [] +$ node removed.js +Error in 'string', line 3, column 1: Declaration of arrays by placing + brackets after a variable name was removed in Stan 2.33.0. Instead use + the array keyword before the type. This can be changed automatically + using the auto-format flag to stanc +Error in 'string', line 6, column 14: std_normal_log was removed in Stan + 2.33. Use std_normal_lpdf instead. This can be automatically changed + using the canonicalize flag for stanc + +parameters { + array[10] real y; +} +model { + target += std_normal_lpdf(y); +} + $ node standalone-functions.js $ node version.js @@ -256,5 +274,5 @@ $ node version.js %%NAME%% %%VERSION%% %%NAME%% %%VERSION%% $ node warnings.js -["Warning in 'string', line 4, column 4: Comments beginning with # are\n deprecated and this syntax will be removed in Stan 2.33.0. Use // to\n begin line comments; this can be done automatically using the auto-format\n flag to stanc"] +[] ["Warning in 'string', line 10, column 11: Found int division:\n x / w\n Values will be rounded towards zero. If rounding is not desired you can\n write\n the division as\n x * 1.0 / w\n If rounding is intended please use the integer division operator %/%."] diff --git a/test/stancjs/standalone-functions.js b/test/stancjs/standalone-functions.js index 8c1d589cc7..1ddaf431be 100644 --- a/test/stancjs/standalone-functions.js +++ b/test/stancjs/standalone-functions.js @@ -7,12 +7,12 @@ functions { return log1p_exp(x); } - real array_fun(real[] a) + real array_fun(array[] real a) { return sum(a); } - real int_array_fun(int[] a) + real int_array_fun(array[] int a) { return sum(a); } @@ -48,7 +48,6 @@ functions { let basic = stanc.stanc("basic_stanfuncs", basic_stanfuncs, ["standalone-functions"]); utils.print_error(basic) + var ind = basic.result.search(/int[\n\s]+int_only_multiplication/g); -if (ind == -1) { - console.log("ERROR: standalone-functions!") -} +console.assert(ind != -1, "Error: standalone-functions!")