@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
@@ -1,7 +1,4 @@
1
1
  import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";
2
- import { NameMemberContext } from "./MalloyParser";
3
- import { WildMemberContext } from "./MalloyParser";
4
- import { NewMemberContext } from "./MalloyParser";
5
2
  import { NamedQueries_stubContext } from "./MalloyParser";
6
3
  import { AnonymousQueryContext } from "./MalloyParser";
7
4
  import { NamedSourceContext } from "./MalloyParser";
@@ -22,8 +19,6 @@ import { ExprNULLContext } from "./MalloyParser";
22
19
  import { ExprBoolContext } from "./MalloyParser";
23
20
  import { ExprRegexContext } from "./MalloyParser";
24
21
  import { ExprNowContext } from "./MalloyParser";
25
- import { QueryFieldRefContext } from "./MalloyParser";
26
- import { QueryFieldDefContext } from "./MalloyParser";
27
22
  import { NestExistingContext } from "./MalloyParser";
28
23
  import { NestDefContext } from "./MalloyParser";
29
24
  import { ExprFieldPathContext } from "./MalloyParser";
@@ -49,6 +44,7 @@ import { ExprCastContext } from "./MalloyParser";
49
44
  import { ExprCountDisinctContext } from "./MalloyParser";
50
45
  import { ExprAggregateContext } from "./MalloyParser";
51
46
  import { ExprExprContext } from "./MalloyParser";
47
+ import { ExprAggFuncContext } from "./MalloyParser";
52
48
  import { ExprFuncContext } from "./MalloyParser";
53
49
  import { ExprPickContext } from "./MalloyParser";
54
50
  import { ExprUngroupContext } from "./MalloyParser";
@@ -105,12 +101,10 @@ import { ExplorePropertiesContext } from "./MalloyParser";
105
101
  import { ExploreStatementContext } from "./MalloyParser";
106
102
  import { RenameListContext } from "./MalloyParser";
107
103
  import { ExploreRenameDefContext } from "./MalloyParser";
108
- import { DimensionDefListContext } from "./MalloyParser";
109
- import { MeasureDefListContext } from "./MalloyParser";
104
+ import { DefListContext } from "./MalloyParser";
110
105
  import { FieldDefContext } from "./MalloyParser";
111
106
  import { FieldNameDefContext } from "./MalloyParser";
112
107
  import { JoinNameDefContext } from "./MalloyParser";
113
- import { MeasureDefContext } from "./MalloyParser";
114
108
  import { DeclareStatementContext } from "./MalloyParser";
115
109
  import { JoinStatementContext } from "./MalloyParser";
116
110
  import { JoinListContext } from "./MalloyParser";
@@ -127,12 +121,12 @@ import { ExploreQueryDefContext } from "./MalloyParser";
127
121
  import { QueryStatementContext } from "./MalloyParser";
128
122
  import { GroupByStatementContext } from "./MalloyParser";
129
123
  import { QueryFieldListContext } from "./MalloyParser";
130
- import { DimensionDefContext } from "./MalloyParser";
131
124
  import { QueryFieldEntryContext } from "./MalloyParser";
132
125
  import { NestStatementContext } from "./MalloyParser";
133
126
  import { NestedQueryListContext } from "./MalloyParser";
134
127
  import { NestEntryContext } from "./MalloyParser";
135
128
  import { AggregateStatementContext } from "./MalloyParser";
129
+ import { CalculateStatementContext } from "./MalloyParser";
136
130
  import { ProjectStatementContext } from "./MalloyParser";
137
131
  import { OrderByStatementContext } from "./MalloyParser";
138
132
  import { OrderingContext } from "./MalloyParser";
@@ -162,6 +156,7 @@ import { PickContext } from "./MalloyParser";
162
156
  import { ArgumentListContext } from "./MalloyParser";
163
157
  import { FieldNameListContext } from "./MalloyParser";
