@plurnk/plurnk-mimetypes-text-prolog 0.2.2 → 0.3.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.
@@ -27,26 +27,79 @@ export default class TextProlog extends AntlrExtractor {
27
27
  }
28
28
  class TextPrologVisitor extends withExtractor(prologVisitor) {
29
29
  #emittedPredicates = new Set();
30
+ #bodyHead = null;
30
31
  visitClause = (ctx) => {
31
32
  if (this.inBody)
32
33
  return null;
33
34
  const term = ctx.term?.();
34
35
  if (!term)
35
36
  return null;
36
- const head = clauseHead(term);
37
- if (!head)
37
+ const pred = extractPredicate(clauseHead(term));
38
+ if (pred) {
39
+ const key = `${pred.name}/${pred.arity}`;
40
+ if (!this.#emittedPredicates.has(key)) {
41
+ this.#emittedPredicates.add(key);
42
+ this.addSymbol("function", pred.name, ctx, pred.params);
43
+ }
44
+ }
45
+ // A rule's BODY is a call graph: each body goal invokes a predicate.
46
+ // Scope those `call` refs under the head predicate name so the edge's
47
+ // container is the defining clause (SPEC §16 — container = enclosing
48
+ // def, the @> join key). Refs resolve to head-predicate DEFINITIONS in
49
+ // the same entry; built-ins (is, write, member, …) are honest dead rows.
50
+ const body = clauseBody(term);
51
+ if (body && pred) {
52
+ this.#bodyHead = pred.name;
53
+ // gateContainer pushes the head name as the ref container and visits
54
+ // CHILDREN; wrap the body so it is visited as a child (a single-goal
55
+ // body is a Compound/Atom term whose own children aren't goals).
56
+ this.gateContainer(pred.name, { getChildCount: () => 1, getChild: () => body });
57
+ this.#bodyHead = null;
58
+ }
59
+ return null;
60
+ };
61
+ visitDirective = (_ctx) => null;
62
+ // Inside a gated body (gateContainer pushed the head predicate name), a
63
+ // compound goal `name(args)` is a `call` to that predicate. We do NOT
64
+ // recurse into its argument termlist: a goal riding in a meta-call argument
65
+ // (findall(X, p(X), L)) is a term, not structurally a goal, and classifying
66
+ // it needs meta-predicate knowledge we don't have. Precision over recall.
67
+ visitCompound_term = (ctx) => {
68
+ if (this.#bodyHead === null)
38
69
  return null;
39
- const pred = extractPredicate(head);
40
- if (!pred)
70
+ const name = atomName(ctx.atom?.());
71
+ if (name)
72
+ this.addRef("call", name, ctx);
73
+ return null;
74
+ };
75
+ // A bare atom in goal position (nl, true, !) is a 0-arity call. Skip the
76
+ // cut `!` and control atoms — they're operators, not predicate calls.
77
+ visitAtom_term = (ctx) => {
78
+ if (this.#bodyHead === null)
41
79
  return null;
42
- const key = `${pred.name}/${pred.arity}`;
43
- if (this.#emittedPredicates.has(key))
80
+ const name = atomName(ctx.atom?.());
81
+ if (name && !CONTROL_ATOMS.has(name))
82
+ this.addRef("call", name, ctx);
83
+ return null;
84
+ };
85
+ // Binary operators in body position are control combinators (`,` `;` `->`)
86
+ // we descend through, or operator goals (X is E, X \= Y) we drop — a builtin
87
+ // operator predicate is not a named-predicate call.
88
+ visitBinary_operator = (ctx) => {
89
+ if (this.#bodyHead === null)
44
90
  return null;
45
- this.#emittedPredicates.add(key);
46
- this.addSymbol("function", pred.name, ctx, pred.params);
91
+ const op = ctx.operator_?.()?.getText?.();
92
+ if (CONTROL_OPERATORS.has(op)) {
93
+ for (const side of asArray(ctx.term?.()))
94
+ this.visit(side);
95
+ }
47
96
  return null;
48
97
  };
49
- visitDirective = (_ctx) => null;
98
+ }
99
+ const CONTROL_OPERATORS = new Set([",", ";", "->", "*->", "|"]);
100
+ const CONTROL_ATOMS = new Set(["!", "true", "fail", "false"]);
101
+ function asArray(raw) {
102
+ return Array.isArray(raw) ? raw : raw ? [raw] : [];
50
103
  }
51
104
  // For rules `head :- body`, head is the LHS of a binary_operator term
52
105
  // where the operator is `:-`. For facts, the whole term is the head.
@@ -62,6 +115,19 @@ function clauseHead(term) {
62
115
  }
63
116
  return term;
64
117
  }
118
+ // For rules `head :- body` / DCG `head --> body`, the body is the RHS of the
119
+ // binary operator. Facts have no body.
120
+ function clauseBody(term) {
121
+ const t = term;
122
+ if (t.constructor?.name === "Binary_operatorContext") {
123
+ const op = t.operator_?.()?.getText?.();
124
+ if (op === ":-" || op === "-->") {
125
+ const arr = asArray(t.term?.());
126
+ return arr[1] ?? null;
127
+ }
128
+ }
129
+ return null;
130
+ }
65
131
  function extractPredicate(head) {
66
132
  const t = head;
67
133
  // Compound term: atom '(' termlist ')'
@@ -1 +1 @@
1
- {"version":3,"file":"TextProlog.js","sourceRoot":"","sources":["../src/TextProlog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextProlog.js","sourceRoot":"","sources":["../src/TextProlog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@plurnk/plurnk-mimetypes-text-prolog",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "text/x-prolog mimetype handler for plurnk-service. ANTLR-backed extraction via grammars-v4.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -52,9 +52,9 @@
52
52
  "@types/node": "^25.8.0",
53
53
  "antlr-ng": "^1.0.10",
54
54
  "typescript": "^6.0.3",
55
- "@plurnk/plurnk-mimetypes": "^0.15.0"
55
+ "@plurnk/plurnk-mimetypes": "^0.15.18"
56
56
  },
57
57
  "peerDependencies": {
58
- "@plurnk/plurnk-mimetypes": "^0.15.0"
58
+ "@plurnk/plurnk-mimetypes": "^0.15.18"
59
59
  }
60
60
  }