Package kawa.lang
Class BindDecls
java.lang.Object
kawa.lang.BindDecls
Methods for parsing patterns.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompareLiteral
(Declaration param, QuoteExp literal) define
(Symbol name, TemplateScope templateScope, ScopeExp scope, Translator comp) literalPattern
(Object patval, Translator comp) void
parseBracketListPattern
(Pair patpair, int scanNesting, ScopeExp scope, Declaration decl, Translator comp) Handle patterns of the form[pat1 ... patN]
.Object[]
parsePatternCar
(Pair patList, int scanNesting, ScopeExp scope, Translator comp) Parse a declaration or more generally a pattern.Object[]
parsePatternCar
(Pair patList, Expression init, TemplateScope templateScope, int scanNesting, ScopeExp scope, Translator comp) parsePatternNext
(Pair patList, Translator comp) static void
setInitializer
(Declaration decl, Expression init, ScopeExp scope, Translator comp)
-
Field Details
-
instance
-
allowShadowing
public boolean allowShadowing -
makeConstant
public boolean makeConstant -
ifKeyword
-
compareEquals
-
booleanType
-
-
Constructor Details
-
BindDecls
public BindDecls()
-
-
Method Details
-
define
public Declaration define(Symbol name, TemplateScope templateScope, ScopeExp scope, Translator comp) -
parsePatternNext
-
parsePatternCar
Parse a declaration or more generally a pattern. The actual pattern is an initial sublist (using just the initial car) of the patList.- Returns:
- A 2-element array, where element 0 is the unused remainder of patList, while element 1 is a Declaration for that pattern.
-
parsePatternCar
public Object[] parsePatternCar(Pair patList, Expression init, TemplateScope templateScope, int scanNesting, ScopeExp scope, Translator comp) -
parseBracketListPattern
public void parseBracketListPattern(Pair patpair, int scanNesting, ScopeExp scope, Declaration decl, Translator comp) Handle patterns of the form[pat1 ... patN]
. -
setInitializer
public static void setInitializer(Declaration decl, Expression init, ScopeExp scope, Translator comp) -
literalPattern
-
compareLiteral
-