164
158
  import { FieldCollectionContext } from "./MalloyParser";
159
+ import { CollectionWildCardContext } from "./MalloyParser";
165
160
  import { CollectionMemberContext } from "./MalloyParser";
166
161
  import { FieldPathContext } from "./MalloyParser";
167
162
  import { JoinNameContext } from "./MalloyParser";
@@ -180,42 +175,6 @@ import { ConnectionNameContext } from "./MalloyParser";
180
175
  * `MalloyParser`.
181
176
  */
182
177
  export interface MalloyParserListener extends ParseTreeListener {
183
- /**
184
- * Enter a parse tree produced by the `nameMember`
185
- * labeled alternative in `MalloyParser.collectionMember`.
186
- * @param ctx the parse tree
187
- */
188
- enterNameMember?: (ctx: NameMemberContext) => void;
189
- /**
190
- * Exit a parse tree produced by the `nameMember`
191
- * labeled alternative in `MalloyParser.collectionMember`.
192
- * @param ctx the parse tree
193
- */
194
- exitNameMember?: (ctx: NameMemberContext) => void;
195
- /**
196
- * Enter a parse tree produced by the `wildMember`
197
- * labeled alternative in `MalloyParser.collectionMember`.
198
- * @param ctx the parse tree
199
- */
200
- enterWildMember?: (ctx: WildMemberContext) => void;
201
- /**
202
- * Exit a parse tree produced by the `wildMember`
203
- * labeled alternative in `MalloyParser.collectionMember`.
204
- * @param ctx the parse tree
205
- */
206
- exitWildMember?: (ctx: WildMemberContext) => void;
207
- /**
208
- * Enter a parse tree produced by the `newMember`
209
- * labeled alternative in `MalloyParser.collectionMember`.
210
- * @param ctx the parse tree
211
- */
212
- enterNewMember?: (ctx: NewMemberContext) => void;
213
- /**
214
- * Exit a parse tree produced by the `newMember`
215
- * labeled alternative in `MalloyParser.collectionMember`.
216
- * @param ctx the parse tree
217
- */
218
- exitNewMember?: (ctx: NewMemberContext) => void;
219
178
  /**
220
179
  * Enter a parse tree produced by the `namedQueries_stub`
221
180
  * labeled alternative in `MalloyParser.defineQuery`.
@@ -456,30 +415,6 @@ export interface MalloyParserListener extends ParseTreeListener {
456
415
  * @param ctx the parse tree
457
416
  */
458
417
  exitExprNow?: (ctx: ExprNowContext) => void;
459
- /**
460
- * Enter a parse tree produced by the `queryFieldRef`
461
- * labeled alternative in `MalloyParser.queryFieldEntry`.
462
- * @param ctx the parse tree
463
- */
464
- enterQueryFieldRef?: (ctx: QueryFieldRefContext) => void;
465
- /**
466
- * Exit a parse tree produced by the `queryFieldRef`
467
- * labeled alternative in `MalloyParser.queryFieldEntry`.
468
- * @param ctx the parse tree
469
- */
470
- exitQueryFieldRef?: (ctx: QueryFieldRefContext) => void;
471
- /**
472
- * Enter a parse tree produced by the `queryFieldDef`
473
- * labeled alternative in `MalloyParser.queryFieldEntry`.
474
- * @param ctx the parse tree
475
- */
476
- enterQueryFieldDef?: (ctx: QueryFieldDefContext) => void;
477
- /**
478
- * Exit a parse tree produced by the `queryFieldDef`
479
- * labeled alternative in `MalloyParser.queryFieldEntry`.
480
- * @param ctx the parse tree
481
- */
482
- exitQueryFieldDef?: (ctx: QueryFieldDefContext) => void;
483
418
  /**
484
419
  * Enter a parse tree produced by the `nestExisting`
485
420
  * labeled alternative in `MalloyParser.nestEntry`.
@@ -780,6 +715,18 @@ export interface MalloyParserListener extends ParseTreeListener {
780
715
  * @param ctx the parse tree
781
716
  */
782
717
  exitExprExpr?: (ctx: ExprExprContext) => void;
718
+ /**
719
+ * Enter a parse tree produced by the `exprAggFunc`
720
+ * labeled alternative in `MalloyParser.fieldExpr`.
721
+ * @param ctx the parse tree
722
+ */
723
+ enterExprAggFunc?: (ctx: ExprAggFuncContext) => void;
724
+ /**
725
+ * Exit a parse tree produced by the `exprAggFunc`
726
+ * labeled alternative in `MalloyParser.fieldExpr`.
727
+ * @param ctx the parse tree
728
+ */
729
+ exitExprAggFunc?: (ctx: ExprAggFuncContext) => void;
783
730
  /**
784
731
  * Enter a parse tree produced by the `exprFunc`
785
732
  * labeled alternative in `MalloyParser.fieldExpr`.
@@ -1385,25 +1332,15 @@ export interface MalloyParserListener extends ParseTreeListener {
1385
1332
  */
1386
1333
  exitExploreRenameDef?: (ctx: ExploreRenameDefContext) => void;
1387
1334
  /**
1388
- * Enter a parse tree produced by `MalloyParser.dimensionDefList`.
1335
+ * Enter a parse tree produced by `MalloyParser.defList`.
1389
1336
  * @param ctx the parse tree
1390
1337
  */
1391
- enterDimensionDefList?: (ctx: DimensionDefListContext) => void;
1338
+ enterDefList?: (ctx: DefListContext) => void;
1392
1339
  /**
1393
- * Exit a parse tree produced by `MalloyParser.dimensionDefList`.
1340
+ * Exit a parse tree produced by `MalloyParser.defList`.
1394
1341
  * @param ctx the parse tree
1395
1342
  */
1396
- exitDimensionDefList?: (ctx: DimensionDefListContext) => void;
1397
- /**
1398
- * Enter a parse tree produced by `MalloyParser.measureDefList`.
1399
- * @param ctx the parse tree
1400
- */
1401
- enterMeasureDefList?: (ctx: MeasureDefListContext) => void;
1402
- /**
1403
- * Exit a parse tree produced by `MalloyParser.measureDefList`.
1404
- * @param ctx the parse tree
1405
- */
1406
- exitMeasureDefList?: (ctx: MeasureDefListContext) => void;
1343
+ exitDefList?: (ctx: DefListContext) => void;
1407
1344
  /**
1408
1345
  * Enter a parse tree produced by `MalloyParser.fieldDef`.
1409
1346
  * @param ctx the parse tree
@@ -1434,16 +1371,6 @@ export interface MalloyParserListener extends ParseTreeListener {
1434
1371
  * @param ctx the parse tree
1435
1372
  */
1436
1373
  exitJoinNameDef?: (ctx: JoinNameDefContext) => void;
1437
- /**
1438
- * Enter a parse tree produced by `MalloyParser.measureDef`.
1439
- * @param ctx the parse tree
1440
- */
1441
- enterMeasureDef?: (ctx: MeasureDefContext) => void;
1442
- /**
1443
- * Exit a parse tree produced by `MalloyParser.measureDef`.
1444
- * @param ctx the parse tree
1445
- */
1446
- exitMeasureDef?: (ctx: MeasureDefContext) => void;
1447
1374
  /**
1448
1375
  * Enter a parse tree produced by `MalloyParser.declareStatement`.
1449
1376
  * @param ctx the parse tree
@@ -1604,16 +1531,6 @@ export interface MalloyParserListener extends ParseTreeListener {
1604
1531
  * @param ctx the parse tree
1605
1532
  */
1606
1533
  exitQueryFieldList?: (ctx: QueryFieldListContext) => void;
1607
- /**
1608
- * Enter a parse tree produced by `MalloyParser.dimensionDef`.
1609
- * @param ctx the parse tree
1610
- */
1611
- enterDimensionDef?: (ctx: DimensionDefContext) => void;
1612
- /**
1613
- * Exit a parse tree produced by `MalloyParser.dimensionDef`.
1614
- * @param ctx the parse tree
1615
- */
1616
- exitDimensionDef?: (ctx: DimensionDefContext) => void;
1617
1534
  /**
1618
1535
  * Enter a parse tree produced by `MalloyParser.queryFieldEntry`.
1619
1536
  * @param ctx the parse tree
@@ -1664,6 +1581,16 @@ export interface MalloyParserListener extends ParseTreeListener {
1664
1581
  * @param ctx the parse tree
1665
1582
  */
1666
1583
  exitAggregateStatement?: (ctx: AggregateStatementContext) => void;
1584
+ /**
1585
+ * Enter a parse tree produced by `MalloyParser.calculateStatement`.
1586
+ * @param ctx the parse tree
1587
+ */
1588
+ enterCalculateStatement?: (ctx: CalculateStatementContext) => void;
1589
+ /**
1590
+ * Exit a parse tree produced by `MalloyParser.calculateStatement`.
1591
+ * @param ctx the parse tree
1592
+ */
1593
+ exitCalculateStatement?: (ctx: CalculateStatementContext) => void;
1667
1594
  /**
1668
1595
  * Enter a parse tree produced by `MalloyParser.projectStatement`.
1669
1596
  * @param ctx the parse tree
@@ -1954,6 +1881,16 @@ export interface MalloyParserListener extends ParseTreeListener {
1954
1881
  * @param ctx the parse tree
1955
1882
  */
1956
1883
  exitFieldCollection?: (ctx: FieldCollectionContext) => void;
1884
+ /**
1885
+ * Enter a parse tree produced by `MalloyParser.collectionWildCard`.
1886
+ * @param ctx the parse tree
1887
+ */
1888
+ enterCollectionWildCard?: (ctx: CollectionWildCardContext) => void;
1889
+ /**
1890
+ * Exit a parse tree produced by `MalloyParser.collectionWildCard`.
1891
+ * @param ctx the parse tree
1892
+ */
1893
+ exitCollectionWildCard?: (ctx: CollectionWildCardContext) => void;
1957
1894
  /**
1958
1895
  * Enter a parse tree produced by `MalloyParser.collectionMember`.
1959
1896
  * @param ctx the parse tree
@@ -1,7 +1,4 @@
1
1
  import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";
2
- import { NameMemberContext } from "./MalloyParser";
3
- import { WildMemberContext } from "./MalloyParser";
4
- import { NewMemberContext } from "./MalloyParser";
5
2
  import { NamedQueries_stubContext } from "./MalloyParser";
6
3
  import { AnonymousQueryContext } from "./MalloyParser";
7
4
  import { NamedSourceContext } from "./MalloyParser";
@@ -22,8 +19,6 @@ import { ExprNULLContext } from "./MalloyParser";
22
19
  import { ExprBoolContext } from "./MalloyParser";
23
20
  import { ExprRegexContext } from "./MalloyParser";
24
21
  import { ExprNowContext } from "./MalloyParser";
25
- import { QueryFieldRefContext } from "./MalloyParser";
26
- import { QueryFieldDefContext } from "./MalloyParser";
27
22
  import { NestExistingContext } from "./MalloyParser";
28
23
  import { NestDefContext } from "./MalloyParser";
29
24
  import { ExprFieldPathContext } from "./MalloyParser";
@@ -49,6 +44,7 @@ import { ExprCastContext } from "./MalloyParser";
49
44
  import { ExprCountDisinctContext } from "./MalloyParser";
50
45
  import { ExprAggregateContext } from "./MalloyParser";
51
46
  import { ExprExprContext } from "./MalloyParser";
47
+ import { ExprAggFuncContext } from "./MalloyParser";
52
48
  import { ExprFuncContext } from "./MalloyParser";
53
49
  import { ExprPickContext } from "./MalloyParser";
54
50
  import { ExprUngroupContext } from "./MalloyParser";
@@ -105,12 +101,10 @@ import { ExplorePropertiesContext } from "./MalloyParser";
105
101
  import { ExploreStatementContext } from "./MalloyParser";
106
102
  import { RenameListContext } from "./MalloyParser";
107
103
  import { ExploreRenameDefContext } from "./MalloyParser";
108
- import { DimensionDefListContext } from "./MalloyParser";
109
- import { MeasureDefListContext } from "./MalloyParser";
104
+ import { DefListContext } from "./MalloyParser";
110
105
  import { FieldDefContext } from "./MalloyParser";
111
106
  import { FieldNameDefContext } from "./MalloyParser";
112
107
  import { JoinNameDefContext } from "./MalloyParser";
113
- import { MeasureDefContext } from "./MalloyParser";
114
108
  import { DeclareStatementContext } from "./MalloyParser";
115
109
  import { JoinStatementContext } from "./MalloyParser";
116
110
  import { JoinListContext } from "./MalloyParser";
@@ -127,12 +121,12 @@ import { ExploreQueryDefContext } from "./MalloyParser";
127
121
  import { QueryStatementContext } from "./MalloyParser";
128
122
  import { GroupByStatementContext } from "./MalloyParser";
129
123
  import { QueryFieldListContext } from "./MalloyParser";
130
- import { DimensionDefContext } from "./MalloyParser";
131
124
  import { QueryFieldEntryContext } from "./MalloyParser";
132
125
  import { NestStatementContext } from "./MalloyParser";
133
126
  import { NestedQueryListContext } from "./MalloyParser";
134
127
  import { NestEntryContext } from "./MalloyParser";
135
128
  import { AggregateStatementContext } from "./MalloyParser";
129
+ import { CalculateStatementContext } from "./MalloyParser";
136
130
  import { ProjectStatementContext } from "./MalloyParser";
137
131
  import { OrderByStatementContext } from "./MalloyParser";
138
132
  import { OrderingContext } from "./MalloyParser";
@@ -162,6 +156,7 @@ import { PickContext } from "./MalloyParser";
162
156
  import { ArgumentListContext } from "./MalloyParser";
163
157
  import { FieldNameListContext } from "./MalloyParser";
164
158
  import { FieldCollectionContext } from "./MalloyParser";
159
+ import { CollectionWildCardContext } from "./MalloyParser";
165
160
  import { CollectionMemberContext } from "./MalloyParser";
166
161
  import { FieldPathContext } from "./MalloyParser";
167
162
  import { JoinNameContext } from "./MalloyParser";
@@ -183,27 +178,6 @@ import { ConnectionNameContext } from "./MalloyParser";
183
178
  * operations with no return type.
184
179
  */
185
180
  export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
186
- /**
187
- * Visit a parse tree produced by the `nameMember`
188
- * labeled alternative in `MalloyParser.collectionMember`.
189
- * @param ctx the parse tree
190
- * @return the visitor result
191
- */
192
- visitNameMember?: (ctx: NameMemberContext) => Result;
193
- /**
194
- * Visit a parse tree produced by the `wildMember`
195
- * labeled alternative in `MalloyParser.collectionMember`.
196
- * @param ctx the parse tree
197
- * @return the visitor result
198
- */
199
- visitWildMember?: (ctx: WildMemberContext) => Result;
200
- /**
201
- * Visit a parse tree produced by the `newMember`
202
- * labeled alternative in `MalloyParser.collectionMember`.
203
- * @param ctx the parse tree
204
- * @return the visitor result
205
- */
206
- visitNewMember?: (ctx: NewMemberContext) => Result;
207
181
  /**
208
182
  * Visit a parse tree produced by the `namedQueries_stub`
209
183
  * labeled alternative in `MalloyParser.defineQuery`.
@@ -344,20 +318,6 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
344
318
  * @return the visitor result
345
319
  */
346
320
  visitExprNow?: (ctx: ExprNowContext) => Result;
347
- /**
348
- * Visit a parse tree produced by the `queryFieldRef`
349
- * labeled alternative in `MalloyParser.queryFieldEntry`.
350
- * @param ctx the parse tree
351
- * @return the visitor result
352
- */
353
- visitQueryFieldRef?: (ctx: QueryFieldRefContext) => Result;
354
- /**
355
- * Visit a parse tree produced by the `queryFieldDef`
356
- * labeled alternative in `MalloyParser.queryFieldEntry`.
357
- * @param ctx the parse tree
358
- * @return the visitor result
359
- */
360
- visitQueryFieldDef?: (ctx: QueryFieldDefContext) => Result;
361
321
  /**
362
322
  * Visit a parse tree produced by the `nestExisting`
363
323
  * labeled alternative in `MalloyParser.nestEntry`.
@@ -533,6 +493,13 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
533
493
  * @return the visitor result
534
494
  */
535
495
  visitExprExpr?: (ctx: ExprExprContext) => Result;
496
+ /**
497
+ * Visit a parse tree produced by the `exprAggFunc`
498
+ * labeled alternative in `MalloyParser.fieldExpr`.
499
+ * @param ctx the parse tree
500
+ * @return the visitor result
501
+ */
502
+ visitExprAggFunc?: (ctx: ExprAggFuncContext) => Result;
536
503
  /**
537
504
  * Visit a parse tree produced by the `exprFunc`
538
505
  * labeled alternative in `MalloyParser.fieldExpr`.
@@ -892,17 +859,11 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
892
859
  */
893
860
  visitExploreRenameDef?: (ctx: ExploreRenameDefContext) => Result;
894
861
  /**
895
- * Visit a parse tree produced by `MalloyParser.dimensionDefList`.
896
- * @param ctx the parse tree
897
- * @return the visitor result
898
- */
899
- visitDimensionDefList?: (ctx: DimensionDefListContext) => Result;
900
- /**
901
- * Visit a parse tree produced by `MalloyParser.measureDefList`.
862
+ * Visit a parse tree produced by `MalloyParser.defList`.
902
863
  * @param ctx the parse tree
903
864
  * @return the visitor result
904
865
  */
905
- visitMeasureDefList?: (ctx: MeasureDefListContext) => Result;
866
+ visitDefList?: (ctx: DefListContext) => Result;
906
867
  /**
907
868
  * Visit a parse tree produced by `MalloyParser.fieldDef`.
908
869
  * @param ctx the parse tree
@@ -921,12 +882,6 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
921
882
  * @return the visitor result
922
883
  */
923
884
  visitJoinNameDef?: (ctx: JoinNameDefContext) => Result;
924
- /**
925
- * Visit a parse tree produced by `MalloyParser.measureDef`.
926
- * @param ctx the parse tree
927
- * @return the visitor result
928
- */
929
- visitMeasureDef?: (ctx: MeasureDefContext) => Result;
930
885
  /**
931
886
  * Visit a parse tree produced by `MalloyParser.declareStatement`.
932
887
  * @param ctx the parse tree
@@ -1023,12 +978,6 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
1023
978
  * @return the visitor result
1024
979
  */
1025
980
  visitQueryFieldList?: (ctx: QueryFieldListContext) => Result;
1026
- /**
1027
- * Visit a parse tree produced by `MalloyParser.dimensionDef`.
1028
- * @param ctx the parse tree
1029
- * @return the visitor result
1030
- */
1031
- visitDimensionDef?: (ctx: DimensionDefContext) => Result;
1032
981
  /**
1033
982
  * Visit a parse tree produced by `MalloyParser.queryFieldEntry`.
1034
983
  * @param ctx the parse tree
@@ -1059,6 +1008,12 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
1059
1008
  * @return the visitor result
1060
1009
  */
1061
1010
  visitAggregateStatement?: (ctx: AggregateStatementContext) => Result;
1011
+ /**
1012
+ * Visit a parse tree produced by `MalloyParser.calculateStatement`.
1013
+ * @param ctx the parse tree
1014
+ * @return the visitor result
1015
+ */
1016
+ visitCalculateStatement?: (ctx: CalculateStatementContext) => Result;
1062
1017
  /**
1063
1018
  * Visit a parse tree produced by `MalloyParser.projectStatement`.
1064
1019
  * @param ctx the parse tree
@@ -1233,6 +1188,12 @@ export interface MalloyParserVisitor<Result> extends ParseTreeVisitor<Result> {
1233
1188
  * @return the visitor result
1234
1189
  */
1235
1190
  visitFieldCollection?: (ctx: FieldCollectionContext) => Result;
1191
+ /**
1192
+ * Visit a parse tree produced by `MalloyParser.collectionWildCard`.
1193
+ * @param ctx the parse tree
1194
+ * @return the visitor result
1195
+ */
1196
+ visitCollectionWildCard?: (ctx: CollectionWildCardContext) => Result;
1236
1197
  /**
1237
1198
  * Visit a parse tree produced by `MalloyParser.collectionMember`.
1238
1199
  * @param ctx the parse tree
@@ -6,6 +6,7 @@ import * as parse from './lib/Malloy/MalloyParser';
6
6
  import * as ast from './ast';
7
7
  import { LogSeverity, MessageLogger } from './parse-log';
8
8
  import { MalloyParseRoot } from './parse-malloy';
9
+ import { FieldDeclarationConstructor } from './ast';
9
10
  /**
10
11
  * ANTLR visitor pattern parse tree traversal. Generates a Malloy
11
12
  * AST from an ANTLR parse tree.
@@ -47,7 +48,7 @@ export declare class MalloyToAST extends AbstractParseTreeVisitor<ast.MalloyElem
47
48
  protected astAt<MT extends ast.MalloyElement>(el: MT, cx: ParserRuleContext): MT;
48
49
  protected getSourceCode(cx: ParserRuleContext): string;
49
50
  protected getFilterElement(cx: parse.FieldExprContext): ast.FilterElement;
50
- protected getFieldDefs(cxList: ParserRuleContext[], isAgg?: boolean): ast.FieldDeclaration[];
51
+ protected getFieldDefs(cxList: parse.FieldDefContext[], makeFieldDef: ast.FieldDeclarationConstructor): ast.FieldDeclaration[];
51
52
  protected getFieldExpr(cx: parse.FieldExprContext): ast.ExpressionDef;
52
53
  protected getSegments(segments: parse.PipeElementContext[]): ast.QOPDesc[];
53
54
  protected getFilterShortcut(cx: parse.FilterShortcutContext): ast.Filter;
@@ -74,7 +75,7 @@ export declare class MalloyToAST extends AbstractParseTreeVisitor<ast.MalloyElem
74
75
  protected getJoinSource(name: ast.ModelEntryReference, ecx: parse.ExploreContext | undefined): ast.Source;
75
76
  visitJoinOn(pcx: parse.JoinOnContext): ast.Join;
76
77
  visitJoinWith(pcx: parse.JoinWithContext): ast.Join;
77
- visitFieldDef(pcx: parse.FieldDefContext): ast.FieldDeclaration;
78
+ getFieldDef(pcx: parse.FieldDefContext, makeFieldDef: ast.FieldDeclarationConstructor): ast.FieldDeclaration;
78
79
  visitDefExploreDimension(pcx: parse.DefExploreDimensionContext): ast.Dimensions;
79
80
  visitDefExploreMeasure(pcx: parse.DefExploreMeasureContext): ast.Measures;
80
81
  visitDeclareStatement(pcx: parse.DeclareStatementContext): ast.DeclareFields;
@@ -91,14 +92,16 @@ export declare class MalloyToAST extends AbstractParseTreeVisitor<ast.MalloyElem
91
92
  visitDefExploreTimezone(cx: parse.DefExploreTimezoneContext): ast.TimezoneStatement;
92
93
  visitTimezoneStatement(cx: parse.TimezoneStatementContext): ast.TimezoneStatement;
93
94
  visitQueryProperties(pcx: parse.QueryPropertiesContext): ast.QOPDesc;
94
- visitFieldPath(pcx: parse.FieldPathContext): ast.FieldReference;
95
- visitQueryFieldDef(pcx: parse.QueryFieldDefContext): ast.QueryItem;
96
- visitQueryFieldRef(pcx: parse.QueryFieldRefContext): ast.QueryItem;
97
- protected getQueryItems(pcx: parse.QueryFieldListContext): ast.QueryItem[];
95
+ getFieldPath(pcx: parse.FieldPathContext, makeFieldRef: ast.FieldReferenceConstructor): ast.FieldReference;
96
+ getQueryFieldDef(pcx: parse.FieldDefContext, makeFieldDef: ast.FieldDeclarationConstructor): ast.QueryItem;
97
+ getQueryFieldEntry(ctx: parse.QueryFieldEntryContext, makeFieldDef: ast.FieldDeclarationConstructor, makeFieldRef: ast.FieldReferenceConstructor): ast.QueryItem;
98
+ protected getQueryItems(pcx: parse.QueryFieldListContext, makeFieldDef: ast.FieldDeclarationConstructor, makeFieldRef: ast.FieldReferenceConstructor): ast.QueryItem[];
98
99
  visitAggregateStatement(pcx: parse.AggregateStatementContext): ast.Aggregate;
99
100
  visitGroupByStatement(pcx: parse.GroupByStatementContext): ast.GroupBy;
101
+ visitCalculateStatement(pcx: parse.CalculateStatementContext): ast.Calculate;
102
+ getFieldCollectionMember(pcx: parse.CollectionMemberContext, makeFieldDef: FieldDeclarationConstructor, makeFieldRef: ast.FieldReferenceConstructor): ast.FieldCollectionMember;
100
103
  visitFieldCollection(pcx: parse.FieldCollectionContext): ast.ProjectStatement;
101
- visitWildMember(pcx: parse.WildMemberContext): ast.FieldReferenceElement;
104
+ visitCollectionWildCard(pcx: parse.CollectionWildCardContext): ast.FieldReferenceElement;
102
105
  visitIndexFields(pcx: parse.IndexFieldsContext): ast.FieldReferences;
103
106
  visitIndexStatement(pcx: parse.IndexStatementContext): ast.Index;
104
107
  visitLimitStatement(pcx: parse.LimitStatementContext): ast.Limit;
@@ -146,6 +149,7 @@ export declare class MalloyToAST extends AbstractParseTreeVisitor<ast.MalloyElem
146
149
  visitExprTimeTrunc(pcx: parse.ExprTimeTruncContext): ast.ExprGranularTime;
147
150
  visitTimeframe(pcx: parse.TimeframeContext): ast.Timeframe;
148
151
  visitExprForRange(pcx: parse.ExprForRangeContext): ast.ForRange;
152
+ visitExprAggFunc(pcx: parse.ExprAggFuncContext): ast.ExpressionDef;
149
153
  visitExprFunc(pcx: parse.ExprFuncContext): ast.ExpressionDef;
150
154
  visitExprDuration(pcx: parse.ExprDurationContext): ast.ExprDuration;
151
155
  visitPickStatement(pcx: parse.PickStatementContext): ast.Pick;