|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--org.quasiliteral.astro.BaseBuilder | +--org.quasiliteral.quasiterm.QBuilder
Untamed:
Field Summary | |
private AstroBuilder |
myBuilder
|
static QBuilder |
term__quasiParser
Enabled: |
Fields inherited from class org.quasiliteral.astro.BaseBuilder |
|
Constructor Summary | |
QBuilder(AstroBuilder builder)
Enabled: |
Method Summary | |
Astro |
atHole(Astro litInt)
Enabled: The at-hole that's returned is initially a term-hole, but may get converted to a functor-hole by QAstro.asFunctor() . |
AstroArg |
choice(AstroArg leftArg,
AstroArg rightArg)
Enabled: |
Astro |
composite(AstroTag tag,
Object data,
SourceSpan optSpan)
Enabled: For QTerms, this is non-atomic |
boolean |
doesQuasis()
Enabled: |
Astro |
dollarHole(Astro litInt)
Enabled: The dollar-hole that's returned is initially a term-hole, but may get converted to a functor-hole by QAstro.asFunctor() . |
AstroArg |
group(Object args)
Enabled: |
AstroArg |
interleave(AstroArg leftArg,
AstroArg rightArg)
Enabled: |
protected Astro |
leafInternal(AstroTag tag,
Object optData,
SourceSpan optSpan)
Actually makes the kind of leaf this builder makes. |
Object |
list()
Enabled: |
MatchMaker |
matchMaker(Twine template)
Enabled: |
MatchMaker |
matchMaker(Twine template,
int[] dlrHoles,
int[] atHoles)
Enabled: |
AstroArg |
some(AstroArg optSub,
String quant)
Enabled: |
Astro |
taggedHole(Astro ident,
Astro functorHole)
Enabled: |
Astro |
term(Astro functor)
Enabled: Just returns 'functor' itself. |
Astro |
term(Astro functor,
Object args)
Enabled: Returns the QTerm ' |
ValueMaker |
valueMaker(Twine template)
Enabled: |
ValueMaker |
valueMaker(Twine template,
int[] dlrHoles)
Enabled: |
Object |
with(Object list,
AstroArg next)
Enabled: |
Methods inherited from class org.quasiliteral.astro.BaseBuilder |
bag, getSchema, leafChar, leafData, leafFloat64, leafInteger, leafLong, leafString, leafTag, leafTwine, list, list, list, list, start, tuple, unpack |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.quasiliteral.astro.AstroBuilder |
bag, getSchema, leafChar, leafData, leafFloat64, leafInteger, leafLong, leafString, leafTag, leafTwine, list, list, list, list, start, tuple, unpack |
Field Detail |
public static final QBuilder term__quasiParser
private final AstroBuilder myBuilder
Constructor Detail |
public QBuilder(AstroBuilder builder)
Method Detail |
public ValueMaker valueMaker(Twine template, int[] dlrHoles)
valueMaker
in interface QuasiExprParser
public ValueMaker valueMaker(Twine template)
valueMaker
in interface QuasiExprParser
public MatchMaker matchMaker(Twine template, int[] dlrHoles, int[] atHoles)
matchMaker
in interface QuasiPatternParser
public MatchMaker matchMaker(Twine template)
matchMaker
in interface QuasiPatternParser
protected Astro leafInternal(AstroTag tag, Object optData, SourceSpan optSpan)
BaseBuilder
This is '*Internal' and 'protected' because it assumes that the general invariants among the arguments are already ensured. It is up to the callers of leafInternal to ensure this.
leafInternal
in class BaseBuilder
tag
- Identifies a token type in a particular grammar or set
of related grammars.optData
- null, or a Character
,
BigInteger
, Double
,
or Twine
presumably calculated from lexing this
token. If not null, then if the tag is the
corresponding literal-type-tag, then this is still a
leaf. Otherwise, it's a composite.public Astro composite(AstroTag tag, Object data, SourceSpan optSpan)
composite
in interface AstroBuilder
composite
in class BaseBuilder
data
- Nust not be null
public Astro term(Astro functor, Object args)
Note that the QTerm constructor will first convert 'functor' using
QAstro.asFunctor()
, so if 'functor' is originally a term-hole,
the functor of the resulting QTerm will be a corresponding
functor-hole.
term
in interface AstroBuilder
args
- :Argspublic Astro term(Astro functor)
Note that, if 'functor' is a term-hole (one that doesn't constrain the literal term to be zero-arity), then so will the result, since it's the same.
term
in interface AstroBuilder
term
in class BaseBuilder
public Object list()
list
in interface AstroBuilder
public Object with(Object list, AstroArg next)
with
in interface AstroBuilder
list
- :Args
public boolean doesQuasis()
doesQuasis
in interface QuasiBuilder
public Astro taggedHole(Astro ident, Astro functorHole)
taggedHole
in interface QuasiBuilder
public AstroArg choice(AstroArg leftArg, AstroArg rightArg)
choice
in interface QuasiBuilder
public AstroArg interleave(AstroArg leftArg, AstroArg rightArg)
interleave
in interface QuasiBuilder
public AstroArg some(AstroArg optSub, String quant)
some
in interface QuasiBuilder
public AstroArg group(Object args)
group
in interface QuasiBuilder
args
- is a list of AstroArg.public Astro dollarHole(Astro litInt)
QAstro.asFunctor()
.
dollarHole
in interface QuasiBuilder
public Astro atHole(Astro litInt)
QAstro.asFunctor()
.
atHole
in interface QuasiBuilder
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |