import { AbstractStateMachine } from "../../support/AbstractStateMachine"; /** * Convenient superclass for parsing programming language source */ export declare abstract class LangStateMachine extends AbstractStateMachine { previousChar: string; previousState: LangState; constructor(state: LangState); } /** * Represents a state in a LangStateMachine */ export declare class LangState { name: string; comment: boolean; stringLiteral: boolean; /** * Create a new state * @param name name of the state. Merely informative. * @param comment is this a comment state? A language * can have multiple kinds of comments, such as /* and // comments * @param stringLiteral are we in a string literal? * A language can have multiple kinds of string literals, like * Scala " and """ strings */ constructor(name: string, comment: boolean, stringLiteral: boolean); normal(): boolean; }