Class StreamExpressionsMill
- java.lang.Object
-
- de.monticore.expressions.streamexpressions.StreamExpressionsMill
-
public class StreamExpressionsMill extends java.lang.ObjectThe mill is a factory for builders and other commonly used functions, such as parsers or visitors. The mill was introduced to ensure compositionality of languages, while retaining reusability of functions developed for sublanguages. Only one mill instance exists, even though in composed languages it is available under several static signatures.
-
-
Field Summary
Fields Modifier and Type Field Description protected StreamExpressionsFullPrettyPrinterfullPrettyPrinterprotected static StreamExpressionsMillmillprotected IStreamExpressionsGlobalScopestreamExpressionsGlobalScopeprotected IStreamExpressionsTypeDispatchertypeDispatcher
-
Constructor Summary
Constructors Modifier Constructor Description protectedStreamExpressionsMill()
-
Method Summary
-
-
-
Field Detail
-
mill
protected static StreamExpressionsMill mill
-
fullPrettyPrinter
protected StreamExpressionsFullPrettyPrinter fullPrettyPrinter
-
typeDispatcher
protected IStreamExpressionsTypeDispatcher typeDispatcher
-
streamExpressionsGlobalScope
protected IStreamExpressionsGlobalScope streamExpressionsGlobalScope
-
-
Method Detail
-
getMill
public static StreamExpressionsMill getMill()
-
init
public static void init()
Initializes a languages Mill. This will also initialize the Mills of all languages it depends on. This ensures that all objects of this mill, such as builders, traversers, scopes, ..., deliver the element of the correct language.
-
streamConstructorExpressionBuilder
public static ASTStreamConstructorExpressionBuilder streamConstructorExpressionBuilder()
-
_streamConstructorExpressionBuilder
protected ASTStreamConstructorExpressionBuilder _streamConstructorExpressionBuilder()
-
streamConstructorElementBuilder
public static ASTStreamConstructorElementBuilder streamConstructorElementBuilder()
-
_streamConstructorElementBuilder
protected ASTStreamConstructorElementBuilder _streamConstructorElementBuilder()
-
appendStreamExpressionBuilder
public static ASTAppendStreamExpressionBuilder appendStreamExpressionBuilder()
-
_appendStreamExpressionBuilder
protected ASTAppendStreamExpressionBuilder _appendStreamExpressionBuilder()
-
appendAbsentStreamExpressionBuilder
public static ASTAppendAbsentStreamExpressionBuilder appendAbsentStreamExpressionBuilder()
-
_appendAbsentStreamExpressionBuilder
protected ASTAppendAbsentStreamExpressionBuilder _appendAbsentStreamExpressionBuilder()
-
appendTickStreamExpressionBuilder
public static ASTAppendTickStreamExpressionBuilder appendTickStreamExpressionBuilder()
-
_appendTickStreamExpressionBuilder
protected ASTAppendTickStreamExpressionBuilder _appendTickStreamExpressionBuilder()
-
concatStreamExpressionBuilder
public static ASTConcatStreamExpressionBuilder concatStreamExpressionBuilder()
-
_concatStreamExpressionBuilder
protected ASTConcatStreamExpressionBuilder _concatStreamExpressionBuilder()
-
lengthStreamExpressionBuilder
public static ASTLengthStreamExpressionBuilder lengthStreamExpressionBuilder()
-
_lengthStreamExpressionBuilder
protected ASTLengthStreamExpressionBuilder _lengthStreamExpressionBuilder()
-
prettyPrint
public static java.lang.String prettyPrint(de.monticore.ast.ASTNode node, boolean printComments)Uses the composed pretty printer to print an ASTNode of this language- Parameters:
node- The ASTNode to be printedprintComments- Whether comments should be printed- Returns:
- The pretty printer output
-
_prettyPrint
protected java.lang.String _prettyPrint(de.monticore.ast.ASTNode node, boolean printComments)
-
typeDispatcher
public static IStreamExpressionsTypeDispatcher typeDispatcher()
-
_typeDispatcher
protected IStreamExpressionsTypeDispatcher _typeDispatcher()
-
traverser
public static StreamExpressionsTraverser traverser()
A traverser is the conceptual entry point for every action within the visitor infrastructure. Visitors may be added, which contain the implementations for the visit and endVisit methods. Handlers may be added to modify the default traversal strategy. Each traverser retains their traversed elements to avoid duplicate traversal, possibly requiringITraverser.clearTraversedElements()to be called in case of re-useinheritanceTraverser()should be preferred over normal traverser, as they further enable language composition.- Returns:
- a new instance of this language's traverser
-
_traverser
protected StreamExpressionsTraverser _traverser()
-
inheritanceTraverser
public static StreamExpressionsTraverser inheritanceTraverser()
A traverser is the conceptual entry point for every action within the visitor infrastructure. Visitors may be added, which contain the implementations for the visit and endVisit methods. Handlers may be added to modify the default traversal strategy. Each traverser retains their traversed elements to avoid duplicate traversal, possibly requiringITraverser.clearTraversedElements()to be called in case of re-use Inheritance Traverser should be preferred over default ones, as they further enable language composition.- Returns:
- a new instance of this language's inheritance traverser
-
_inheritanceTraverser
protected StreamExpressionsTraverser _inheritanceTraverser()
-
globalScope
public static IStreamExpressionsGlobalScope globalScope()
-
_globalScope
protected IStreamExpressionsGlobalScope _globalScope()
-
artifactScope
public static IStreamExpressionsArtifactScope artifactScope()
-
_artifactScope
protected IStreamExpressionsArtifactScope _artifactScope()
-
scope
public static IStreamExpressionsScope scope()
-
_scope
protected IStreamExpressionsScope _scope()
-
scopesGenitor
public static StreamExpressionsScopesGenitor scopesGenitor()
Returns a new ScopeGenitor. ScopeGenitors are responsible for creating the scope structure of artifacts of only this language and linking it with the AST nodes. Note: ScopeGenitors do NOT delegate to elements of composed languages which is why you are most likely looking forscopesGenitorDelegator().- Returns:
- a new instance of this language's scope genitor
-
_scopesGenitor
protected StreamExpressionsScopesGenitor _scopesGenitor()
-
scopesGenitorDelegator
public static StreamExpressionsScopesGenitorDelegator scopesGenitorDelegator()
Returns a new ScopeGenitorDelegator. Delegates to the ScopeGenitors of composed languages, used for instantiating symbol tables in the context of language composition See the delegators #createFromAST method.- Returns:
- a new instance of this language's scope genitor delegator
-
_scopesGenitorDelegator
protected StreamExpressionsScopesGenitorDelegator _scopesGenitorDelegator()
-
callExpressionBuilder
public static ASTCallExpressionBuilder callExpressionBuilder()
-
fieldAccessExpressionBuilder
public static ASTFieldAccessExpressionBuilder fieldAccessExpressionBuilder()
-
plusPrefixExpressionBuilder
public static ASTPlusPrefixExpressionBuilder plusPrefixExpressionBuilder()
-
minusPrefixExpressionBuilder
public static ASTMinusPrefixExpressionBuilder minusPrefixExpressionBuilder()
-
booleanNotExpressionBuilder
public static ASTBooleanNotExpressionBuilder booleanNotExpressionBuilder()
-
logicalNotExpressionBuilder
public static ASTLogicalNotExpressionBuilder logicalNotExpressionBuilder()
-
multExpressionBuilder
public static ASTMultExpressionBuilder multExpressionBuilder()
-
divideExpressionBuilder
public static ASTDivideExpressionBuilder divideExpressionBuilder()
-
moduloExpressionBuilder
public static ASTModuloExpressionBuilder moduloExpressionBuilder()
-
plusExpressionBuilder
public static ASTPlusExpressionBuilder plusExpressionBuilder()
-
minusExpressionBuilder
public static ASTMinusExpressionBuilder minusExpressionBuilder()
-
lessEqualExpressionBuilder
public static ASTLessEqualExpressionBuilder lessEqualExpressionBuilder()
-
greaterEqualExpressionBuilder
public static ASTGreaterEqualExpressionBuilder greaterEqualExpressionBuilder()
-
lessThanExpressionBuilder
public static ASTLessThanExpressionBuilder lessThanExpressionBuilder()
-
greaterThanExpressionBuilder
public static ASTGreaterThanExpressionBuilder greaterThanExpressionBuilder()
-
equalsExpressionBuilder
public static ASTEqualsExpressionBuilder equalsExpressionBuilder()
-
notEqualsExpressionBuilder
public static ASTNotEqualsExpressionBuilder notEqualsExpressionBuilder()
-
booleanAndOpExpressionBuilder
public static ASTBooleanAndOpExpressionBuilder booleanAndOpExpressionBuilder()
-
booleanOrOpExpressionBuilder
public static ASTBooleanOrOpExpressionBuilder booleanOrOpExpressionBuilder()
-
conditionalExpressionBuilder
public static ASTConditionalExpressionBuilder conditionalExpressionBuilder()
-
bracketExpressionBuilder
public static ASTBracketExpressionBuilder bracketExpressionBuilder()
-
arrayAccessExpressionBuilder
public static ASTArrayAccessExpressionBuilder arrayAccessExpressionBuilder()
-
mCListTypeBuilder
public static ASTMCListTypeBuilder mCListTypeBuilder()
-
mCOptionalTypeBuilder
public static ASTMCOptionalTypeBuilder mCOptionalTypeBuilder()
-
mCMapTypeBuilder
public static ASTMCMapTypeBuilder mCMapTypeBuilder()
-
mCSetTypeBuilder
public static ASTMCSetTypeBuilder mCSetTypeBuilder()
-
mCBasicTypeArgumentBuilder
public static ASTMCBasicTypeArgumentBuilder mCBasicTypeArgumentBuilder()
-
mCPrimitiveTypeArgumentBuilder
public static ASTMCPrimitiveTypeArgumentBuilder mCPrimitiveTypeArgumentBuilder()
-
nameExpressionBuilder
public static ASTNameExpressionBuilder nameExpressionBuilder()
-
literalExpressionBuilder
public static ASTLiteralExpressionBuilder literalExpressionBuilder()
-
argumentsBuilder
public static ASTArgumentsBuilder argumentsBuilder()
-
mCQualifiedNameBuilder
public static ASTMCQualifiedNameBuilder mCQualifiedNameBuilder()
-
mCPackageDeclarationBuilder
public static ASTMCPackageDeclarationBuilder mCPackageDeclarationBuilder()
-
mCImportStatementBuilder
public static ASTMCImportStatementBuilder mCImportStatementBuilder()
-
mCPrimitiveTypeBuilder
public static ASTMCPrimitiveTypeBuilder mCPrimitiveTypeBuilder()
-
mCQualifiedTypeBuilder
public static ASTMCQualifiedTypeBuilder mCQualifiedTypeBuilder()
-
mCReturnTypeBuilder
public static ASTMCReturnTypeBuilder mCReturnTypeBuilder()
-
mCVoidTypeBuilder
public static ASTMCVoidTypeBuilder mCVoidTypeBuilder()
-
initMe
public static void initMe(StreamExpressionsMill a)
-
reset
public static void reset()
-
-