stan top-level property

Language stan
final

Implementation

final stan = Language(
  id: "stan",
  refs: {},
  name: "Stan",
  aliases: ["stanfuncs"],
  keywords: {
    "\$pattern": "[a-zA-Z]\\w*",
    "title": [
      "functions",
      "model",
      "data",
      "parameters",
      "quantities",
      "transformed",
      "generated"
    ],
    "type": [
      "array",
      "complex",
      "int",
      "real",
      "vector",
      "ordered",
      "positive_ordered",
      "simplex",
      "unit_vector",
      "row_vector",
      "matrix",
      "cholesky_factor_corr|10",
      "cholesky_factor_cov|10",
      "corr_matrix|10",
      "cov_matrix|10",
      "void"
    ],
    "keyword": [
      "for",
      "in",
      "if",
      "else",
      "while",
      "break",
      "continue",
      "return"
    ],
    "built_in": [
      "Phi",
      "Phi_approx",
      "abs",
      "acos",
      "acosh",
      "add_diag",
      "algebra_solver",
      "algebra_solver_newton",
      "append_array",
      "append_col",
      "append_row",
      "asin",
      "asinh",
      "atan",
      "atan2",
      "atanh",
      "bessel_first_kind",
      "bessel_second_kind",
      "binary_log_loss",
      "binomial_coefficient_log",
      "block",
      "cbrt",
      "ceil",
      "chol2inv",
      "cholesky_decompose",
      "choose",
      "col",
      "cols",
      "columns_dot_product",
      "columns_dot_self",
      "conj",
      "cos",
      "cosh",
      "cov_exp_quad",
      "crossprod",
      "csr_extract_u",
      "csr_extract_v",
      "csr_extract_w",
      "csr_matrix_times_vector",
      "csr_to_dense_matrix",
      "cumulative_sum",
      "determinant",
      "diag_matrix",
      "diag_post_multiply",
      "diag_pre_multiply",
      "diagonal",
      "digamma",
      "dims",
      "distance",
      "dot_product",
      "dot_self",
      "eigenvalues_sym",
      "eigenvectors_sym",
      "erf",
      "erfc",
      "exp",
      "exp2",
      "expm1",
      "fabs",
      "falling_factorial",
      "fdim",
      "floor",
      "fma",
      "fmax",
      "fmin",
      "fmod",
      "gamma_p",
      "gamma_q",
      "generalized_inverse",
      "get_imag",
      "get_lp",
      "get_real",
      "head",
      "hmm_hidden_state_prob",
      "hmm_marginal",
      "hypot",
      "identity_matrix",
      "inc_beta",
      "int_step",
      "integrate_1d",
      "integrate_ode",
      "integrate_ode_adams",
      "integrate_ode_bdf",
      "integrate_ode_rk45",
      "inv",
      "inv_Phi",
      "inv_cloglog",
      "inv_logit",
      "inv_sqrt",
      "inv_square",
      "inverse",
      "inverse_spd",
      "is_inf",
      "is_nan",
      "lambert_w0",
      "lambert_wm1",
      "lbeta",
      "lchoose",
      "ldexp",
      "lgamma",
      "linspaced_array",
      "linspaced_int_array",
      "linspaced_row_vector",
      "linspaced_vector",
      "lmgamma",
      "lmultiply",
      "log",
      "log1m",
      "log1m_exp",
      "log1m_inv_logit",
      "log1p",
      "log1p_exp",
      "log_determinant",
      "log_diff_exp",
      "log_falling_factorial",
      "log_inv_logit",
      "log_inv_logit_diff",
      "log_mix",
      "log_modified_bessel_first_kind",
      "log_rising_factorial",
      "log_softmax",
      "log_sum_exp",
      "logit",
      "machine_precision",
      "map_rect",
      "matrix_exp",
      "matrix_exp_multiply",
      "matrix_power",
      "max",
      "mdivide_left_spd",
      "mdivide_left_tri_low",
      "mdivide_right_spd",
      "mdivide_right_tri_low",
      "mean",
      "min",
      "modified_bessel_first_kind",
      "modified_bessel_second_kind",
      "multiply_log",
      "multiply_lower_tri_self_transpose",
      "negative_infinity",
      "norm",
      "not_a_number",
      "num_elements",
      "ode_adams",
      "ode_adams_tol",
      "ode_adjoint_tol_ctl",
      "ode_bdf",
      "ode_bdf_tol",
      "ode_ckrk",
      "ode_ckrk_tol",
      "ode_rk45",
      "ode_rk45_tol",
      "one_hot_array",
      "one_hot_int_array",
      "one_hot_row_vector",
      "one_hot_vector",
      "ones_array",
      "ones_int_array",
      "ones_row_vector",
      "ones_vector",
      "owens_t",
      "polar",
      "positive_infinity",
      "pow",
      "print",
      "prod",
      "proj",
      "qr_Q",
      "qr_R",
      "qr_thin_Q",
      "qr_thin_R",
      "quad_form",
      "quad_form_diag",
      "quad_form_sym",
      "quantile",
      "rank",
      "reduce_sum",
      "reject",
      "rep_array",
      "rep_matrix",
      "rep_row_vector",
      "rep_vector",
      "reverse",
      "rising_factorial",
      "round",
      "row",
      "rows",
      "rows_dot_product",
      "rows_dot_self",
      "scale_matrix_exp_multiply",
      "sd",
      "segment",
      "sin",
      "singular_values",
      "sinh",
      "size",
      "softmax",
      "sort_asc",
      "sort_desc",
      "sort_indices_asc",
      "sort_indices_desc",
      "sqrt",
      "square",
      "squared_distance",
      "step",
      "sub_col",
      "sub_row",
      "sum",
      "svd_U",
      "svd_V",
      "symmetrize_from_lower_tri",
      "tail",
      "tan",
      "tanh",
      "target",
      "tcrossprod",
      "tgamma",
      "to_array_1d",
      "to_array_2d",
      "to_complex",
      "to_matrix",
      "to_row_vector",
      "to_vector",
      "trace",
      "trace_gen_quad_form",
      "trace_quad_form",
      "trigamma",
      "trunc",
      "uniform_simplex",
      "variance",
      "zeros_array",
      "zeros_int_array",
      "zeros_row_vector"
    ]
  },
  contains: [
    C_LINE_COMMENT_MODE,
    Mode(
      scope: "meta",
      begin: "#include\\b",
      end: "\$",
      contains: [
        Mode(
          match: "[a-z][a-z-._]+",
          scope: "string",
        ),
        C_LINE_COMMENT_MODE,
      ],
    ),
    HASH_COMMENT_MODE,
    Mode(
      scope: "comment",
      begin: "\\/\\*",
      end: "\\*\\/",
      contains: [
        Mode(
          scope: "doctag",
          match: "@(return|param)",
        ),
        Mode(
          scope: "doctag",
          begin: "[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",
          end: "(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",
          excludeBegin: true,
          relevance: 0,
        ),
        Mode(
          begin:
              "[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}",
        ),
      ],
      relevance: 0,
    ),
    Mode(
      scope: "built_in",
      match: "\\s(pi|e|sqrt2|log2|log10)(?=\\()",
      relevance: 0,
    ),
    Mode(
      match: "[<,]\\s*(?:lower|upper|offset|multiplier)\\s*=",
      keywords: ["lower", "upper", "offset", "multiplier"],
    ),
    Mode(
      scope: "keyword",
      match: "\\btarget(?=\\s*\\+=)",
    ),
    Mode(
      match: [
        "\\x7e\\s*",
        "(?:bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|beta_proportion|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hmm_latent|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart)",
        "(?:\\(\\))",
        "\\s*T(?=\\s*\\[)"
      ],
      scope: {"2": "built_in", "4": "keyword"},
    ),
    Mode(
      scope: "built_in",
      keywords: [
        "bernoulli",
        "bernoulli_logit",
        "bernoulli_logit_glm",
        "beta",
        "beta_binomial",
        "beta_proportion",
        "binomial",
        "binomial_logit",
        "categorical",
        "categorical_logit",
        "categorical_logit_glm",
        "cauchy",
        "chi_square",
        "dirichlet",
        "discrete_range",
        "double_exponential",
        "exp_mod_normal",
        "exponential",
        "frechet",
        "gamma",
        "gaussian_dlm_obs",
        "gumbel",
        "hmm_latent",
        "hypergeometric",
        "inv_chi_square",
        "inv_gamma",
        "inv_wishart",
        "lkj_corr",
        "lkj_corr_cholesky",
        "logistic",
        "lognormal",
        "multi_gp",
        "multi_gp_cholesky",
        "multi_normal",
        "multi_normal_cholesky",
        "multi_normal_prec",
        "multi_student_t",
        "multinomial",
        "multinomial_logit",
        "neg_binomial",
        "neg_binomial_2",
        "neg_binomial_2_log",
        "neg_binomial_2_log_glm",
        "normal",
        "normal_id_glm",
        "ordered_logistic",
        "ordered_logistic_glm",
        "ordered_probit",
        "pareto",
        "pareto_type_2",
        "poisson",
        "poisson_log",
        "poisson_log_glm",
        "rayleigh",
        "scaled_inv_chi_square",
        "skew_double_exponential",
        "skew_normal",
        "std_normal",
        "student_t",
        "uniform",
        "von_mises",
        "weibull",
        "wiener",
        "wishart"
      ],
      begin:
          "\\w*(?:bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|beta_proportion|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hmm_latent|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart)(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\\s*[\\(.*\\)])",
    ),
    Mode(
      begin: [
        "\\x7e",
        "\\s*",
        "(?:bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|beta_proportion|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hmm_latent|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart)(?=\\s*[\\(.*\\)])"
      ],
      scope: {"3": "built_in"},
    ),
    Mode(
      begin: [
        "\\x7e",
        "\\s*\\w+(?=\\s*[\\(.*\\)])",
        "(?!.*/\b((?:bernoulli|bernoulli_logit|bernoulli_logit_glm|beta|beta_binomial|beta_proportion|binomial|binomial_logit|categorical|categorical_logit|categorical_logit_glm|cauchy|chi_square|dirichlet|discrete_range|double_exponential|exp_mod_normal|exponential|frechet|gamma|gaussian_dlm_obs|gumbel|hmm_latent|hypergeometric|inv_chi_square|inv_gamma|inv_wishart|lkj_corr|lkj_corr_cholesky|logistic|lognormal|multi_gp|multi_gp_cholesky|multi_normal|multi_normal_cholesky|multi_normal_prec|multi_student_t|multinomial|multinomial_logit|neg_binomial|neg_binomial_2|neg_binomial_2_log|neg_binomial_2_log_glm|normal|normal_id_glm|ordered_logistic|ordered_logistic_glm|ordered_probit|pareto|pareto_type_2|poisson|poisson_log|poisson_log_glm|rayleigh|scaled_inv_chi_square|skew_double_exponential|skew_normal|std_normal|student_t|uniform|von_mises|weibull|wiener|wishart))\b)"
      ],
      scope: {"2": "title.function"},
    ),
    Mode(
      scope: "title.function",
      begin: "\\w*(_lpdf|_lupdf|_lpmf|_cdf|_lcdf|_lccdf|_qf)(?=\\s*[\\(.*\\)])",
    ),
    Mode(
      scope: "number",
      match:
          "(?:\\b\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\B\\.\\d+(?:_\\d+)*)(?:[eE][+-]?\\d+(?:_\\d+)*)?i?(?!\\w)",
      relevance: 0,
    ),
    Mode(
      scope: "string",
      begin: "\"",
      end: "\"",
    ),
  ],
);