@malloydata/malloy 0.0.39-dev230613161129 → 0.0.39

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (288) hide show
  1. package/dist/dialect/dialect.d.ts +9 -13
  2. package/dist/dialect/dialect.js +16 -3
  3. package/dist/dialect/dialect_map.d.ts +2 -0
  4. package/dist/dialect/dialect_map.js +61 -1
  5. package/dist/dialect/{duckdb.d.ts → duckdb/duckdb.d.ts} +8 -5
  6. package/dist/dialect/{duckdb.js → duckdb/duckdb.js} +21 -9
  7. package/dist/dialect/duckdb/functions/byte_length.d.ts +2 -0
  8. package/dist/dialect/duckdb/functions/byte_length.js +33 -0
  9. package/dist/dialect/duckdb/functions/div.d.ts +2 -0
  10. package/dist/dialect/duckdb/functions/div.js +38 -0
  11. package/dist/dialect/duckdb/functions/duckdb_functions.d.ts +1 -0
  12. package/dist/dialect/duckdb/functions/duckdb_functions.js +52 -0
  13. package/dist/dialect/duckdb/functions/ends_with.d.ts +2 -0
  14. package/dist/dialect/duckdb/functions/ends_with.js +35 -0
  15. package/dist/dialect/duckdb/functions/greatest_and_least.d.ts +3 -0
  16. package/dist/dialect/duckdb/functions/greatest_and_least.js +58 -0
  17. package/dist/dialect/duckdb/functions/index.d.ts +1 -0
  18. package/dist/dialect/duckdb/functions/index.js +28 -0
  19. package/dist/dialect/duckdb/functions/is_inf.d.ts +2 -0
  20. package/dist/dialect/duckdb/functions/is_inf.js +33 -0
  21. package/dist/dialect/duckdb/functions/is_nan.d.ts +2 -0
  22. package/dist/dialect/duckdb/functions/is_nan.js +33 -0
  23. package/dist/dialect/duckdb/functions/log.d.ts +2 -0
  24. package/dist/dialect/duckdb/functions/log.js +38 -0
  25. package/dist/dialect/duckdb/functions/rand.d.ts +2 -0
  26. package/dist/dialect/duckdb/functions/rand.js +31 -0
  27. package/dist/dialect/duckdb/functions/replace.d.ts +2 -0
  28. package/dist/dialect/duckdb/functions/replace.js +40 -0
  29. package/dist/dialect/duckdb/functions/trunc.d.ts +2 -0
  30. package/dist/dialect/duckdb/functions/trunc.js +39 -0
  31. package/dist/dialect/duckdb/functions/unicode.d.ts +2 -0
  32. package/dist/dialect/duckdb/functions/unicode.js +35 -0
  33. package/dist/dialect/duckdb/index.d.ts +1 -0
  34. package/dist/dialect/duckdb/index.js +40 -0
  35. package/dist/dialect/functions/all_functions.d.ts +8 -0
  36. package/dist/dialect/functions/all_functions.js +135 -0
  37. package/dist/dialect/functions/atan2.d.ts +2 -0
  38. package/dist/dialect/functions/atan2.js +33 -0
  39. package/dist/dialect/functions/avg_moving.d.ts +2 -0
  40. package/dist/dialect/functions/avg_moving.js +46 -0
  41. package/dist/dialect/functions/chr.d.ts +4 -0
  42. package/dist/dialect/functions/chr.js +45 -0
  43. package/dist/dialect/functions/coalesce.d.ts +2 -0
  44. package/dist/dialect/functions/coalesce.js +38 -0
  45. package/dist/dialect/functions/concat.d.ts +2 -0
  46. package/dist/dialect/functions/concat.js +38 -0
  47. package/dist/dialect/functions/div.d.ts +2 -0
  48. package/dist/dialect/functions/div.js +36 -0
  49. package/dist/dialect/functions/first_value_window.d.ts +3 -0
  50. package/dist/dialect/functions/first_value_window.js +49 -0
  51. package/dist/dialect/functions/function_map.d.ts +16 -0
  52. package/dist/dialect/functions/function_map.js +50 -0
  53. package/dist/dialect/functions/greatest_and_least.d.ts +3 -0
  54. package/dist/dialect/functions/greatest_and_least.js +44 -0
  55. package/dist/dialect/functions/ifnull.d.ts +2 -0
  56. package/dist/dialect/functions/ifnull.js +38 -0
  57. package/dist/dialect/functions/index.d.ts +2 -0
  58. package/dist/dialect/functions/index.js +28 -0
  59. package/dist/dialect/functions/is_inf.d.ts +2 -0
  60. package/dist/dialect/functions/is_inf.js +33 -0
  61. package/dist/dialect/functions/is_nan.d.ts +2 -0
  62. package/dist/dialect/functions/is_nan.js +33 -0
  63. package/dist/dialect/functions/lag.d.ts +2 -0
  64. package/dist/dialect/functions/lag.js +53 -0
  65. package/dist/dialect/functions/lead.d.ts +2 -0
  66. package/dist/dialect/functions/lead.js +50 -0
  67. package/dist/dialect/functions/length.d.ts +3 -0
  68. package/dist/dialect/functions/length.js +39 -0
  69. package/dist/dialect/functions/log.d.ts +2 -0
  70. package/dist/dialect/functions/log.js +35 -0
  71. package/dist/dialect/functions/lower.d.ts +2 -0
  72. package/dist/dialect/functions/lower.js +34 -0
  73. package/dist/dialect/functions/nullif.d.ts +2 -0
  74. package/dist/dialect/functions/nullif.js +42 -0
  75. package/dist/dialect/functions/pi.d.ts +2 -0
  76. package/dist/{lang/ast/types/type-desc.js → dialect/functions/pi.js} +7 -1
  77. package/dist/dialect/functions/pow.d.ts +2 -0
  78. package/dist/dialect/functions/pow.js +35 -0
  79. package/dist/dialect/functions/rand.d.ts +2 -0
  80. package/dist/dialect/functions/rand.js +31 -0
  81. package/dist/dialect/functions/rank.d.ts +2 -0
  82. package/dist/dialect/functions/rank.js +36 -0
  83. package/dist/dialect/functions/regexp_extract.d.ts +2 -0
  84. package/dist/dialect/functions/regexp_extract.js +41 -0
  85. package/dist/dialect/functions/repeat.d.ts +2 -0
  86. package/dist/dialect/functions/repeat.js +35 -0
  87. package/dist/dialect/functions/replace.d.ts +2 -0
  88. package/dist/dialect/functions/replace.js +42 -0
  89. package/dist/dialect/functions/reverse.d.ts +2 -0
  90. package/dist/dialect/functions/reverse.js +34 -0
  91. package/dist/dialect/functions/round.d.ts +2 -0
  92. package/dist/dialect/functions/round.js +40 -0
  93. package/dist/dialect/functions/row_number.d.ts +2 -0
  94. package/dist/dialect/functions/row_number.js +40 -0
  95. package/dist/dialect/functions/simple_numeric_functions.d.ts +15 -0
  96. package/dist/dialect/functions/simple_numeric_functions.js +60 -0
  97. package/dist/dialect/functions/starts_ends_with.d.ts +3 -0
  98. package/dist/dialect/functions/starts_ends_with.js +43 -0
  99. package/dist/dialect/functions/stddev.d.ts +2 -0
  100. package/dist/dialect/functions/stddev.js +34 -0
  101. package/dist/dialect/functions/strpos.d.ts +2 -0
  102. package/dist/dialect/functions/strpos.js +35 -0
  103. package/dist/dialect/functions/substr.d.ts +2 -0
  104. package/dist/dialect/functions/substr.js +37 -0
  105. package/dist/dialect/functions/sum_min_max_window.d.ts +7 -0
  106. package/dist/dialect/functions/sum_min_max_window.js +94 -0
  107. package/dist/dialect/functions/trim_functions.d.ts +4 -0
  108. package/dist/dialect/functions/trim_functions.js +42 -0
  109. package/dist/dialect/functions/trunc.d.ts +2 -0
  110. package/dist/dialect/functions/trunc.js +38 -0
  111. package/dist/dialect/functions/upper.d.ts +2 -0
  112. package/dist/dialect/functions/upper.js +34 -0
  113. package/dist/dialect/functions/util.d.ts +45 -0
  114. package/dist/dialect/functions/util.js +187 -0
  115. package/dist/dialect/index.d.ts +1 -1
  116. package/dist/dialect/index.js +2 -1
  117. package/dist/dialect/postgres/functions/byte_length.d.ts +2 -0
  118. package/dist/dialect/postgres/functions/byte_length.js +33 -0
  119. package/dist/dialect/postgres/functions/ends_with.d.ts +2 -0
  120. package/dist/dialect/postgres/functions/ends_with.js +38 -0
  121. package/dist/dialect/postgres/functions/greatest_and_least.d.ts +3 -0
  122. package/dist/dialect/postgres/functions/greatest_and_least.js +45 -0
  123. package/dist/dialect/postgres/functions/ifnull.d.ts +2 -0
  124. package/dist/dialect/postgres/functions/ifnull.js +40 -0
  125. package/dist/dialect/postgres/functions/index.d.ts +1 -0
  126. package/dist/dialect/postgres/functions/index.js +28 -0
  127. package/dist/dialect/postgres/functions/is_inf.d.ts +2 -0
  128. package/dist/dialect/postgres/functions/is_inf.js +34 -0
  129. package/dist/dialect/postgres/functions/is_nan.d.ts +2 -0
  130. package/dist/dialect/postgres/functions/is_nan.js +33 -0
  131. package/dist/dialect/postgres/functions/log.d.ts +2 -0
  132. package/dist/dialect/postgres/functions/log.js +37 -0
  133. package/dist/dialect/postgres/functions/postgres_functions.d.ts +1 -0
  134. package/dist/dialect/postgres/functions/postgres_functions.js +60 -0
  135. package/dist/dialect/postgres/functions/rand.d.ts +2 -0
  136. package/dist/dialect/postgres/functions/rand.js +31 -0
  137. package/dist/dialect/postgres/functions/regexp_extract.d.ts +2 -0
  138. package/dist/dialect/postgres/functions/regexp_extract.js +35 -0
  139. package/dist/dialect/postgres/functions/replace.d.ts +2 -0
  140. package/dist/dialect/postgres/functions/replace.js +40 -0
  141. package/dist/dialect/postgres/functions/round.d.ts +2 -0
  142. package/dist/dialect/postgres/functions/round.js +39 -0
  143. package/dist/dialect/postgres/functions/stddev.d.ts +2 -0
  144. package/dist/dialect/postgres/functions/stddev.js +37 -0
  145. package/dist/dialect/postgres/functions/substr.d.ts +2 -0
  146. package/dist/dialect/postgres/functions/substr.js +38 -0
  147. package/dist/dialect/postgres/functions/trunc.d.ts +2 -0
  148. package/dist/dialect/postgres/functions/trunc.js +40 -0
  149. package/dist/dialect/postgres/functions/unicode.d.ts +2 -0
  150. package/dist/dialect/postgres/functions/unicode.js +34 -0
  151. package/dist/dialect/postgres/index.d.ts +1 -0
  152. package/dist/dialect/postgres/index.js +40 -0
  153. package/dist/dialect/{postgres.d.ts → postgres/postgres.d.ts} +9 -5
  154. package/dist/dialect/{postgres.js → postgres/postgres.js} +24 -10
  155. package/dist/dialect/standardsql/functions/chr.d.ts +2 -0
  156. package/dist/dialect/standardsql/functions/chr.js +37 -0
  157. package/dist/dialect/standardsql/functions/index.d.ts +1 -0
  158. package/dist/dialect/standardsql/functions/index.js +28 -0
  159. package/dist/dialect/standardsql/functions/pi.d.ts +2 -0
  160. package/dist/dialect/standardsql/functions/pi.js +32 -0
  161. package/dist/dialect/standardsql/functions/standardsql_functions.d.ts +1 -0
  162. package/dist/dialect/standardsql/functions/standardsql_functions.js +33 -0
  163. package/dist/dialect/standardsql/index.d.ts +1 -0
  164. package/dist/dialect/standardsql/index.js +40 -0
  165. package/dist/dialect/{standardsql.d.ts → standardsql/standardsql.d.ts} +7 -4
  166. package/dist/dialect/{standardsql.js → standardsql/standardsql.js} +13 -11
  167. package/dist/index.d.ts +1 -1
  168. package/dist/lang/ast/ast-utils.js +1 -0
  169. package/dist/lang/ast/elements/define-query.js +1 -1
  170. package/dist/lang/ast/elements/import-statement.js +6 -1
  171. package/dist/lang/ast/executors/index-executor.d.ts +1 -1
  172. package/dist/lang/ast/executors/index-executor.js +2 -2
  173. package/dist/lang/ast/executors/project-executor.d.ts +1 -1
  174. package/dist/lang/ast/executors/project-executor.js +2 -2
  175. package/dist/lang/ast/executors/reduce-executor.d.ts +2 -4
  176. package/dist/lang/ast/executors/reduce-executor.js +8 -4
  177. package/dist/lang/ast/expressions/binary-boolean.d.ts +1 -1
  178. package/dist/lang/ast/expressions/binary-boolean.js +2 -0
  179. package/dist/lang/ast/expressions/constant-sub-expression.js +10 -0
  180. package/dist/lang/ast/expressions/expr-aggregate-function.d.ts +2 -2
  181. package/dist/lang/ast/expressions/expr-aggregate-function.js +28 -2
  182. package/dist/lang/ast/expressions/expr-alternation-tree.js +1 -0
  183. package/dist/lang/ast/expressions/expr-cast.js +1 -0
  184. package/dist/lang/ast/expressions/expr-coalesce.d.ts +1 -1
  185. package/dist/lang/ast/expressions/expr-coalesce.js +1 -0
  186. package/dist/lang/ast/expressions/expr-count-distinct.d.ts +1 -1
  187. package/dist/lang/ast/expressions/expr-count.js +1 -0
  188. package/dist/lang/ast/expressions/expr-filter.d.ts +1 -1
  189. package/dist/lang/ast/expressions/expr-filter.js +1 -1
  190. package/dist/lang/ast/expressions/expr-func.d.ts +6 -1
  191. package/dist/lang/ast/expressions/expr-func.js +266 -16
  192. package/dist/lang/ast/expressions/expr-granular-time.d.ts +1 -1
  193. package/dist/lang/ast/expressions/expr-id-reference.js +12 -0
  194. package/dist/lang/ast/expressions/expr-logical-op.d.ts +1 -1
  195. package/dist/lang/ast/expressions/expr-max.d.ts +2 -2
  196. package/dist/lang/ast/expressions/expr-min.d.ts +2 -2
  197. package/dist/lang/ast/expressions/expr-not.d.ts +1 -1
  198. package/dist/lang/ast/expressions/expr-now.js +2 -0
  199. package/dist/lang/ast/expressions/expr-null.js +1 -0
  200. package/dist/lang/ast/expressions/expr-number.js +5 -1
  201. package/dist/lang/ast/expressions/expr-regex.js +4 -1
  202. package/dist/lang/ast/expressions/expr-string.js +1 -0
  203. package/dist/lang/ast/expressions/expr-time-extract.js +2 -0
  204. package/dist/lang/ast/expressions/expr-time.js +1 -0
  205. package/dist/lang/ast/expressions/expr-ungroup.d.ts +2 -2
  206. package/dist/lang/ast/expressions/expr-ungroup.js +15 -7
  207. package/dist/lang/ast/expressions/for-range.d.ts +1 -1
  208. package/dist/lang/ast/expressions/pick-when.js +7 -0
  209. package/dist/lang/ast/expressions/range.js +1 -0
  210. package/dist/lang/ast/expressions/time-literal.js +9 -3
  211. package/dist/lang/ast/field-space/column-space-field.d.ts +1 -2
  212. package/dist/lang/ast/field-space/dynamic-space.js +6 -4
  213. package/dist/lang/ast/field-space/field-definition-value.d.ts +1 -1
  214. package/dist/lang/ast/field-space/project-field-space.d.ts +2 -2
  215. package/dist/lang/ast/field-space/project-field-space.js +12 -13
  216. package/dist/lang/ast/field-space/query-space-field.d.ts +1 -2
  217. package/dist/lang/ast/field-space/query-space-field.js +1 -1
  218. package/dist/lang/ast/field-space/query-spaces.d.ts +16 -2
  219. package/dist/lang/ast/field-space/query-spaces.js +175 -10
  220. package/dist/lang/ast/field-space/reference-field.d.ts +3 -2
  221. package/dist/lang/ast/field-space/reference-field.js +8 -1
  222. package/dist/lang/ast/field-space/rename-space-field.d.ts +1 -2
  223. package/dist/lang/ast/field-space/static-space.d.ts +4 -3
  224. package/dist/lang/ast/field-space/static-space.js +4 -0
  225. package/dist/lang/ast/field-space/struct-space-field-base.d.ts +1 -2
  226. package/dist/lang/ast/field-space/struct-space-field-base.js +1 -1
  227. package/dist/lang/ast/field-space/wild-space-field.d.ts +1 -2
  228. package/dist/lang/ast/fragtype-utils.d.ts +1 -1
  229. package/dist/lang/ast/fragtype-utils.js +4 -3
  230. package/dist/lang/ast/index.d.ts +1 -0
  231. package/dist/lang/ast/index.js +1 -0
  232. package/dist/lang/ast/query-items/field-declaration.d.ts +40 -4
  233. package/dist/lang/ast/query-items/field-declaration.js +102 -3
  234. package/dist/lang/ast/query-items/field-references.d.ts +44 -2
  235. package/dist/lang/ast/query-items/field-references.js +110 -2
  236. package/dist/lang/ast/query-items/typecheck_utils.d.ts +10 -0
  237. package/dist/lang/ast/query-items/typecheck_utils.js +177 -0
  238. package/dist/lang/ast/query-properties/aggregate.js +0 -6
  239. package/dist/lang/ast/query-properties/calculate.d.ts +5 -0
  240. package/dist/lang/ast/query-properties/calculate.js +33 -0
  241. package/dist/lang/ast/query-properties/dimmensions.js +0 -3
  242. package/dist/lang/ast/query-properties/filters.js +6 -3
  243. package/dist/lang/ast/query-properties/group-by.js +0 -6
  244. package/dist/lang/ast/query-properties/measures.js +0 -3
  245. package/dist/lang/ast/query-properties/nest-reference.d.ts +2 -0
  246. package/dist/lang/ast/query-properties/nest-reference.js +23 -0
  247. package/dist/lang/ast/query-properties/ordering.d.ts +1 -1
  248. package/dist/lang/ast/query-properties/ordering.js +18 -8
  249. package/dist/lang/ast/query-properties/qop-desc.js +8 -4
  250. package/dist/lang/ast/query-properties/top.js +20 -6
  251. package/dist/lang/ast/sources/named-source.js +4 -0
  252. package/dist/lang/ast/sources/sql-source.js +5 -1
  253. package/dist/lang/ast/time-utils.d.ts +1 -2
  254. package/dist/lang/ast/types/expr-result.d.ts +1 -2
  255. package/dist/lang/ast/types/expression-def.d.ts +3 -4
  256. package/dist/lang/ast/types/expression-def.js +10 -2
  257. package/dist/lang/ast/types/field-space.d.ts +7 -0
  258. package/dist/lang/ast/types/global-name-space.d.ts +12 -0
  259. package/dist/lang/ast/types/global-name-space.js +51 -0
  260. package/dist/lang/ast/types/malloy-element.d.ts +1 -0
  261. package/dist/lang/ast/types/malloy-element.js +15 -2
  262. package/dist/lang/ast/types/query-property.d.ts +1 -2
  263. package/dist/lang/ast/types/query-property.js +2 -0
  264. package/dist/lang/ast/types/space-entry.d.ts +1 -1
  265. package/dist/lang/ast/types/space-field.d.ts +1 -2
  266. package/dist/lang/ast/types/space-field.js +5 -1
  267. package/dist/lang/ast/types/space-param.d.ts +1 -2
  268. package/dist/lang/ast/types/space-param.js +10 -2
  269. package/dist/lang/lib/Malloy/MalloyLexer.d.ts +138 -135
  270. package/dist/lang/lib/Malloy/MalloyLexer.js +1135 -1103
  271. package/dist/lang/lib/Malloy/MalloyParser.d.ts +252 -275
  272. package/dist/lang/lib/Malloy/MalloyParser.js +1753 -1905
  273. package/dist/lang/lib/Malloy/MalloyParserListener.d.ts +40 -103
  274. package/dist/lang/lib/Malloy/MalloyParserVisitor.d.ts +25 -64
  275. package/dist/lang/malloy-to-ast.d.ts +11 -7
  276. package/dist/lang/malloy-to-ast.js +90 -51
  277. package/dist/lang/parse-tree-walkers/document-symbol-walker.js +5 -2
  278. package/dist/lang/test/parse.spec.js +399 -18
  279. package/dist/lang/test/test-translator.d.ts +1 -0
  280. package/dist/lang/test/test-translator.js +5 -0
  281. package/dist/model/malloy_query.d.ts +13 -4
  282. package/dist/model/malloy_query.js +240 -76
  283. package/dist/model/malloy_types.d.ts +89 -18
  284. package/dist/model/malloy_types.js +88 -61
  285. package/dist/model/utils.d.ts +4 -0
  286. package/dist/model/utils.js +118 -1
  287. package/package.json +1 -1
  288. package/dist/lang/ast/types/type-desc.d.ts +0 -8
