import { InputState } from "../../../InputState"; import { MatchingLogic } from "../../../Matchers"; import { MatchPrefixResult } from "../../../MatchPrefixResult"; import { MatchReport } from "../../../MatchReport"; import { Concat } from "../../Concat"; import { LangStateMachine } from "../LangStateMachine"; /** * The rest of a C family block, going to a matching depth of +1 curlies or braces. * Does not read final curly */ export declare class CBlock implements MatchingLogic { private readonly stateMachineFactory; private readonly inner?; $id: "C.BlockBody"; private readonly push; private readonly pop; constructor(stateMachineFactory: () => LangStateMachine, kind: "block" | "parens", inner?: MatchingLogic); matchPrefix(is: InputState, thisMatchContext: any, parseContext: any): MatchPrefixResult; matchPrefixReport(is: InputState, thisMatchContext: any, parseContext: any): MatchReport; } /** * Match a block with balanced curlies * @type {Term} */ export declare function block(stateMachineFactory: () => LangStateMachine): Concat; export declare function blockContaining(m: MatchingLogic, stateMachineFactory?: () => LangStateMachine): Concat; /** * Match a parenthesized expression including () * @type {Concat} */ export declare function parenthesizedExpression(stateMachineFactory?: () => LangStateMachine): Concat;