@rcrsr/rill 0.8.6 → 0.10.0
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.
- package/dist/ast-nodes.d.ts +189 -49
- package/dist/ast-nodes.d.ts.map +1 -1
- package/dist/ast-unions.d.ts +1 -1
- package/dist/ast-unions.d.ts.map +1 -1
- package/dist/constants.d.ts +14 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +30 -0
- package/dist/constants.js.map +1 -0
- package/dist/error-classes.d.ts +3 -1
- package/dist/error-classes.d.ts.map +1 -1
- package/dist/error-classes.js +11 -5
- package/dist/error-classes.js.map +1 -1
- package/dist/error-registry.d.ts.map +1 -1
- package/dist/error-registry.js +313 -11
- package/dist/error-registry.js.map +1 -1
- package/dist/ext/crypto/index.d.ts +2 -1
- package/dist/ext/crypto/index.d.ts.map +1 -1
- package/dist/ext/crypto/index.js +7 -0
- package/dist/ext/crypto/index.js.map +1 -1
- package/dist/ext/exec/index.d.ts +2 -1
- package/dist/ext/exec/index.d.ts.map +1 -1
- package/dist/ext/exec/index.js +6 -0
- package/dist/ext/exec/index.js.map +1 -1
- package/dist/ext/fetch/index.d.ts +2 -1
- package/dist/ext/fetch/index.d.ts.map +1 -1
- package/dist/ext/fetch/index.js +6 -0
- package/dist/ext/fetch/index.js.map +1 -1
- package/dist/ext/fs/index.d.ts +2 -1
- package/dist/ext/fs/index.d.ts.map +1 -1
- package/dist/ext/fs/index.js +3 -0
- package/dist/ext/fs/index.js.map +1 -1
- package/dist/ext/kv/index.d.ts +2 -1
- package/dist/ext/kv/index.d.ts.map +1 -1
- package/dist/ext/kv/index.js +5 -1
- package/dist/ext/kv/index.js.map +1 -1
- package/dist/generated/introspection-data.d.ts +1 -1
- package/dist/generated/introspection-data.d.ts.map +1 -1
- package/dist/generated/introspection-data.js +194 -185
- package/dist/generated/introspection-data.js.map +1 -1
- package/dist/generated/version-data.d.ts +1 -1
- package/dist/generated/version-data.d.ts.map +1 -1
- package/dist/generated/version-data.js +3 -3
- package/dist/generated/version-data.js.map +1 -1
- package/dist/highlight-map.d.ts.map +1 -1
- package/dist/highlight-map.js +8 -2
- package/dist/highlight-map.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/lexer/operators.d.ts.map +1 -1
- package/dist/lexer/operators.js +0 -2
- package/dist/lexer/operators.js.map +1 -1
- package/dist/lexer/readers.d.ts +18 -1
- package/dist/lexer/readers.d.ts.map +1 -1
- package/dist/lexer/readers.js +55 -0
- package/dist/lexer/readers.js.map +1 -1
- package/dist/parser/helpers.d.ts +8 -13
- package/dist/parser/helpers.d.ts.map +1 -1
- package/dist/parser/helpers.js +42 -35
- package/dist/parser/helpers.js.map +1 -1
- package/dist/parser/index.d.ts +1 -0
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +1 -0
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/parser-collect.d.ts.map +1 -1
- package/dist/parser/parser-collect.js +34 -5
- package/dist/parser/parser-collect.js.map +1 -1
- package/dist/parser/parser-control.d.ts +1 -1
- package/dist/parser/parser-control.d.ts.map +1 -1
- package/dist/parser/parser-control.js +11 -2
- package/dist/parser/parser-control.js.map +1 -1
- package/dist/parser/parser-expr.d.ts +3 -1
- package/dist/parser/parser-expr.d.ts.map +1 -1
- package/dist/parser/parser-expr.js +377 -100
- package/dist/parser/parser-expr.js.map +1 -1
- package/dist/parser/parser-extract.d.ts +3 -5
- package/dist/parser/parser-extract.d.ts.map +1 -1
- package/dist/parser/parser-extract.js +37 -69
- package/dist/parser/parser-extract.js.map +1 -1
- package/dist/parser/parser-functions.d.ts +2 -2
- package/dist/parser/parser-functions.d.ts.map +1 -1
- package/dist/parser/parser-functions.js +112 -36
- package/dist/parser/parser-functions.js.map +1 -1
- package/dist/parser/parser-literals.d.ts +5 -4
- package/dist/parser/parser-literals.d.ts.map +1 -1
- package/dist/parser/parser-literals.js +316 -47
- package/dist/parser/parser-literals.js.map +1 -1
- package/dist/parser/parser-script.d.ts.map +1 -1
- package/dist/parser/parser-script.js +25 -12
- package/dist/parser/parser-script.js.map +1 -1
- package/dist/parser/parser-shape.d.ts +13 -0
- package/dist/parser/parser-shape.d.ts.map +1 -0
- package/dist/parser/parser-shape.js +72 -0
- package/dist/parser/parser-shape.js.map +1 -0
- package/dist/parser/parser-types.d.ts +31 -0
- package/dist/parser/parser-types.d.ts.map +1 -0
- package/dist/parser/parser-types.js +78 -0
- package/dist/parser/parser-types.js.map +1 -0
- package/dist/parser/parser-variables.d.ts.map +1 -1
- package/dist/parser/parser-variables.js +10 -1
- package/dist/parser/parser-variables.js.map +1 -1
- package/dist/runtime/core/callable.d.ts +27 -22
- package/dist/runtime/core/callable.d.ts.map +1 -1
- package/dist/runtime/core/callable.js +30 -26
- package/dist/runtime/core/callable.js.map +1 -1
- package/dist/runtime/core/context.d.ts.map +1 -1
- package/dist/runtime/core/context.js +8 -8
- package/dist/runtime/core/context.js.map +1 -1
- package/dist/runtime/core/equals.d.ts.map +1 -1
- package/dist/runtime/core/equals.js +179 -30
- package/dist/runtime/core/equals.js.map +1 -1
- package/dist/runtime/core/eval/base.d.ts +2 -2
- package/dist/runtime/core/eval/base.d.ts.map +1 -1
- package/dist/runtime/core/eval/evaluator.d.ts.map +1 -1
- package/dist/runtime/core/eval/evaluator.js +3 -1
- package/dist/runtime/core/eval/evaluator.js.map +1 -1
- package/dist/runtime/core/eval/index.d.ts +18 -3
- package/dist/runtime/core/eval/index.d.ts.map +1 -1
- package/dist/runtime/core/eval/index.js +22 -2
- package/dist/runtime/core/eval/index.js.map +1 -1
- package/dist/runtime/core/eval/mixins/annotations.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/annotations.js +14 -8
- package/dist/runtime/core/eval/mixins/annotations.js.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.d.ts +0 -2
- package/dist/runtime/core/eval/mixins/closures.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/closures.js +341 -105
- package/dist/runtime/core/eval/mixins/closures.js.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/collections.js +65 -25
- package/dist/runtime/core/eval/mixins/collections.js.map +1 -1
- package/dist/runtime/core/eval/mixins/control-flow.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/control-flow.js +21 -17
- package/dist/runtime/core/eval/mixins/control-flow.js.map +1 -1
- package/dist/runtime/core/eval/mixins/conversion.d.ts +30 -0
- package/dist/runtime/core/eval/mixins/conversion.d.ts.map +1 -0
- package/dist/runtime/core/eval/mixins/conversion.js +212 -0
- package/dist/runtime/core/eval/mixins/conversion.js.map +1 -0
- package/dist/runtime/core/eval/mixins/core.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/core.js +101 -32
- package/dist/runtime/core/eval/mixins/core.js.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/extraction.js +136 -30
- package/dist/runtime/core/eval/mixins/extraction.js.map +1 -1
- package/dist/runtime/core/eval/mixins/list-dispatch.d.ts +17 -0
- package/dist/runtime/core/eval/mixins/list-dispatch.d.ts.map +1 -0
- package/dist/runtime/core/eval/mixins/list-dispatch.js +97 -0
- package/dist/runtime/core/eval/mixins/list-dispatch.js.map +1 -0
- package/dist/runtime/core/eval/mixins/literals.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/literals.js +73 -83
- package/dist/runtime/core/eval/mixins/literals.js.map +1 -1
- package/dist/runtime/core/eval/mixins/types.d.ts +4 -0
- package/dist/runtime/core/eval/mixins/types.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/types.js +323 -3
- package/dist/runtime/core/eval/mixins/types.js.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.d.ts.map +1 -1
- package/dist/runtime/core/eval/mixins/variables.js +45 -7
- package/dist/runtime/core/eval/mixins/variables.js.map +1 -1
- package/dist/runtime/core/execute.d.ts.map +1 -1
- package/dist/runtime/core/execute.js +3 -16
- package/dist/runtime/core/execute.js.map +1 -1
- package/dist/runtime/core/field-descriptor.d.ts +29 -0
- package/dist/runtime/core/field-descriptor.d.ts.map +1 -0
- package/dist/runtime/core/field-descriptor.js +27 -0
- package/dist/runtime/core/field-descriptor.js.map +1 -0
- package/dist/runtime/core/types.d.ts +15 -6
- package/dist/runtime/core/types.d.ts.map +1 -1
- package/dist/runtime/core/types.js.map +1 -1
- package/dist/runtime/core/values.d.ts +114 -9
- package/dist/runtime/core/values.d.ts.map +1 -1
- package/dist/runtime/core/values.js +529 -43
- package/dist/runtime/core/values.js.map +1 -1
- package/dist/runtime/ext/builtins.d.ts.map +1 -1
- package/dist/runtime/ext/builtins.js +47 -107
- package/dist/runtime/ext/builtins.js.map +1 -1
- package/dist/runtime/ext/extensions.d.ts +21 -2
- package/dist/runtime/ext/extensions.d.ts.map +1 -1
- package/dist/runtime/ext/extensions.js.map +1 -1
- package/dist/runtime/index.d.ts +6 -4
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +7 -2
- package/dist/runtime/index.js.map +1 -1
- package/dist/token-types.d.ts +7 -2
- package/dist/token-types.d.ts.map +1 -1
- package/dist/token-types.js +9 -2
- package/dist/token-types.js.map +1 -1
- package/dist/value-types.d.ts +32 -1
- package/dist/value-types.d.ts.map +1 -1
- package/dist/value-types.js +1 -1
- package/dist/value-types.js.map +1 -1
- package/package.json +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight-map.js","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"AAkBA,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAE/D,MAAM,CAAC,MAAM,mBAAmB,GAC9B,IAAI,GAAG,CAA+B;IACpC,WAAW;IACX,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACpB,CAAC,MAAM,EAAE,MAAM,CAAC;IAChB,CAAC,OAAO,EAAE,MAAM,CAAC;IAEjB,WAAW;IACX,CAAC,SAAS,EAAE,SAAS,CAAC;IAEtB,WAAW;IACX,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,KAAK,EAAE,SAAS,CAAC;IAClB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,OAAO,EAAE,SAAS,CAAC;IACpB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,MAAM,EAAE,SAAS,CAAC;IACnB,CAAC,QAAQ,EAAE,SAAS,CAAC;IACrB,CAAC,OAAO,EAAE,SAAS,CAAC;IAEpB,YAAY;IACZ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAC1B,CAAC,UAAU,EAAE,cAAc,CAAC;IAC5B,CAAC,YAAY,EAAE,cAAc,CAAC;IAC9B,CAAC,YAAY,EAAE,cAAc,CAAC;IAE9B,YAAY;IACZ,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,eAAe,EAAE,UAAU,CAAC;IAC7B,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,OAAO,EAAE,UAAU,CAAC;IACrB,CAAC,SAAS,EAAE,UAAU,CAAC;IACvB,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,KAAK,EAAE,UAAU,CAAC;IACnB,CAAC,IAAI,EAAE,UAAU,CAAC;IAClB,CAAC,MAAM,EAAE,UAAU,CAAC;IACpB,CAAC,kBAAkB,EAAE,UAAU,CAAC;IAChC,CAAC,cAAc,EAAE,UAAU,CAAC;IAC5B,CAAC,
|
|
1
|
+
{"version":3,"file":"highlight-map.js","sourceRoot":"","sources":["../src/highlight-map.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -5,8 +5,9 @@
|
|
|
5
5
|
export { LexerError, tokenize, type TokenizeOptions } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
7
|
export type { ParseResult, RecoveryErrorNode, ErrorNode } from './types.js';
|
|
8
|
-
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallableParam, type CallFrame, type CaptureEvent, createRuntimeContext, createStepper, createVector, type DocumentationCoverageResult, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FsExtensionContract, type FunctionMetadata, hoistExtension, type HoistedExtension, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isVector, type KvExtensionContract, type LlmExtensionContract, type SchemaEntry, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillCallable, type RillFunctionReturnType, type RillIterator, type RillTuple, type RillValue, type RillVector, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, type VectorExtensionContract,
|
|
8
|
+
export { type ApplicationCallable, BreakSignal, callable, type CallableFn, type CallableParam, type CallFrame, type CaptureEvent, type ConfigFieldDescriptor, createRuntimeContext, createStepper, createTuple, createVector, type DocumentationCoverageResult, emitExtensionEvent, type ErrorEvent, execute, type ExecutionResult, type ExecutionStepper, type ExtensionConfigSchema, type ExtensionEvent, type ExtensionFactory, type ExtensionResult, type FsExtensionContract, type FunctionMetadata, hoistExtension, type HoistedExtension, type HostCallEvent, type HostFunctionDefinition, type HostFunctionParam, type FunctionReturnEvent, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, type KvExtensionContract, type NativeArray, type NativePlainObject, type NativeResult, type NativeValue, type LlmExtensionContract, type SchemaEntry, type ObservabilityCallbacks, type ParamMetadata, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, type RillCallable, type RillStructuralType, type RillFunctionReturnType, type RillIterator, type RillTuple, type RillTypeValue, type RillValue, type RillVector, type RuntimeCallable, type RuntimeCallbacks, type RuntimeContext, type RuntimeOptions, type ScriptCallable, type StepEndEvent, type StepResult, type StepStartEvent, type VectorExtensionContract, structuralTypeEquals, structuralTypeMatches, toNative, validateHostFunctionArgs, VERSION, VERSION_INFO, type VersionInfo, } from './runtime/index.js';
|
|
9
9
|
export { type ErrorCategory, type ErrorDefinition, type ErrorSeverity, ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
10
|
+
export { VALID_TYPE_NAMES } from './constants.js';
|
|
10
11
|
export { type HighlightCategory, TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
|
11
12
|
export * from './types.js';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,wBAAwB,EACxB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EACL,KAAK,mBAAmB,EACxB,WAAW,EACX,QAAQ,EACR,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,qBAAqB,EAC1B,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EACZ,KAAK,2BAA2B,EAChC,kBAAkB,EAClB,KAAK,UAAU,EACf,OAAO,EACP,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EACR,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,aAAa,EAClB,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,YAAY,EACZ,KAAK,WAAW,GACjB,MAAM,oBAAoB,CAAC;AAK5B,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAKlD,OAAO,EACL,KAAK,iBAAiB,EACtB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,12 +4,16 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export { LexerError, tokenize } from './lexer/index.js';
|
|
6
6
|
export { parse, parseWithRecovery } from './parser/index.js';
|
|
7
|
-
export { BreakSignal, callable, createRuntimeContext, createStepper, createVector, emitExtensionEvent, execute, hoistExtension, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal,
|
|
7
|
+
export { BreakSignal, callable, createRuntimeContext, createStepper, createTuple, createVector, emitExtensionEvent, execute, hoistExtension, getCallStack, getDocumentationCoverage, getFunctions, getLanguageReference, buildFieldDescriptor, formatStructuralType, inferElementType, inferStructuralType, inferType, invokeCallable, isApplicationCallable, isTuple, isCallable, isDict, isReservedMethod, isRillIterator, isRuntimeCallable, isScriptCallable, isTypeValue, isVector, popCallFrame, prefixFunctions, pushCallFrame, RESERVED_DICT_METHODS, ReturnSignal, structuralTypeEquals, structuralTypeMatches, toNative, validateHostFunctionArgs, VERSION, VERSION_INFO, } from './runtime/index.js';
|
|
8
8
|
// ============================================================
|
|
9
9
|
// ERROR TAXONOMY
|
|
10
10
|
// ============================================================
|
|
11
11
|
export { ERROR_REGISTRY, renderMessage, getHelpUrl, createError, } from './types.js';
|
|
12
12
|
// ============================================================
|
|
13
|
+
// CONSTANTS
|
|
14
|
+
// ============================================================
|
|
15
|
+
export { VALID_TYPE_NAMES } from './constants.js';
|
|
16
|
+
// ============================================================
|
|
13
17
|
// SYNTAX HIGHLIGHTING
|
|
14
18
|
// ============================================================
|
|
15
19
|
export { TOKEN_HIGHLIGHT_MAP, } from './highlight-map.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,WAAW,EACX,QAAQ,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAwB,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,OAAO,EAEL,WAAW,EACX,QAAQ,EAMR,oBAAoB,EACpB,aAAa,EACb,WAAW,EACX,YAAY,EAEZ,kBAAkB,EAElB,OAAO,EASP,cAAc,EAMd,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,cAAc,EACd,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,QAAQ,EAUR,YAAY,EACZ,eAAe,EACf,aAAa,EACb,qBAAqB,EACrB,YAAY,EAkBZ,oBAAoB,EACpB,qBAAqB,EACrB,QAAQ,EACR,wBAAwB,EACxB,OAAO,EACP,YAAY,GAEb,MAAM,oBAAoB,CAAC;AAE5B,+DAA+D;AAC/D,iBAAiB;AACjB,+DAA+D;AAC/D,OAAO,EAIL,cAAc,EACd,aAAa,EACb,UAAU,EACV,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,+DAA+D;AAC/D,YAAY;AACZ,+DAA+D;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAC/D,OAAO,EAEL,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,0CAA0C;AAC1C,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAYxD,CAAC;AAEF,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAwB3D,CAAC;AAEF,2BAA2B;AAC3B,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAY9C,CAAC"}
|
package/dist/lexer/operators.js
CHANGED
|
@@ -6,8 +6,6 @@ import { TOKEN_TYPES } from '../types.js';
|
|
|
6
6
|
export const TWO_CHAR_OPERATORS = {
|
|
7
7
|
'->': TOKEN_TYPES.ARROW,
|
|
8
8
|
'=>': TOKEN_TYPES.CAPTURE_ARROW,
|
|
9
|
-
'*<': TOKEN_TYPES.STAR_LT,
|
|
10
|
-
'/<': TOKEN_TYPES.SLASH_LT,
|
|
11
9
|
'&&': TOKEN_TYPES.AND,
|
|
12
10
|
'||': TOKEN_TYPES.OR,
|
|
13
11
|
'==': TOKEN_TYPES.EQ,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAA8B;IAC3D,IAAI,EAAE,WAAW,CAAC,KAAK;IACvB,IAAI,EAAE,WAAW,CAAC,aAAa;IAC/B,IAAI,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"operators.js","sourceRoot":"","sources":["../../src/lexer/operators.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,0CAA0C;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAA8B;IAC3D,IAAI,EAAE,WAAW,CAAC,KAAK;IACvB,IAAI,EAAE,WAAW,CAAC,aAAa;IAC/B,IAAI,EAAE,WAAW,CAAC,GAAG;IACrB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,EAAE;IACpB,IAAI,EAAE,WAAW,CAAC,gBAAgB;IAClC,IAAI,EAAE,WAAW,CAAC,YAAY;IAC9B,IAAI,EAAE,WAAW,CAAC,YAAY;CAC/B,CAAC;AAEF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,qBAAqB,GAA8B;IAC9D,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,EAAE;IACnB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,MAAM;IACvB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,QAAQ;IACzB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,IAAI;IACrB,GAAG,EAAE,WAAW,CAAC,KAAK;IACtB,GAAG,EAAE,WAAW,CAAC,OAAO;IACxB,GAAG,EAAE,WAAW,CAAC,SAAS;IAC1B,GAAG,EAAE,WAAW,CAAC,KAAK;CACvB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,QAAQ,GAA8B;IACjD,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;IACxB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,IAAI,EAAE,WAAW,CAAC,IAAI;IACtB,MAAM,EAAE,WAAW,CAAC,MAAM;CAC3B,CAAC"}
|
package/dist/lexer/readers.d.ts
CHANGED
|
@@ -2,8 +2,25 @@
|
|
|
2
2
|
* Token Readers
|
|
3
3
|
* Functions to read specific token types from source
|
|
4
4
|
*/
|
|
5
|
-
import type { Token } from '../types.js';
|
|
5
|
+
import type { Token, TokenType } from '../types.js';
|
|
6
6
|
import { type LexerState } from './state.js';
|
|
7
|
+
/** Named shape returned by tokenizeCompoundKeyword. */
|
|
8
|
+
export type CompoundToken = {
|
|
9
|
+
keyword: string;
|
|
10
|
+
bracket: string;
|
|
11
|
+
tokenType: TokenType;
|
|
12
|
+
};
|
|
13
|
+
/** Returns true when the identifier is one of the six collection keywords. */
|
|
14
|
+
export declare function isCollectionKeyword(identifier: string): boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Attempts to recognize a compound token at the given position in source.
|
|
17
|
+
* Checks whether the character sequence starting at `position` is a collection
|
|
18
|
+
* keyword immediately (zero whitespace) followed by its bracket character.
|
|
19
|
+
* Returns null when the condition is not met.
|
|
20
|
+
*
|
|
21
|
+
* This function is informational: the caller must consume the characters.
|
|
22
|
+
*/
|
|
23
|
+
export declare function tokenizeCompoundKeyword(source: string, position: number): CompoundToken | null;
|
|
7
24
|
export declare function readString(state: LexerState): Token;
|
|
8
25
|
export declare function readTripleQuoteString(state: LexerState): Token;
|
|
9
26
|
export declare function readNumber(state: LexerState): Token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"readers.d.ts","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAUpD,OAAO,EAIL,KAAK,UAAU,EAEhB,MAAM,YAAY,CAAC;AAMpB,uDAAuD;AACvD,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAkBF,8EAA8E;AAC9E,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,aAAa,GAAG,IAAI,CAatB;AAyBD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAoCnD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAmF9D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAgBnD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAmCvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,UAAU,GAAG,KAAK,CAiBrD"}
|
package/dist/lexer/readers.js
CHANGED
|
@@ -7,6 +7,42 @@ import { LexerError } from './errors.js';
|
|
|
7
7
|
import { isDigit, isIdentifierChar, isIdentifierStart, makeToken, } from './helpers.js';
|
|
8
8
|
import { KEYWORDS } from './operators.js';
|
|
9
9
|
import { advance, currentLocation, isAtEnd, peek, } from './state.js';
|
|
10
|
+
/**
|
|
11
|
+
* Mapping from collection keyword to its expected bracket character
|
|
12
|
+
* and the compound token type emitted when the bracket immediately follows.
|
|
13
|
+
*/
|
|
14
|
+
const COMPOUND_KEYWORD_MAP = {
|
|
15
|
+
list: { bracket: '[', tokenType: TOKEN_TYPES.LIST_LBRACKET },
|
|
16
|
+
dict: { bracket: '[', tokenType: TOKEN_TYPES.DICT_LBRACKET },
|
|
17
|
+
tuple: { bracket: '[', tokenType: TOKEN_TYPES.TUPLE_LBRACKET },
|
|
18
|
+
ordered: { bracket: '[', tokenType: TOKEN_TYPES.ORDERED_LBRACKET },
|
|
19
|
+
destruct: { bracket: '<', tokenType: TOKEN_TYPES.DESTRUCT_LANGLE },
|
|
20
|
+
slice: { bracket: '<', tokenType: TOKEN_TYPES.SLICE_LANGLE },
|
|
21
|
+
};
|
|
22
|
+
/** Returns true when the identifier is one of the six collection keywords. */
|
|
23
|
+
export function isCollectionKeyword(identifier) {
|
|
24
|
+
return Object.prototype.hasOwnProperty.call(COMPOUND_KEYWORD_MAP, identifier);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Attempts to recognize a compound token at the given position in source.
|
|
28
|
+
* Checks whether the character sequence starting at `position` is a collection
|
|
29
|
+
* keyword immediately (zero whitespace) followed by its bracket character.
|
|
30
|
+
* Returns null when the condition is not met.
|
|
31
|
+
*
|
|
32
|
+
* This function is informational: the caller must consume the characters.
|
|
33
|
+
*/
|
|
34
|
+
export function tokenizeCompoundKeyword(source, position) {
|
|
35
|
+
for (const [keyword, { bracket, tokenType }] of Object.entries(COMPOUND_KEYWORD_MAP)) {
|
|
36
|
+
const end = position + keyword.length;
|
|
37
|
+
if (source.slice(position, end) === keyword) {
|
|
38
|
+
// The character immediately after the keyword must be the bracket (no whitespace).
|
|
39
|
+
if (source[end] === bracket) {
|
|
40
|
+
return { keyword, bracket, tokenType };
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
10
46
|
/** Process escape sequence and return the unescaped character */
|
|
11
47
|
function processEscape(state) {
|
|
12
48
|
const escaped = advance(state);
|
|
@@ -149,6 +185,25 @@ export function readNumber(state) {
|
|
|
149
185
|
}
|
|
150
186
|
export function readIdentifier(state) {
|
|
151
187
|
const start = currentLocation(state);
|
|
188
|
+
// Check for compound keyword (e.g. list[, dict[, destruct<) before consuming
|
|
189
|
+
// any characters, so we can emit a single compound token when the bracket
|
|
190
|
+
// immediately follows the keyword with zero whitespace.
|
|
191
|
+
//
|
|
192
|
+
// Guard: skip compound check when the character immediately before this
|
|
193
|
+
// identifier is '$'. That handles variable names that happen to match a
|
|
194
|
+
// collection keyword (e.g. `$list[0]` is subscript access, not a list literal).
|
|
195
|
+
const prevChar = state.pos > 0 ? state.source[state.pos - 1] : '';
|
|
196
|
+
if (prevChar !== '$') {
|
|
197
|
+
const compound = tokenizeCompoundKeyword(state.source, state.pos);
|
|
198
|
+
if (compound !== null) {
|
|
199
|
+
// Consume keyword + bracket character (keyword.length + 1)
|
|
200
|
+
const totalLen = compound.keyword.length + 1;
|
|
201
|
+
for (let i = 0; i < totalLen; i++)
|
|
202
|
+
advance(state);
|
|
203
|
+
const value = compound.keyword + compound.bracket;
|
|
204
|
+
return makeToken(compound.tokenType, value, start, currentLocation(state));
|
|
205
|
+
}
|
|
206
|
+
}
|
|
152
207
|
let value = '';
|
|
153
208
|
while (!isAtEnd(state) && isIdentifierChar(peek(state))) {
|
|
154
209
|
value += advance(state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,GACV,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EACL,OAAO,EACP,eAAe,EACf,OAAO,EAEP,IAAI,GACL,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"readers.js","sourceRoot":"","sources":["../../src/lexer/readers.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/helpers.d.ts
CHANGED
|
@@ -3,12 +3,11 @@
|
|
|
3
3
|
* Lookahead predicates and utility parsing functions
|
|
4
4
|
* @internal This module contains internal parser utilities
|
|
5
5
|
*/
|
|
6
|
-
import type { BlockNode, HostCallNode, SourceSpan } from '../types.js';
|
|
6
|
+
import type { BlockNode, HostCallNode, HostRefNode, SourceSpan } from '../types.js';
|
|
7
7
|
import { type ParserState } from './state.js';
|
|
8
|
+
import { VALID_TYPE_NAMES } from '../constants.js';
|
|
8
9
|
/** @internal */
|
|
9
|
-
export
|
|
10
|
-
/** @internal */
|
|
11
|
-
export declare const FUNC_PARAM_TYPES: readonly ["string", "number", "bool"];
|
|
10
|
+
export { VALID_TYPE_NAMES };
|
|
12
11
|
/**
|
|
13
12
|
* Check if token can be used as an identifier in function names
|
|
14
13
|
* (identifiers or keywords)
|
|
@@ -47,10 +46,10 @@ export declare function canStartPipeInvoke(state: ParserState): boolean;
|
|
|
47
46
|
*/
|
|
48
47
|
export declare function isMethodCall(state: ParserState): boolean;
|
|
49
48
|
/**
|
|
50
|
-
* Check for
|
|
49
|
+
* Check for annotation access: .^identifier
|
|
51
50
|
* @internal
|
|
52
51
|
*/
|
|
53
|
-
export declare function
|
|
52
|
+
export declare function isAnnotationAccess(state: ParserState): boolean;
|
|
54
53
|
/**
|
|
55
54
|
* Check for negative number: -42
|
|
56
55
|
* @internal
|
|
@@ -71,11 +70,6 @@ export declare function isMethodCallWithArgs(state: ParserState): boolean;
|
|
|
71
70
|
* @internal
|
|
72
71
|
*/
|
|
73
72
|
export declare function isLiteralStart(state: ParserState): boolean;
|
|
74
|
-
/**
|
|
75
|
-
* Check if current token can start an expression (for bare spread detection)
|
|
76
|
-
* @internal
|
|
77
|
-
*/
|
|
78
|
-
export declare function canStartExpression(state: ParserState): boolean;
|
|
79
73
|
/**
|
|
80
74
|
* Check for closure start: | or ||
|
|
81
75
|
* - |params| body
|
|
@@ -96,8 +90,9 @@ export declare function parseTypeName<T extends string>(state: ParserState, vali
|
|
|
96
90
|
export declare function makeBoolLiteralBlock(value: boolean, span: SourceSpan): BlockNode;
|
|
97
91
|
/**
|
|
98
92
|
* Parse a bare function name (no parens): `func` or `ns::func` or `ns::sub::func`
|
|
99
|
-
* Returns a
|
|
93
|
+
* Returns a HostRefNode for namespaced names (ns::name) and a HostCallNode
|
|
94
|
+
* with empty args for simple bare identifiers (no ::).
|
|
100
95
|
* @internal
|
|
101
96
|
*/
|
|
102
|
-
export declare function parseBareHostCall(state: ParserState): HostCallNode;
|
|
97
|
+
export declare function parseBareHostCall(state: ParserState): HostCallNode | HostRefNode;
|
|
103
98
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,WAAW,EAAgC,MAAM,YAAY,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAMnD,gBAAgB;AAChB,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAM5B;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAetE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAgCtD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAMzD;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAcnE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAK9D;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKxD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAI9D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAK5D;AAaD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CA+CvD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKhE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAa1D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE1D;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,SAAS,CAAC,EAAE,GACvB,CAAC,CAUH;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,UAAU,GACf,SAAS,CAwBX;AASD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,GACjB,YAAY,GAAG,WAAW,CA0C5B"}
|
package/dist/parser/helpers.js
CHANGED
|
@@ -5,21 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ParseError, TOKEN_TYPES } from '../types.js';
|
|
7
7
|
import { check, peek, expect, current } from './state.js';
|
|
8
|
+
import { VALID_TYPE_NAMES } from '../constants.js';
|
|
8
9
|
// ============================================================
|
|
9
10
|
// VALID TYPE NAMES
|
|
10
11
|
// ============================================================
|
|
11
12
|
/** @internal */
|
|
12
|
-
export
|
|
13
|
-
'string',
|
|
14
|
-
'number',
|
|
15
|
-
'bool',
|
|
16
|
-
'closure',
|
|
17
|
-
'list',
|
|
18
|
-
'dict',
|
|
19
|
-
'tuple',
|
|
20
|
-
];
|
|
21
|
-
/** @internal */
|
|
22
|
-
export const FUNC_PARAM_TYPES = ['string', 'number', 'bool'];
|
|
13
|
+
export { VALID_TYPE_NAMES };
|
|
23
14
|
// ============================================================
|
|
24
15
|
// LOOKAHEAD PREDICATES
|
|
25
16
|
// ============================================================
|
|
@@ -54,7 +45,10 @@ export function isHostCall(state) {
|
|
|
54
45
|
return false;
|
|
55
46
|
}
|
|
56
47
|
// Simple case: identifier(
|
|
57
|
-
|
|
48
|
+
let simpleOffset = 1;
|
|
49
|
+
while (peek(state, simpleOffset).type === TOKEN_TYPES.NEWLINE)
|
|
50
|
+
simpleOffset++;
|
|
51
|
+
if (peek(state, simpleOffset).type === TOKEN_TYPES.LPAREN) {
|
|
58
52
|
return true;
|
|
59
53
|
}
|
|
60
54
|
// Namespaced case: identifier::identifier(
|
|
@@ -68,8 +62,13 @@ export function isHostCall(state) {
|
|
|
68
62
|
}
|
|
69
63
|
offset++; // skip identifier/keyword
|
|
70
64
|
}
|
|
71
|
-
// If we consumed at least one ::, check for (
|
|
72
|
-
|
|
65
|
+
// If we consumed at least one ::, skip newlines then check for (
|
|
66
|
+
if (offset > 1) {
|
|
67
|
+
while (peek(state, offset).type === TOKEN_TYPES.NEWLINE)
|
|
68
|
+
offset++;
|
|
69
|
+
return peek(state, offset).type === TOKEN_TYPES.LPAREN;
|
|
70
|
+
}
|
|
71
|
+
return false;
|
|
73
72
|
}
|
|
74
73
|
/**
|
|
75
74
|
* Check for simple closure call: $name(
|
|
@@ -77,9 +76,14 @@ export function isHostCall(state) {
|
|
|
77
76
|
* @internal
|
|
78
77
|
*/
|
|
79
78
|
export function isClosureCall(state) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
79
|
+
if (!check(state, TOKEN_TYPES.DOLLAR))
|
|
80
|
+
return false;
|
|
81
|
+
if (peek(state, 1).type !== TOKEN_TYPES.IDENTIFIER)
|
|
82
|
+
return false;
|
|
83
|
+
let offset = 2;
|
|
84
|
+
while (peek(state, offset).type === TOKEN_TYPES.NEWLINE)
|
|
85
|
+
offset++;
|
|
86
|
+
return peek(state, offset).type === TOKEN_TYPES.LPAREN;
|
|
83
87
|
}
|
|
84
88
|
/**
|
|
85
89
|
* Check for closure call with property access: $name( or $name.prop...(
|
|
@@ -99,6 +103,8 @@ export function isClosureCallWithAccess(state) {
|
|
|
99
103
|
return false;
|
|
100
104
|
offset++; // skip identifier
|
|
101
105
|
}
|
|
106
|
+
while (peek(state, offset).type === TOKEN_TYPES.NEWLINE)
|
|
107
|
+
offset++;
|
|
102
108
|
return peek(state, offset).type === TOKEN_TYPES.LPAREN;
|
|
103
109
|
}
|
|
104
110
|
/**
|
|
@@ -118,13 +124,11 @@ export function isMethodCall(state) {
|
|
|
118
124
|
peek(state, 1).type === TOKEN_TYPES.IDENTIFIER);
|
|
119
125
|
}
|
|
120
126
|
/**
|
|
121
|
-
* Check for
|
|
127
|
+
* Check for annotation access: .^identifier
|
|
122
128
|
* @internal
|
|
123
129
|
*/
|
|
124
|
-
export function
|
|
125
|
-
return (check(state, TOKEN_TYPES.
|
|
126
|
-
(peek(state, 1).type === TOKEN_TYPES.DOLLAR ||
|
|
127
|
-
peek(state, 1).type === TOKEN_TYPES.LBRACKET));
|
|
130
|
+
export function isAnnotationAccess(state) {
|
|
131
|
+
return (check(state, TOKEN_TYPES.DOT) && peek(state, 1).type === TOKEN_TYPES.CARET);
|
|
128
132
|
}
|
|
129
133
|
/**
|
|
130
134
|
* Check for negative number: -42
|
|
@@ -200,16 +204,7 @@ export function isMethodCallWithArgs(state) {
|
|
|
200
204
|
* @internal
|
|
201
205
|
*/
|
|
202
206
|
export function isLiteralStart(state) {
|
|
203
|
-
return check(state, TOKEN_TYPES.STRING, TOKEN_TYPES.NUMBER, TOKEN_TYPES.TRUE, TOKEN_TYPES.FALSE, TOKEN_TYPES.LBRACKET);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Check if current token can start an expression (for bare spread detection)
|
|
207
|
-
* @internal
|
|
208
|
-
*/
|
|
209
|
-
export function canStartExpression(state) {
|
|
210
|
-
return (isLiteralStart(state) ||
|
|
211
|
-
isClosureStart(state) ||
|
|
212
|
-
check(state, TOKEN_TYPES.DOLLAR, TOKEN_TYPES.PIPE_VAR, TOKEN_TYPES.IDENTIFIER, TOKEN_TYPES.DOT, TOKEN_TYPES.LPAREN, TOKEN_TYPES.LBRACE, TOKEN_TYPES.AT, TOKEN_TYPES.QUESTION, TOKEN_TYPES.BANG, TOKEN_TYPES.STAR, TOKEN_TYPES.MINUS));
|
|
207
|
+
return check(state, TOKEN_TYPES.STRING, TOKEN_TYPES.NUMBER, TOKEN_TYPES.TRUE, TOKEN_TYPES.FALSE, TOKEN_TYPES.LBRACKET, TOKEN_TYPES.LIST_LBRACKET, TOKEN_TYPES.DICT_LBRACKET, TOKEN_TYPES.TUPLE_LBRACKET, TOKEN_TYPES.ORDERED_LBRACKET);
|
|
213
208
|
}
|
|
214
209
|
/**
|
|
215
210
|
* Check for closure start: | or ||
|
|
@@ -267,19 +262,22 @@ export function makeBoolLiteralBlock(value, span) {
|
|
|
267
262
|
// Note: parseArgumentList is defined in expressions.ts to avoid circular dependencies
|
|
268
263
|
// since it depends on parseExpression
|
|
269
264
|
// ============================================================
|
|
270
|
-
// BARE HOST CALL PARSING
|
|
265
|
+
// BARE HOST CALL / REF PARSING
|
|
271
266
|
// ============================================================
|
|
272
267
|
/**
|
|
273
268
|
* Parse a bare function name (no parens): `func` or `ns::func` or `ns::sub::func`
|
|
274
|
-
* Returns a
|
|
269
|
+
* Returns a HostRefNode for namespaced names (ns::name) and a HostCallNode
|
|
270
|
+
* with empty args for simple bare identifiers (no ::).
|
|
275
271
|
* @internal
|
|
276
272
|
*/
|
|
277
273
|
export function parseBareHostCall(state) {
|
|
278
274
|
const start = state.tokens[state.pos].span.start;
|
|
279
275
|
let name = expect(state, TOKEN_TYPES.IDENTIFIER, 'Expected identifier').value;
|
|
276
|
+
let hasNamespace = false;
|
|
280
277
|
// Collect namespaced name: ident::ident::...
|
|
281
278
|
while (check(state, TOKEN_TYPES.DOUBLE_COLON)) {
|
|
282
279
|
state.pos++; // consume ::
|
|
280
|
+
hasNamespace = true;
|
|
283
281
|
// After ::, accept identifier or keyword
|
|
284
282
|
const token = current(state);
|
|
285
283
|
if (!isIdentifierOrKeyword(token)) {
|
|
@@ -288,11 +286,20 @@ export function parseBareHostCall(state) {
|
|
|
288
286
|
name += '::' + token.value;
|
|
289
287
|
state.pos++; // consume the identifier or keyword
|
|
290
288
|
}
|
|
289
|
+
const span = { start, end: state.tokens[state.pos - 1].span.end };
|
|
290
|
+
// Namespaced bare identifier → host function reference (IR-4)
|
|
291
|
+
if (hasNamespace) {
|
|
292
|
+
return {
|
|
293
|
+
type: 'HostRef',
|
|
294
|
+
name,
|
|
295
|
+
span,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
291
298
|
return {
|
|
292
299
|
type: 'HostCall',
|
|
293
300
|
name,
|
|
294
301
|
args: [],
|
|
295
|
-
span
|
|
302
|
+
span,
|
|
296
303
|
};
|
|
297
304
|
}
|
|
298
305
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/parser/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAc,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK5E,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,mBAAmB,CAAC;AAM3B;;;;;;;;;;;;GAYG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,CAIhD;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAkD7D;AAOD,OAAO,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/parser/index.js
CHANGED
|
@@ -15,6 +15,7 @@ import './parser-control.js';
|
|
|
15
15
|
import './parser-functions.js';
|
|
16
16
|
import './parser-collect.js';
|
|
17
17
|
import './parser-extract.js';
|
|
18
|
+
import './parser-shape.js';
|
|
18
19
|
// ============================================================
|
|
19
20
|
// MAIN ENTRY POINT
|
|
20
21
|
// ============================================================
|
package/dist/parser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAqC,MAAM,aAAa,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,oEAAoE;AACpE,yEAAyE;AACzE,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser-collect.d.ts","sourceRoot":"","sources":["../../src/parser/parser-collect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"parser-collect.d.ts","sourceRoot":"","sources":["../../src/parser/parser-collect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAEV,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACZ,MAAM,aAAa,CAAC;AAMrB,OAAO,QAAQ,aAAa,CAAC;IAC3B,UAAU,MAAM;QACd,iBAAiB,IAAI,YAAY,CAAC;QAClC,oBAAoB,IAAI,OAAO,CAAC;QAChC,aAAa,IAAI,YAAY,CAAC;QAC9B,YAAY,IAAI,WAAW,CAAC;QAC5B,aAAa,IAAI,YAAY,CAAC;QAC9B,eAAe,IAAI,cAAc,CAAC;KACnC;CACF"}
|