@@ -12,141 +12,144 @@ export declare class MalloyParser extends Parser {
12
12
  static readonly JSON_STRING = 1;
13
13
  static readonly ACCEPT = 2;
14
14
  static readonly AGGREGATE = 3;
15
- static readonly CONNECTION = 4;
16
- static readonly DECLARE = 5;
17
- static readonly DIMENSION = 6;
18
- static readonly EXCEPT = 7;
19
- static readonly GROUP_BY = 8;
20
- static readonly HAVING = 9;
21
- static readonly INDEX = 10;
22
- static readonly JOIN_CROSS = 11;
23
- static readonly JOIN_ONE = 12;
24
- static readonly JOIN_MANY = 13;
25
- static readonly LIMIT = 14;
26
- static readonly MEASURE = 15;
27
- static readonly NEST = 16;
28
- static readonly ORDER_BY = 17;
29
- static readonly PRIMARY_KEY = 18;
30
- static readonly PROJECT = 19;
31
- static readonly QUERY = 20;
32
- static readonly RENAME = 21;
33
- static readonly SAMPLE = 22;
34
- static readonly SELECT = 23;
35
- static readonly SOURCE = 24;
36
- static readonly SQL = 25;
37
- static readonly TOP = 26;
38
- static readonly WHERE = 27;
39
- static readonly TIMEZONE = 28;
40
- static readonly ALL = 29;
41
- static readonly AND = 30;
42
- static readonly AS = 31;
43
- static readonly ASC = 32;
44
- static readonly AVG = 33;
45
- static readonly BOOLEAN = 34;
46
- static readonly BY = 35;
47
- static readonly CASE = 36;
48
- static readonly CAST = 37;
49
- static readonly CONDITION = 38;
50
- static readonly COUNT = 39;
51
- static readonly DATE = 40;
52
- static readonly DAY = 41;
53
- static readonly DESC = 42;
54
- static readonly DISTINCT = 43;
55
- static readonly ELSE = 44;
56
- static readonly END = 45;
57
- static readonly EXCLUDE = 46;
58
- static readonly FALSE = 47;
59
- static readonly FOR = 48;
60
- static readonly FROM = 49;
61
- static readonly FROM_SQL = 50;
62
- static readonly HAS = 51;
63
- static readonly HOUR = 52;
64
- static readonly IMPORT = 53;
65
- static readonly IS = 54;
66
- static readonly JSON = 55;
67
- static readonly LAST = 56;
68
- static readonly MAX = 57;
69
- static readonly MIN = 58;
70
- static readonly MINUTE = 59;
71
- static readonly MONTH = 60;
72
- static readonly NOT = 61;
73
- static readonly NOW = 62;
74
- static readonly NULL = 63;
75
- static readonly NUMBER = 64;
76
- static readonly ON = 65;
77
- static readonly OR = 66;
78
- static readonly PICK = 67;
79
- static readonly QUARTER = 68;
80
- static readonly SECOND = 69;
81
- static readonly STRING = 70;
82
- static readonly SUM = 71;
83
- static readonly TABLE = 72;
84
- static readonly THEN = 73;
85
- static readonly THIS = 74;
86
- static readonly TIMESTAMP = 75;
87
- static readonly TO = 76;
88
- static readonly TRUE = 77;
89
- static readonly TURTLE = 78;
90
- static readonly WEEK = 79;
91
- static readonly WHEN = 80;
92
- static readonly WITH = 81;
93
- static readonly YEAR = 82;
94
- static readonly UNGROUPED = 83;
95
- static readonly STRING_ESCAPE = 84;
96
- static readonly HACKY_REGEX = 85;
97
- static readonly STRING_LITERAL = 86;
98
- static readonly AMPER = 87;
99
- static readonly ARROW = 88;
100
- static readonly FAT_ARROW = 89;
101
- static readonly OPAREN = 90;
102
- static readonly CPAREN = 91;
103
- static readonly OBRACK = 92;
104
- static readonly CBRACK = 93;
105
- static readonly OCURLY = 94;
106
- static readonly CCURLY = 95;
107
- static readonly DOUBLECOLON = 96;
108
- static readonly COLON = 97;
109
- static readonly COMMA = 98;
110
- static readonly DOT = 99;
111
- static readonly LT = 100;
112
- static readonly GT = 101;
113
- static readonly EQ = 102;
114
- static readonly NE = 103;
115
- static readonly LTE = 104;
116
- static readonly GTE = 105;
117
- static readonly PLUS = 106;
118
- static readonly MINUS = 107;
119
- static readonly STAR = 108;
120
- static readonly STARSTAR = 109;
121
- static readonly SLASH = 110;
122
- static readonly BAR = 111;
123
- static readonly SEMI = 112;
124
- static readonly NOT_MATCH = 113;
125
- static readonly MATCH = 114;
126
- static readonly PERCENT = 115;
127
- static readonly DOUBLE_QMARK = 116;
128
- static readonly QMARK = 117;
129
- static readonly LITERAL_TIMESTAMP = 118;
130
- static readonly LITERAL_HOUR = 119;
131
- static readonly LITERAL_DAY = 120;
132
- static readonly LITERAL_QUARTER = 121;
133
- static readonly LITERAL_MONTH = 122;
134
- static readonly LITERAL_WEEK = 123;
135
- static readonly LITERAL_YEAR = 124;
136
- static readonly IDENTIFIER = 125;
137
- static readonly PERCENT_LITERAL = 126;
138
- static readonly INTEGER_LITERAL = 127;
139
- static readonly NUMERIC_LITERAL = 128;
140
- static readonly OBJECT_NAME_LITERAL = 129;
141
- static readonly BLOCK_COMMENT = 130;
142
- static readonly COMMENT_TO_EOL = 131;
143
- static readonly WHITE_SPACE = 132;
144
- static readonly SQL_BEGIN = 133;
145
- static readonly CLOSE_CODE = 134;
146
- static readonly UNWATED_CHARS_TRAILING_NUMBERS = 135;
147
- static readonly UNEXPECTED_CHAR = 136;
148
- static readonly OPEN_CODE = 137;
149
- static readonly SQL_END = 138;
15
+ static readonly CALCULATE = 4;
16
+ static readonly CALCULATION = 5;
17
+ static readonly CONNECTION = 6;
18
+ static readonly DECLARE = 7;
19
+ static readonly DIMENSION = 8;
20
+ static readonly EXCEPT = 9;
21
+ static readonly GROUP_BY = 10;
22
+ static readonly HAVING = 11;
23
+ static readonly INDEX = 12;
24
+ static readonly JOIN_CROSS = 13;
25
+ static readonly JOIN_ONE = 14;
26
+ static readonly JOIN_MANY = 15;
27
+ static readonly LIMIT = 16;
28
+ static readonly MEASURE = 17;
29
+ static readonly NEST = 18;
30
+ static readonly ORDER_BY = 19;
31
+ static readonly PRIMARY_KEY = 20;
32
+ static readonly PROJECT = 21;
33
+ static readonly QUERY = 22;
34
+ static readonly RENAME = 23;
35
+ static readonly SAMPLE = 24;
36
+ static readonly SELECT = 25;
37
+ static readonly SOURCE = 26;
38
+ static readonly SQL = 27;
39
+ static readonly TOP = 28;
40
+ static readonly WHERE = 29;
41
+ static readonly TIMEZONE = 30;
42
+ static readonly ALL = 31;
43
+ static readonly AND = 32;
44
+ static readonly AS = 33;
45
+ static readonly ASC = 34;
46
+ static readonly AVG = 35;
47
+ static readonly BOOLEAN = 36;
48
+ static readonly BY = 37;
49
+ static readonly CASE = 38;
50
+ static readonly CAST = 39;
51
+ static readonly CONDITION = 40;
52
+ static readonly COUNT = 41;
53
+ static readonly DATE = 42;
54
+ static readonly DAY = 43;
55
+ static readonly DESC = 44;
56
+ static readonly DISTINCT = 45;
57
+ static readonly ELSE = 46;
58
+ static readonly END = 47;
59
+ static readonly EXCLUDE = 48;
60
+ static readonly FALSE = 49;
61
+ static readonly FOR = 50;
62
+ static readonly FROM = 51;
63
+ static readonly FROM_SQL = 52;
64
+ static readonly HAS = 53;
65
+ static readonly HOUR = 54;
66
+ static readonly IMPORT = 55;
67
+ static readonly IS = 56;
68
+ static readonly JSON = 57;
69
+ static readonly LAST = 58;
70
+ static readonly MAX = 59;
71
+ static readonly MIN = 60;
72
+ static readonly MINUTE = 61;
73
+ static readonly MONTH = 62;
74
+ static readonly NOT = 63;
75
+ static readonly NOW = 64;
76
+ static readonly NULL = 65;
77
+ static readonly NUMBER = 66;
78
+ static readonly ON = 67;
79
+ static readonly OR = 68;
80
+ static readonly PICK = 69;
81
+ static readonly QUARTER = 70;
82
+ static readonly SECOND = 71;
83
+ static readonly STRING = 72;
84
+ static readonly SUM = 73;
85
+ static readonly TABLE = 74;
86
+ static readonly THEN = 75;
87
+ static readonly THIS = 76;
88
+ static readonly TIMESTAMP = 77;
89
+ static readonly TO = 78;
90
+ static readonly TRUE = 79;
91
+ static readonly TURTLE = 80;
92
+ static readonly WEEK = 81;
93
+ static readonly WHEN = 82;
94
+ static readonly WITH = 83;
95
+ static readonly YEAR = 84;
96
+ static readonly UNGROUPED = 85;
97
+ static readonly STRING_ESCAPE = 86;
98
+ static readonly HACKY_REGEX = 87;
99
+ static readonly STRING_LITERAL = 88;
100
+ static readonly AMPER = 89;
101
+ static readonly ARROW = 90;
102
+ static readonly FAT_ARROW = 91;
103
+ static readonly OPAREN = 92;
104
+ static readonly CPAREN = 93;
105
+ static readonly OBRACK = 94;
106
+ static readonly CBRACK = 95;
107
+ static readonly OCURLY = 96;
108
+ static readonly CCURLY = 97;
109
+ static readonly DOUBLECOLON = 98;
110
+ static readonly EXCLAM = 99;
111
+ static readonly COLON = 100;
112
+ static readonly COMMA = 101;
113
+ static readonly DOT = 102;
114
+ static readonly LT = 103;
115
+ static readonly GT = 104;
116
+ static readonly EQ = 105;
117
+ static readonly NE = 106;
118
+ static readonly LTE = 107;
119
+ static readonly GTE = 108;
120
+ static readonly PLUS = 109;
121
+ static readonly MINUS = 110;
122
+ static readonly STAR = 111;
123
+ static readonly STARSTAR = 112;
124
+ static readonly SLASH = 113;
125
+ static readonly BAR = 114;
126
+ static readonly SEMI = 115;
127
+ static readonly NOT_MATCH = 116;
128
+ static readonly MATCH = 117;
129
+ static readonly PERCENT = 118;
130
+ static readonly DOUBLE_QMARK = 119;
131
+ static readonly QMARK = 120;
132
+ static readonly LITERAL_TIMESTAMP = 121;
133
+ static readonly LITERAL_HOUR = 122;
134
+ static readonly LITERAL_DAY = 123;
135
+ static readonly LITERAL_QUARTER = 124;
136
+ static readonly LITERAL_MONTH = 125;
137
+ static readonly LITERAL_WEEK = 126;
138
+ static readonly LITERAL_YEAR = 127;
139
+ static readonly IDENTIFIER = 128;
140
+ static readonly PERCENT_LITERAL = 129;
141
+ static readonly INTEGER_LITERAL = 130;
142
+ static readonly NUMERIC_LITERAL = 131;
143
+ static readonly OBJECT_NAME_LITERAL = 132;
144
+ static readonly BLOCK_COMMENT = 133;
145
+ static readonly COMMENT_TO_EOL = 134;
146
+ static readonly WHITE_SPACE = 135;
147
+ static readonly SQL_BEGIN = 136;
148
+ static readonly CLOSE_CODE = 137;
149
+ static readonly UNWATED_CHARS_TRAILING_NUMBERS = 138;
150
+ static readonly UNEXPECTED_CHAR = 139;
151
+ static readonly OPEN_CODE = 140;
152
+ static readonly SQL_END = 141;
150
153
  static readonly RULE_malloyDocument = 0;
151
154
  static readonly RULE_malloyStatement = 1;
152
155
  static readonly RULE_defineSourceStatement = 2;
@@ -181,76 +184,75 @@ export declare class MalloyParser extends Parser {
181
184
  static readonly RULE_exploreStatement = 31;
182
185
  static readonly RULE_renameList = 32;
183
186
  static readonly RULE_exploreRenameDef = 33;
184
- static readonly RULE_dimensionDefList = 34;
185
- static readonly RULE_measureDefList = 35;
186
- static readonly RULE_fieldDef = 36;
187
- static readonly RULE_fieldNameDef = 37;
188
- static readonly RULE_joinNameDef = 38;
189
- static readonly RULE_measureDef = 39;
190
- static readonly RULE_declareStatement = 40;
191
- static readonly RULE_joinStatement = 41;
192
- static readonly RULE_joinList = 42;
193
- static readonly RULE_joinDef = 43;
194
- static readonly RULE_joinExpression = 44;
195
- static readonly RULE_filterStatement = 45;
196
- static readonly RULE_filteredBy = 46;
197
- static readonly RULE_filterClauseList = 47;
198
- static readonly RULE_whereStatement = 48;
199
- static readonly RULE_havingStatement = 49;
200
- static readonly RULE_subQueryDefList = 50;
201
- static readonly RULE_exploreQueryNameDef = 51;
202
- static readonly RULE_exploreQueryDef = 52;
203
- static readonly RULE_queryStatement = 53;
204
- static readonly RULE_groupByStatement = 54;
205
- static readonly RULE_queryFieldList = 55;
206
- static readonly RULE_dimensionDef = 56;
207
- static readonly RULE_queryFieldEntry = 57;
208
- static readonly RULE_nestStatement = 58;
209
- static readonly RULE_nestedQueryList = 59;
210
- static readonly RULE_nestEntry = 60;
211
- static readonly RULE_aggregateStatement = 61;
212
- static readonly RULE_projectStatement = 62;
213
- static readonly RULE_orderByStatement = 63;
214
- static readonly RULE_ordering = 64;
215
- static readonly RULE_orderBySpec = 65;
216
- static readonly RULE_limitStatement = 66;
217
- static readonly RULE_bySpec = 67;
218
- static readonly RULE_topStatement = 68;
219
- static readonly RULE_indexElement = 69;
220
- static readonly RULE_indexFields = 70;
221
- static readonly RULE_indexStatement = 71;
222
- static readonly RULE_sampleStatement = 72;
223
- static readonly RULE_timezoneStatement = 73;
224
- static readonly RULE_sampleSpec = 74;
225
- static readonly RULE_aggregate = 75;
226
- static readonly RULE_malloyType = 76;
227
- static readonly RULE_compareOp = 77;
228
- static readonly RULE_literal = 78;
229
- static readonly RULE_dateLiteral = 79;
230
- static readonly RULE_tableName = 80;
231
- static readonly RULE_id = 81;
232
- static readonly RULE_timeframe = 82;
233
- static readonly RULE_ungroup = 83;
234
- static readonly RULE_fieldExpr = 84;
235
- static readonly RULE_partialAllowedFieldExpr = 85;
236
- static readonly RULE_pickStatement = 86;
237
- static readonly RULE_pick = 87;
238
- static readonly RULE_argumentList = 88;
239
- static readonly RULE_fieldNameList = 89;
240
- static readonly RULE_fieldCollection = 90;
241
- static readonly RULE_collectionMember = 91;
242
- static readonly RULE_fieldPath = 92;
243
- static readonly RULE_joinName = 93;
244
- static readonly RULE_fieldName = 94;
245
- static readonly RULE_justExpr = 95;
246
- static readonly RULE_json = 96;
247
- static readonly RULE_jsonValue = 97;
248
- static readonly RULE_jsonObject = 98;
249
- static readonly RULE_jsonProperty = 99;
250
- static readonly RULE_jsonArray = 100;
251
- static readonly RULE_sqlExploreNameRef = 101;
252
- static readonly RULE_nameSQLBlock = 102;
253
- static readonly RULE_connectionName = 103;
187
+ static readonly RULE_defList = 34;
188
+ static readonly RULE_fieldDef = 35;
189
+ static readonly RULE_fieldNameDef = 36;
190
+ static readonly RULE_joinNameDef = 37;
191
+ static readonly RULE_declareStatement = 38;
192
+ static readonly RULE_joinStatement = 39;
193
+ static readonly RULE_joinList = 40;
194
+ static readonly RULE_joinDef = 41;
195
+ static readonly RULE_joinExpression = 42;
196
+ static readonly RULE_filterStatement = 43;
197
+ static readonly RULE_filteredBy = 44;
198
+ static readonly RULE_filterClauseList = 45;
199
+ static readonly RULE_whereStatement = 46;
200
+ static readonly RULE_havingStatement = 47;
201
+ static readonly RULE_subQueryDefList = 48;
202
+ static readonly RULE_exploreQueryNameDef = 49;
203
+ static readonly RULE_exploreQueryDef = 50;
204
+ static readonly RULE_queryStatement = 51;
205
+ static readonly RULE_groupByStatement = 52;
206
+ static readonly RULE_queryFieldList = 53;
207
+ static readonly RULE_queryFieldEntry = 54;
208
+ static readonly RULE_nestStatement = 55;
209
+ static readonly RULE_nestedQueryList = 56;
210
+ static readonly RULE_nestEntry = 57;
211
+ static readonly RULE_aggregateStatement = 58;
212
+ static readonly RULE_calculateStatement = 59;
213
+ static readonly RULE_projectStatement = 60;
214
+ static readonly RULE_orderByStatement = 61;
215
+ static readonly RULE_ordering = 62;
216
+ static readonly RULE_orderBySpec = 63;
217
+ static readonly RULE_limitStatement = 64;
218
+ static readonly RULE_bySpec = 65;
219
+ static readonly RULE_topStatement = 66;
220
+ static readonly RULE_indexElement = 67;
221
+ static readonly RULE_indexFields = 68;
222
+ static readonly RULE_indexStatement = 69;
223
+ static readonly RULE_sampleStatement = 70;
224
+ static readonly RULE_timezoneStatement = 71;
225
+ static readonly RULE_sampleSpec = 72;
226
+ static readonly RULE_aggregate = 73;
227
+ static readonly RULE_malloyType = 74;
228
+ static readonly RULE_compareOp = 75;
229
+ static readonly RULE_literal = 76;
230
+ static readonly RULE_dateLiteral = 77;
231
+ static readonly RULE_tableName = 78;
232
+ static readonly RULE_id = 79;
233
+ static readonly RULE_timeframe = 80;
234
+ static readonly RULE_ungroup = 81;
235
+ static readonly RULE_fieldExpr = 82;
236
+ static readonly RULE_partialAllowedFieldExpr = 83;
237
+ static readonly RULE_pickStatement = 84;
238
+ static readonly RULE_pick = 85;
239
+ static readonly RULE_argumentList = 86;
240
+ static readonly RULE_fieldNameList = 87;
241
+ static readonly RULE_fieldCollection = 88;
242
+ static readonly RULE_collectionWildCard = 89;
243
+ static readonly RULE_collectionMember = 90;
244
+ static readonly RULE_fieldPath = 91;
245
+ static readonly RULE_joinName = 92;
246
+ static readonly RULE_fieldName = 93;
247
+ static readonly RULE_justExpr = 94;
248
+ static readonly RULE_json = 95;
249
+ static readonly RULE_jsonValue = 96;
250
+ static readonly RULE_jsonObject = 97;
251
+ static readonly RULE_jsonProperty = 98;
252
+ static readonly RULE_jsonArray = 99;
253
+ static readonly RULE_sqlExploreNameRef = 100;
254
+ static readonly RULE_nameSQLBlock = 101;
255
+ static readonly RULE_connectionName = 102;
254
256
  static readonly ruleNames: string[];
255
257
  private static readonly _LITERAL_NAMES;
256
258
  private static readonly _SYMBOLIC_NAMES;
@@ -295,12 +297,10 @@ export declare class MalloyParser extends Parser {
295
297
  exploreStatement(): ExploreStatementContext;
296
298
  renameList(): RenameListContext;
297
299
  exploreRenameDef(): ExploreRenameDefContext;
298
- dimensionDefList(): DimensionDefListContext;
299
- measureDefList(): MeasureDefListContext;
300
+ defList(): DefListContext;
300
301
  fieldDef(): FieldDefContext;
301
302
  fieldNameDef(): FieldNameDefContext;
302
303
  joinNameDef(): JoinNameDefContext;
303
- measureDef(): MeasureDefContext;
304
304
  declareStatement(): DeclareStatementContext;
305
305
  joinStatement(): JoinStatementContext;
306
306
  joinList(): JoinListContext;
@@ -317,12 +317,12 @@ export declare class MalloyParser extends Parser {
317
317
  queryStatement(): QueryStatementContext;
318
318
  groupByStatement(): GroupByStatementContext;
319
319
  queryFieldList(): QueryFieldListContext;
320
- dimensionDef(): DimensionDefContext;
321
320
  queryFieldEntry(): QueryFieldEntryContext;
322
321
  nestStatement(): NestStatementContext;
323
322
  nestedQueryList(): NestedQueryListContext;
324
323
  nestEntry(): NestEntryContext;
325
324
  aggregateStatement(): AggregateStatementContext;
325
+ calculateStatement(): CalculateStatementContext;
326
326
  projectStatement(): ProjectStatementContext;
327
327
  orderByStatement(): OrderByStatementContext;
328
328
  ordering(): OrderingContext;
@@ -353,6 +353,7 @@ export declare class MalloyParser extends Parser {
353
353
  argumentList(): ArgumentListContext;
354
354
  fieldNameList(): FieldNameListContext;
355
355
  fieldCollection(): FieldCollectionContext;
356
+ collectionWildCard(): CollectionWildCardContext;
356
357
  collectionMember(): CollectionMemberContext;
357
358
  fieldPath(): FieldPathContext;
358
359
  joinName(): JoinNameContext;
@@ -750,7 +751,7 @@ export declare class ExploreStatementContext extends ParserRuleContext {
750
751
  }
751
752
  export declare class DefExploreDimensionContext extends ExploreStatementContext {
752
753
  DIMENSION(): TerminalNode;
753
- dimensionDefList(): DimensionDefListContext;
754
+ defList(): DefListContext;
754
755
  constructor(ctx: ExploreStatementContext);
755
756
  enterRule(listener: MalloyParserListener): void;
756
757
  exitRule(listener: MalloyParserListener): void;
@@ -758,7 +759,7 @@ export declare class DefExploreDimensionContext extends ExploreStatementContext
758
759
  }
759
760
  export declare class DefExploreMeasureContext extends ExploreStatementContext {
760
761
  MEASURE(): TerminalNode;
761
- measureDefList(): MeasureDefListContext;
762
+ defList(): DefListContext;
762
763
  constructor(ctx: ExploreStatementContext);
763
764
  enterRule(listener: MalloyParserListener): void;
764
765
  exitRule(listener: MalloyParserListener): void;
@@ -846,20 +847,9 @@ export declare class ExploreRenameDefContext extends ParserRuleContext {
846
847
  exitRule(listener: MalloyParserListener): void;
847
848
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
848
849
  }
849
- export declare class DimensionDefListContext extends ParserRuleContext {
850
- dimensionDef(): DimensionDefContext[];
851
- dimensionDef(i: number): DimensionDefContext;
852
- COMMA(): TerminalNode[];
853
- COMMA(i: number): TerminalNode;
854
- constructor(parent: ParserRuleContext | undefined, invokingState: number);
855
- get ruleIndex(): number;
856
- enterRule(listener: MalloyParserListener): void;
857
- exitRule(listener: MalloyParserListener): void;
858
- accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
859
- }
860
- export declare class MeasureDefListContext extends ParserRuleContext {
861
- measureDef(): MeasureDefContext[];
862
- measureDef(i: number): MeasureDefContext;
850
+ export declare class DefListContext extends ParserRuleContext {
851
+ fieldDef(): FieldDefContext[];
852
+ fieldDef(i: number): FieldDefContext;
863
853
  COMMA(): TerminalNode[];
864
854
  COMMA(i: number): TerminalNode;
865
855
  constructor(parent: ParserRuleContext | undefined, invokingState: number);
@@ -894,20 +884,9 @@ export declare class JoinNameDefContext extends ParserRuleContext {
894
884
  exitRule(listener: MalloyParserListener): void;
895
885
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
896
886
  }
897
- export declare class MeasureDefContext extends ParserRuleContext {
898
- fieldDef(): FieldDefContext;
899
- constructor(parent: ParserRuleContext | undefined, invokingState: number);
900
- get ruleIndex(): number;
901
- enterRule(listener: MalloyParserListener): void;
902
- exitRule(listener: MalloyParserListener): void;
903
- accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
904
- }
905
887
  export declare class DeclareStatementContext extends ParserRuleContext {
906
888
  DECLARE(): TerminalNode;
907
- fieldDef(): FieldDefContext[];
908
- fieldDef(i: number): FieldDefContext;
909
- COMMA(): TerminalNode[];
910
- COMMA(i: number): TerminalNode;
889
+ defList(): DefListContext;
911
890
  constructor(parent: ParserRuleContext | undefined, invokingState: number);
912
891
  get ruleIndex(): number;
913
892
  enterRule(listener: MalloyParserListener): void;
@@ -1083,6 +1062,7 @@ export declare class QueryStatementContext extends ParserRuleContext {
1083
1062
  projectStatement(): ProjectStatementContext | undefined;
1084
1063
  indexStatement(): IndexStatementContext | undefined;
1085
1064
  aggregateStatement(): AggregateStatementContext | undefined;
1065
+ calculateStatement(): CalculateStatementContext | undefined;
1086
1066
  topStatement(): TopStatementContext | undefined;
1087
1067
  limitStatement(): LimitStatementContext | undefined;
1088
1068
  orderByStatement(): OrderByStatementContext | undefined;
@@ -1117,29 +1097,11 @@ export declare class QueryFieldListContext extends ParserRuleContext {
1117
1097
  exitRule(listener: MalloyParserListener): void;
1118
1098
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1119
1099
  }
1120
- export declare class DimensionDefContext extends ParserRuleContext {
1121
- fieldDef(): FieldDefContext;
1122
- constructor(parent: ParserRuleContext | undefined, invokingState: number);
1123
- get ruleIndex(): number;
1124
- enterRule(listener: MalloyParserListener): void;
1125
- exitRule(listener: MalloyParserListener): void;
1126
- accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1127
- }
1128
1100
  export declare class QueryFieldEntryContext extends ParserRuleContext {
1101
+ fieldPath(): FieldPathContext | undefined;
1102
+ fieldDef(): FieldDefContext | undefined;
1129
1103
  constructor(parent: ParserRuleContext | undefined, invokingState: number);
1130
1104
  get ruleIndex(): number;
1131
- copyFrom(ctx: QueryFieldEntryContext): void;
1132
- }
1133
- export declare class QueryFieldRefContext extends QueryFieldEntryContext {
1134
- fieldPath(): FieldPathContext;
1135
- constructor(ctx: QueryFieldEntryContext);
1136
- enterRule(listener: MalloyParserListener): void;
1137
- exitRule(listener: MalloyParserListener): void;
1138
- accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1139
- }
1140
- export declare class QueryFieldDefContext extends QueryFieldEntryContext {
1141
- dimensionDef(): DimensionDefContext;
1142
- constructor(ctx: QueryFieldEntryContext);
1143
1105
  enterRule(listener: MalloyParserListener): void;
1144
1106
  exitRule(listener: MalloyParserListener): void;
1145
1107
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
@@ -1196,6 +1158,15 @@ export declare class AggregateStatementContext extends ParserRuleContext {
1196
1158
  exitRule(listener: MalloyParserListener): void;
1197
1159
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1198
1160
  }
1161
+ export declare class CalculateStatementContext extends ParserRuleContext {
1162
+ CALCULATE(): TerminalNode;
1163
+ queryFieldList(): QueryFieldListContext;
1164
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
1165
+ get ruleIndex(): number;
1166
+ enterRule(listener: MalloyParserListener): void;
1167
+ exitRule(listener: MalloyParserListener): void;
1168
+ accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1169
+ }
1199
1170
  export declare class ProjectStatementContext extends ParserRuleContext {
1200
1171
  PROJECT(): TerminalNode;
1201
1172
  fieldCollection(): FieldCollectionContext;
@@ -1738,12 +1709,26 @@ export declare class ExprExprContext extends FieldExprContext {
1738
1709
  exitRule(listener: MalloyParserListener): void;
1739
1710
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1740
1711
  }
1712
+ export declare class ExprAggFuncContext extends FieldExprContext {
1713
+ id(): IdContext;
1714
+ OPAREN(): TerminalNode;
1715
+ CPAREN(): TerminalNode;
1716
+ fieldPath(): FieldPathContext | undefined;
1717
+ DOT(): TerminalNode | undefined;
1718
+ argumentList(): ArgumentListContext | undefined;
1719
+ constructor(ctx: FieldExprContext);
1720
+ enterRule(listener: MalloyParserListener): void;
1721
+ exitRule(listener: MalloyParserListener): void;
1722
+ accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1723
+ }
1741
1724
  export declare class ExprFuncContext extends FieldExprContext {
1742
1725
  OPAREN(): TerminalNode;
1743
1726
  CPAREN(): TerminalNode;
1744
- id(): IdContext | undefined;
1745
1727
  timeframe(): TimeframeContext | undefined;
1728
+ id(): IdContext | undefined;
1746
1729
  argumentList(): ArgumentListContext | undefined;
1730
+ EXCLAM(): TerminalNode | undefined;
1731
+ malloyType(): MalloyTypeContext | undefined;
1747
1732
  constructor(ctx: FieldExprContext);
1748
1733
  enterRule(listener: MalloyParserListener): void;
1749
1734
  exitRule(listener: MalloyParserListener): void;
@@ -1837,31 +1822,23 @@ export declare class FieldCollectionContext extends ParserRuleContext {
1837
1822
  exitRule(listener: MalloyParserListener): void;
1838
1823
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1839
1824
  }
1840
- export declare class CollectionMemberContext extends ParserRuleContext {
1841
- constructor(parent: ParserRuleContext | undefined, invokingState: number);
1842
- get ruleIndex(): number;
1843
- copyFrom(ctx: CollectionMemberContext): void;
1844
- }
1845
- export declare class NameMemberContext extends CollectionMemberContext {
1846
- fieldPath(): FieldPathContext;
1847
- constructor(ctx: CollectionMemberContext);
1848
- enterRule(listener: MalloyParserListener): void;
1849
- exitRule(listener: MalloyParserListener): void;
1850
- accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1851
- }
1852
- export declare class WildMemberContext extends CollectionMemberContext {
1825
+ export declare class CollectionWildCardContext extends ParserRuleContext {
1853
1826
  STAR(): TerminalNode | undefined;
1854
1827
  STARSTAR(): TerminalNode | undefined;
1855
1828
  fieldPath(): FieldPathContext | undefined;
1856
1829
  DOT(): TerminalNode | undefined;
1857
- constructor(ctx: CollectionMemberContext);
1830
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
1831
+ get ruleIndex(): number;
1858
1832
  enterRule(listener: MalloyParserListener): void;
1859
1833
  exitRule(listener: MalloyParserListener): void;
1860
1834
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;
1861
1835
  }
1862
- export declare class NewMemberContext extends CollectionMemberContext {
1863
- fieldDef(): FieldDefContext;
1864
- constructor(ctx: CollectionMemberContext);
1836
+ export declare class CollectionMemberContext extends ParserRuleContext {
1837
+ fieldPath(): FieldPathContext | undefined;
1838
+ collectionWildCard(): CollectionWildCardContext | undefined;
1839
+ fieldDef(): FieldDefContext | undefined;
1840
+ constructor(parent: ParserRuleContext | undefined, invokingState: number);
1841
+ get ruleIndex(): number;
1865
1842
  enterRule(listener: MalloyParserListener): void;
1866
1843
  exitRule(listener: MalloyParserListener): void;
1867
1844
  accept<Result>(visitor: MalloyParserVisitor<Result>): Result;