package Breccia.parser; /** An afterlinker in Breccia. * */ @TagName("Afterlinker") @DataReflector public interface Afterlinker extends CommandPoint { /** The object clause, or null if there is none. */ public ObjectClause objectClause(); public @TagName("ReferentialCommand") Granum referentialCommand(); /** The subject clause, or null if there is none. */ public SubjectClause subjectClause(); // ━━━ G r a n u m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns ‘Afterlinker’. */ public default @Override String tagName() { return "Afterlinker"; } // ━━━ P a r s e S t a t e ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns * {@linkplain Typestamp#afterlinker afterlinker}. */ public default @Override int typestamp() { return Typestamp.afterlinker; } // ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ /** The end of an afterlinker. */ public static interface End extends CommandPoint.End { // ━━━ P a r s e S t a t e ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns * {@linkplain Typestamp#afterlinkerEnd afterlinkerEnd}. */ public default @Override int typestamp() { return Typestamp.afterlinkerEnd; }} // ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ /** The context operator ‘@’ in the components of a fractal context locant * will be tag named ‘ContextOperator’. * * @see Breccia.parser.Granum#tagName() * */ @TagName("FractalContextLocant") @DataReflector public static interface FractalContextLocant extends Granum { /** The fractum locant. */ public FractumLocant fractumLocant(); // ━━━ G r a n u m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns ‘FractalContextLocant’. */ public default @Override String tagName() { return "FractalContextLocant"; }} // ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @DataReflector @TagName("ObjectClause") public static interface ObjectClause extends Granum { /** The fractal context locant, or null if instead a fractum locant is present. * * @see #fractumLocant() */ public FractalContextLocant fractalContextLocant(); /** The fractum locant, or null if instead a fractal context locant is present. * * @see #fractalContextLocant() */ public FractumLocant fractumLocant(); // ━━━ G r a n u m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns ‘ObjectClause’. */ public default @Override String tagName() { return "ObjectClause"; }} // ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ @DataReflector @TagName("SubjectClause") public static interface SubjectClause extends Granum { public PatternMatcher patternMatcher(); // ━━━ G r a n u m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ /** The default implementation returns ‘SubjectClause’. */ public default @Override String tagName() { return "SubjectClause"; }}} // Copyright © 2021-2022, 2024 Michael Allan. Licence MIT.