Skip to content

Commit

Permalink
Replace resolver/ast.ts with parser/ast.d.ts
Browse files Browse the repository at this point in the history
  • Loading branch information
stasm committed Jul 31, 2019
1 parent df9ee87 commit e61fae7
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion format/lib/tools.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {NodeType} from "../resolver/ast";
import {NodeType} from "../../syntax/parser/ast";
import {Bundle} from "../resolver/bundle";
import {ErrorKind} from "../resolver/error";
import {Resource} from "../resolver/resource";
Expand Down
2 changes: 1 addition & 1 deletion format/resolver/bundle.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {NodeType, Pattern} from "./ast";
import {NodeType, Pattern} from "../../syntax/parser/ast";
import {ScopeError} from "./error";
import {Message} from "./message";
import {Resource} from "./resource";
Expand Down
2 changes: 1 addition & 1 deletion format/resolver/message.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {Pattern} from "./ast";
import {Pattern} from "../../syntax/parser/ast";

export interface Message {
readonly id: string;
Expand Down
2 changes: 1 addition & 1 deletion format/resolver/resource.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {Entry} from "../../syntax/parser/ast";
import {Resource as ResourceParser} from "../../syntax/parser/grammar";
import {Entry} from "./ast";

export class Resource {
public readonly body: Array<Entry>;
Expand Down
2 changes: 1 addition & 1 deletion format/resolver/scope.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import * as ast from "./ast";
import * as ast from "../../syntax/parser/ast";
import {ErrorKind, ScopeError} from "./error";
import {Message} from "./message";
import {NoneValue, StringValue, Value} from "./value";
Expand Down
20 changes: 10 additions & 10 deletions format/resolver/ast.ts → syntax/parser/ast.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ export enum NodeType {
Resource = "Resource",
}

export interface SyntaxNode {
export declare class SyntaxNode {
readonly type: NodeType;
}

export interface Identifier extends SyntaxNode {
export declare class Identifier extends SyntaxNode {
readonly type: NodeType.Identifer;
readonly name: string;
}

export interface StringLiteral extends SyntaxNode {
export declare class StringLiteral extends SyntaxNode {
readonly type: NodeType.StringLiteral;
readonly value: string;
parse(): {value: string};
}

export interface MessageReference extends SyntaxNode {
export declare class MessageReference extends SyntaxNode {
readonly type: NodeType.MessageReference;
readonly id: Identifier;
readonly attribute: Identifier | null;
Expand All @@ -35,39 +35,39 @@ export type InlineExpression = StringLiteral | MessageReference;

export type Expression = InlineExpression;

export interface TextElement extends SyntaxNode {
export declare class TextElement extends SyntaxNode {
readonly type: NodeType.TextElement;
readonly value: string;
}

export interface Placeable extends SyntaxNode {
export declare class Placeable extends SyntaxNode {
readonly type: NodeType.Placeable;
readonly expression: Expression;
}

export type PatternElement = TextElement | Placeable;

export interface Pattern extends SyntaxNode {
export declare class Pattern extends SyntaxNode {
readonly type: NodeType.Pattern;
readonly elements: Array<PatternElement>;
}

export interface Message extends SyntaxNode {
export declare class Message extends SyntaxNode {
readonly type: NodeType.Message;
readonly id: Identifier;
readonly value: Pattern | null;
readonly attributes: Array<Attribute>;
}

export interface Attribute extends SyntaxNode {
export declare class Attribute extends SyntaxNode {
readonly type: NodeType.Attribute;
readonly id: Identifier;
readonly value: Pattern;
}

export type Entry = Message;

export interface Resource extends SyntaxNode {
export declare class Resource extends SyntaxNode {
readonly type: NodeType.Resource;
readonly body: Array<Entry>;
}
4 changes: 2 additions & 2 deletions syntax/parser/grammar.d.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {Resource} from "../../format/resolver/ast";
import * as ast from "./ast";
interface Result<T, E> {
fold(s: (value: T) => T, f: (err: E) => never): T;
}

interface Parser {
run(input: string): Result<Resource, string>;
run(input: string): Result<ast.Resource, string>;
}

export declare let Resource: Parser;

0 comments on commit e61fae7

Please sign in to comment.