@chr33s/pdf-dfa 5.0.6 → 5.0.8

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/compile.d.ts CHANGED
@@ -1,6 +1,20 @@
1
1
  import StateMachine from "./state-machine.js";
2
2
  import SymbolTable from "./symbol-table.js";
3
3
  export type ExternalSymbols = Record<string, number>;
4
+ /**
5
+ * Parses a DFA source grammar into a symbol table.
6
+ * @param source The DFA source grammar string
7
+ * @param externalSymbols Optional external symbol mappings
8
+ */
4
9
  export declare function parse(source: string, externalSymbols?: ExternalSymbols): SymbolTable;
10
+ /**
11
+ * Builds a StateMachine from a parsed symbol table.
12
+ * @param symbolTable The parsed symbol table from parse()
13
+ */
5
14
  export declare function build(symbolTable: SymbolTable): StateMachine;
15
+ /**
16
+ * Compiles a DFA source grammar directly into a StateMachine.
17
+ * @param source The DFA source grammar string
18
+ * @param externalSymbols Optional external symbol mappings
19
+ */
6
20
  export default function compile(source: string, externalSymbols?: ExternalSymbols): StateMachine;
package/dist/compile.js CHANGED
@@ -3,10 +3,19 @@ import { parse as parseGrammar } from "./grammar.js";
3
3
  import * as nodes from "./nodes.js";
4
4
  import StateMachine from "./state-machine.js";
5
5
  import SymbolTable from "./symbol-table.js";
6
+ /**
7
+ * Parses a DFA source grammar into a symbol table.
8
+ * @param source The DFA source grammar string
9
+ * @param externalSymbols Optional external symbol mappings
10
+ */
6
11
  export function parse(source, externalSymbols = {}) {
7
12
  const ast = parseGrammar(source, { nodes });
8
13
  return new SymbolTable(ast, externalSymbols);
9
14
  }
15
+ /**
16
+ * Builds a StateMachine from a parsed symbol table.
17
+ * @param symbolTable The parsed symbol table from parse()
18
+ */
10
19
  export function build(symbolTable) {
11
20
  const states = buildDFA(symbolTable.main, symbolTable.size);
12
21
  const config = {
@@ -16,6 +25,11 @@ export function build(symbolTable) {
16
25
  };
17
26
  return new StateMachine(config);
18
27
  }
28
+ /**
29
+ * Compiles a DFA source grammar directly into a StateMachine.
30
+ * @param source The DFA source grammar string
31
+ * @param externalSymbols Optional external symbol mappings
32
+ */
19
33
  export default function compile(source, externalSymbols = {}) {
20
34
  return build(parse(source, externalSymbols));
21
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAsB,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,YAAoC,MAAM,oBAAoB,CAAC;AACtE,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAI5C,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,kBAAmC,EAAE;IACzE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,WAAwB;IAC5C,MAAM,MAAM,GAAe,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAExE,MAAM,MAAM,GAAuB;QACjC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,MAAc,EACd,kBAAmC,EAAE;IAErC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA,OAAO,QAAsB,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,YAAoC,MAAM,oBAAoB,CAAC;AACtE,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAI5C;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAC,MAAc,EAAE,kBAAmC,EAAE;IACzE,MAAM,GAAG,GAAG,YAAY,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5C,OAAO,IAAI,WAAW,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;AAC/C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,WAAwB;IAC5C,MAAM,MAAM,GAAe,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAExE,MAAM,MAAM,GAAuB;QACjC,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChE,SAAS,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC;QACjD,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACpD,CAAC;IAEF,OAAO,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,OAAO,CAC7B,MAAc,EACd,kBAAmC,EAAE;IAErC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;AAC/C,CAAC"}
package/dist/dfa.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { ExpressionNode, PositionNode } from "./nodes.js";
2
+ /** Represents a state in the deterministic finite automaton. */
2
3
  export interface DFAState {
3
4
  positions: Set<PositionNode>;
4
5
  transitions: Uint16Array;
package/dist/dfa.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dfa.js","sourceRoot":"","sources":["../src/dfa.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dfa.js","sourceRoot":"","sources":["../src/dfa.ts"],"names":[],"mappings":"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"}
package/dist/nodes.d.ts CHANGED
@@ -77,6 +77,7 @@ export declare class Repeat extends Node {
77
77
  calcFollowpos(): void;
78
78
  copy(): Repeat;
79
79
  }
80
+ /** Builds a repetition expression with specified min/max bounds. */
80
81
  export declare function buildRepetition(expression: ExpressionNode, min?: number, max?: number): ExpressionNode;
81
82
  /**
82
83
  * Base class for leaf nodes
package/dist/nodes.js CHANGED
@@ -162,6 +162,7 @@ export class Repeat extends Node {
162
162
  return new Repeat(this.expression.copy(), this.op);
163
163
  }
164
164
  }
165
+ /** Builds a repetition expression with specified min/max bounds. */
165
166
  export function buildRepetition(expression, min = 0, max = Infinity) {
166
167
  if (min < 0 || min > max) {
167
168
  throw new Error(`Invalid repetition range: ${min} ${max}`);
package/dist/nodes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
+ /** Initial state index for the state machine. */
1
2
  export declare const INITIAL_STATE = 1;
3
+ /** Fail state index indicating no valid transition. */
2
4
  export declare const FAIL_STATE = 0;
5
+ /** A match result: [start index, end index, captured tags]. */
3
6
  export type Match = [start: number, end: number, tags: string[]];
7
+ /** Configuration for constructing a StateMachine. */
4
8
  export interface StateMachineConfig {
5
9
  stateTable: number[][];
6
10
  accepting: boolean[];
@@ -1,4 +1,6 @@
1
+ /** Initial state index for the state machine. */
1
2
  export const INITIAL_STATE = 1;
3
+ /** Fail state index indicating no valid transition. */
2
4
  export const FAIL_STATE = 0;
3
5
  /**
4
6
  * A StateMachine represents a deterministic finite automaton.
@@ -1 +1 @@
1
- {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-machine.js","sourceRoot":"","sources":["../src/state-machine.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chr33s/pdf-dfa",
3
- "version": "5.0.6",
3
+ "version": "5.0.8",
4
4
  "description": "Deterministic finite automata compiler",
5
5
  "type": "module",
6
6
  "sideEffects": false,
package/src/compile.ts CHANGED
@@ -6,11 +6,20 @@ import SymbolTable from "./symbol-table.js";
6
6
 
7
7
  export type ExternalSymbols = Record<string, number>;
8
8
 
9
+ /**
10
+ * Parses a DFA source grammar into a symbol table.
11
+ * @param source The DFA source grammar string
12
+ * @param externalSymbols Optional external symbol mappings
13
+ */
9
14
  export function parse(source: string, externalSymbols: ExternalSymbols = {}): SymbolTable {
10
15
  const ast = parseGrammar(source, { nodes });
11
16
  return new SymbolTable(ast, externalSymbols);
12
17
  }
13
18
 
19
+ /**
20
+ * Builds a StateMachine from a parsed symbol table.
21
+ * @param symbolTable The parsed symbol table from parse()
22
+ */
14
23
  export function build(symbolTable: SymbolTable): StateMachine {
15
24
  const states: DFAState[] = buildDFA(symbolTable.main, symbolTable.size);
16
25
 
@@ -23,6 +32,11 @@ export function build(symbolTable: SymbolTable): StateMachine {
23
32
  return new StateMachine(config);
24
33
  }
25
34
 
35
+ /**
36
+ * Compiles a DFA source grammar directly into a StateMachine.
37
+ * @param source The DFA source grammar string
38
+ * @param externalSymbols Optional external symbol mappings
39
+ */
26
40
  export default function compile(
27
41
  source: string,
28
42
  externalSymbols: ExternalSymbols = {},
package/src/dfa.ts CHANGED
@@ -3,6 +3,7 @@ import { addAll, equal } from "./utils.js";
3
3
 
4
4
  const END_MARKER = new EndMarker();
5
5
 
6
+ /** Represents a state in the deterministic finite automaton. */
6
7
  export interface DFAState {
7
8
  positions: Set<PositionNode>;
8
9
  transitions: Uint16Array;
package/src/nodes.ts CHANGED
@@ -211,6 +211,7 @@ export class Repeat extends Node {
211
211
  }
212
212
  }
213
213
 
214
+ /** Builds a repetition expression with specified min/max bounds. */
214
215
  export function buildRepetition(
215
216
  expression: ExpressionNode,
216
217
  min = 0,
@@ -1,8 +1,12 @@
1
+ /** Initial state index for the state machine. */
1
2
  export const INITIAL_STATE = 1;
3
+ /** Fail state index indicating no valid transition. */
2
4
  export const FAIL_STATE = 0;
3
5
 
6
+ /** A match result: [start index, end index, captured tags]. */
4
7
  export type Match = [start: number, end: number, tags: string[]];
5
8
 
9
+ /** Configuration for constructing a StateMachine. */
6
10
  export interface StateMachineConfig {
7
11
  stateTable: number[][];
8
12
  accepting: boolean[];