@tracespace/parser
Version:
Gerber and NC drill file parser
18 lines (15 loc) • 428 B
text/typescript
import {TokenRule} from './rules'
import {Token} from '../lexer'
import {ChildNode} from '../tree'
import * as Types from '../types'
export interface SyntaxRule<Node = ChildNode> {
rules: Array<TokenRule>
createNodes: (tokens: Token[]) => Node[]
filetype?: Types.Filetype
}
export interface MatchState<Node = ChildNode> {
candidates: SyntaxRule<Node>[]
tokens: Token[]
filetype?: Types.Filetype
nodes?: Node[]
}