diff options
Diffstat (limited to 'llparse-frontend/src/implementation')
-rw-r--r-- | llparse-frontend/src/implementation/code.ts | 16 | ||||
-rw-r--r-- | llparse-frontend/src/implementation/full.ts | 9 | ||||
-rw-r--r-- | llparse-frontend/src/implementation/index.ts | 4 | ||||
-rw-r--r-- | llparse-frontend/src/implementation/node.ts | 15 | ||||
-rw-r--r-- | llparse-frontend/src/implementation/transform.ts | 9 |
5 files changed, 53 insertions, 0 deletions
diff --git a/llparse-frontend/src/implementation/code.ts b/llparse-frontend/src/implementation/code.ts new file mode 100644 index 0000000..c467ced --- /dev/null +++ b/llparse-frontend/src/implementation/code.ts @@ -0,0 +1,16 @@ +import * as code from '../code'; +import { IWrap } from '../wrap'; + +export interface ICodeImplementation { + readonly And: new(c: code.And) => IWrap<code.And>; + readonly IsEqual: new(c: code.IsEqual) => IWrap<code.IsEqual>; + readonly Load: new(c: code.Load) => IWrap<code.Load>; + readonly Match: new(c: code.Match) => IWrap<code.Match>; + readonly MulAdd: new(c: code.MulAdd) => IWrap<code.MulAdd>; + readonly Or: new(c: code.Or) => IWrap<code.Or>; + readonly Span: new(c: code.Span) => IWrap<code.Span>; + readonly Store: new(c: code.Store) => IWrap<code.Store>; + readonly Test: new(c: code.Test) => IWrap<code.Test>; + readonly Update: new(c: code.Update) => IWrap<code.Update>; + readonly Value: new(c: code.Value) => IWrap<code.Value>; +} diff --git a/llparse-frontend/src/implementation/full.ts b/llparse-frontend/src/implementation/full.ts new file mode 100644 index 0000000..08c4c03 --- /dev/null +++ b/llparse-frontend/src/implementation/full.ts @@ -0,0 +1,9 @@ +import { ICodeImplementation } from './code'; +import { INodeImplementation } from './node'; +import { ITransformImplementation } from './transform'; + +export interface IImplementation { + readonly code: ICodeImplementation; + readonly node: INodeImplementation; + readonly transform: ITransformImplementation; +} diff --git a/llparse-frontend/src/implementation/index.ts b/llparse-frontend/src/implementation/index.ts new file mode 100644 index 0000000..2b5411b --- /dev/null +++ b/llparse-frontend/src/implementation/index.ts @@ -0,0 +1,4 @@ +export * from './code'; +export * from './full'; +export * from './node'; +export * from './transform'; diff --git a/llparse-frontend/src/implementation/node.ts b/llparse-frontend/src/implementation/node.ts new file mode 100644 index 0000000..af0b3df --- /dev/null +++ b/llparse-frontend/src/implementation/node.ts @@ -0,0 +1,15 @@ +import * as node from '../node'; +import { IWrap } from '../wrap'; + +export interface INodeImplementation { + readonly Consume: new(n: node.Consume) => IWrap<node.Consume>; + readonly Empty: new(n: node.Empty) => IWrap<node.Empty>; + readonly Error: new(n: node.Error) => IWrap<node.Error>; + readonly Invoke: new(n: node.Invoke) => IWrap<node.Invoke>; + readonly Pause: new(n: node.Pause) => IWrap<node.Pause>; + readonly Sequence: new(n: node.Sequence) => IWrap<node.Sequence>; + readonly Single: new(n: node.Single) => IWrap<node.Single>; + readonly SpanEnd: new(n: node.SpanEnd) => IWrap<node.SpanEnd>; + readonly SpanStart: new(n: node.SpanStart) => IWrap<node.SpanStart>; + readonly TableLookup: new(n: node.TableLookup) => IWrap<node.TableLookup>; +} diff --git a/llparse-frontend/src/implementation/transform.ts b/llparse-frontend/src/implementation/transform.ts new file mode 100644 index 0000000..4382284 --- /dev/null +++ b/llparse-frontend/src/implementation/transform.ts @@ -0,0 +1,9 @@ +import * as transform from '../transform'; +import { IWrap } from '../wrap'; + +export interface ITransformImplementation { + readonly ID: new(t: transform.ID) => IWrap<transform.ID>; + readonly ToLower: new(t: transform.ToLower) => IWrap<transform.ToLower>; + readonly ToLowerUnsafe: new(t: transform.ToLowerUnsafe) + => IWrap<transform.ToLowerUnsafe>; +} |