@sharpee/chord 3.0.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/lexer.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/lexer.ts"],"names":[],"mappings":";;AA8DA,kBAsCC;AAhFD,iCAAsC;AAiCtC,MAAM,OAAO,GAAG,gCAAgC,CAAC;AACjD,MAAM,SAAS,GAAG,sBAAsB,CAAC;AAEzC;;;;;GAKG;AACH,SAAgB,GAAG,CAAC,MAAc,EAAE,WAA0B;IAC5D,MAAM,KAAK,GAAW,EAAE,CAAC;IACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC5C,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,+CAA+C;IAEtE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QACrB,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACnE,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACtB,WAAW,CAAC,KAAK,CACf,gBAAgB,EAChB,mDAAmD,EACnD,IAAA,aAAM,EAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CACxB,CAAC;YACJ,CAAC;YACD,MAAM,EAAE,CAAC;YACT,GAAG,EAAE,CAAC;QACR,CAAC;QAED,KAAK,CAAC,IAAI,CAAC;YACT,MAAM;YACN,MAAM;YACN,GAAG;YACH,MAAM,EAAE,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,CAAC;YACnD,UAAU;SACX,CAAC,CAAC;QACH,UAAU,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,GAAW,EAAE,MAAc,EAAE,KAAa,EAAE,WAA0B;IAC1F,MAAM,MAAM,GAAY,EAAE,CAAC;IAC3B,IAAI,GAAG,GAAG,KAAK,CAAC;IAEhB,OAAO,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,GAAG,EAAE,CAAC;YACN,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;QACvB,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YACxC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBACjB,kEAAkE;gBAClE,gEAAgE;gBAChE,iEAAiE;gBACjE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAA,aAAM,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvE,GAAG,EAAE,CAAC;YACR,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,IAAA,aAAM,EAAC,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;gBAChH,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;YAClB,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,aAAM,EAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACtB,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,aAAM,EAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC3F,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAA8B,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;QACvG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAA,aAAM,EAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrF,GAAG,EAAE,CAAC;IACR,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@sharpee/chord",
3
+ "version": "3.0.0",
4
+ "description": "Chord story language compiler for Sharpee — lexer, parser, semantic analysis, Story IR wire types, diagnostics (ADR-210)",
5
+ "main": "./index.js",
6
+ "types": "./index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "types": "./index.d.ts",
10
+ "require": "./index.js",
11
+ "default": "./index.js"
12
+ }
13
+ },
14
+ "keywords": [
15
+ "interactive-fiction",
16
+ "if",
17
+ "text-adventure",
18
+ "sharpee",
19
+ "chord",
20
+ "story-language",
21
+ "compiler"
22
+ ],
23
+ "author": "Sharpee Team",
24
+ "license": "MIT",
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "https://github.com/ChicagoDave/sharpee.git",
28
+ "directory": "packages/chord"
29
+ },
30
+ "homepage": "https://github.com/ChicagoDave/sharpee#readme",
31
+ "bugs": {
32
+ "url": "https://github.com/ChicagoDave/sharpee/issues"
33
+ },
34
+ "engines": {
35
+ "node": ">=18.0.0"
36
+ },
37
+ "publishConfig": {
38
+ "access": "public"
39
+ }
40
+ }
package/parser.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ /**
2
+ * parser.ts — the Chord recursive-descent parser (Phase A grammar subset).
3
+ *
4
+ * Purpose: turn lexed lines into a StoryFile AST. Line-driven: block
5
+ * structure comes from indentation (create blocks, `define phrases`,
6
+ * ordinal blocks are dedent-terminated) and explicit `end <keyword>`
7
+ * terminators (`when`, `on`, `if`, `select`, `define phrase`). After an
8
+ * error the parser resynchronizes at the next `end` or top-level keyword
9
+ * so one mistake yields one diagnostic (design.md §5.2).
10
+ *
11
+ * Public interface: parseStory().
12
+ * Owner context: @sharpee/chord (language frontend; browser-safe).
13
+ *
14
+ * Invariants:
15
+ * - The parser is vocabulary-free: entity names, event verbs, and phrase
16
+ * keys are collected as raw words; the analyzer resolves them (Phase 3).
17
+ * - Prose is opaque except `{…}` markers, extracted with precise spans.
18
+ * - Every AST node carries a Span.
19
+ */
20
+ import { StoryFile } from './ast';
21
+ import { DiagnosticBag } from './diagnostics';
22
+ /**
23
+ * Parse `.story` source into an AST.
24
+ * @param source full `.story` text
25
+ * @param diagnostics receives lex + parse diagnostics; parse always returns
26
+ * a (possibly partial) StoryFile — callers gate on diagnostics.hasErrors()
27
+ */
28
+ export declare function parseStory(source: string, diagnostics: DiagnosticBag): StoryFile;
29
+ //# sourceMappingURL=parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../repos/sharpee_v2/packages/chord/src/parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EA+CL,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAsB9C;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,GAAG,SAAS,CAEhF"}