Package eu.bandm.tools.lljava.parser
Class LLJavaParser
java.lang.Object
eu.bandm.tools.lljava.parser.LLJavaGrammar
eu.bandm.tools.lljava.parser.LLJavaParser
-
Field Summary
Fields inherited from class eu.bandm.tools.lljava.parser.LLJavaGrammar
abstractMethodBody, annotation, annotationValue, arrayExpr, baseType, block, booleanLiteral, castInstruction, charLiteral, classAnnotationValue, classDeclarator, classDefinition, classLiteral, classReference, classType, cmpInstruction, cmpOperator, codeMethodBody, condition, constantAnnotationValue, defaultMethodBody, dimensionExpr, doubleLiteral, enumAnnotationValue, exceptions, fieldDefinition, fieldReference, floatLiteral, getInstruction, gotoInstruction, gotoInterval, gotoReference, greedy, id, incInstruction, initializer, instanceofInstruction, intLiteral, invisibleAnnotation, invokeInstruction, invokeInstructionNonrecursive, label, literal, loadable, loadArgument, loadInstruction, localName, localVariable, longLiteral, main, memberDefinition, memberDynamicName, memberFullName, memberStaticName, methodBody, methodDefinition, methodHandle, methodHandleTarget, methodParameter, methodParameters, methodReference, methodReferenceNonrecursive, methodReferenceParameter, methodType, modifier, modifierExpr, modifiers, newInstruction, nullLiteral, operator, primitiveType, primitiveTypeExpr, putInstruction, qualId, qualifier, result, returnsResult, simpleModifierExpr, storeArgument, storeInstruction, stringLiteral, superclass, superinterfaces, thisExpr, type, typeParameter, typeParameters, variableReference, voidResult
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected LLJava.Annotation
annotation
(Reducer.Context<SourceId> context, LLJava.QualId name, List<Map.Entry<LLJava.Id, LLJava.AnnotationValue>> elems) protected LLJava.Block
block
(Reducer.Context<SourceId> context, List<LLJava.Statement> statements) protected LLJava.Cast
castInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr type) protected LLJava.Handler
catchHandler
(Reducer.Context<SourceId> context, List<LLJava.Label> prefixLabels, Optional<LLJava.ClassReference> type, List<LLJava.Label> infixLabels, LLJava.CodePoint body) protected LLJava.CharLiteral
charLiteral
(Reducer.Context<SourceId> context, String text) protected LLJava.Class
classDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.QualId name, List<LLJava.TypeParameter> typeParameters, LLJava.ClassReference superclass, List<LLJava.ClassReference> interfaces, List<LLJava.Member> members) protected LLJava.ClassTypeExpr
classType
(Reducer.Context<SourceId> context, LLJava.QualId name, List<LLJava.TypeArgument> arguments) protected LLJava.Cmp
cmpInstruction
(Reducer.Context<SourceId> context, Optional<Boolean> greater) protected LLJava.CodeMethodBody
codeMethodBody
(Reducer.Context<SourceId> context, LLJava.Block block) protected LLJava.Condition
condition
(Reducer.Context<SourceId> context, LLJavaLexer.TokenType operator, LLJava.LoadArgument operand) protected LLJava.DimensionExpr
dimensionExpr
(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, boolean specified) protected LLJava.DoubleLiteral
doubleLiteral
(Reducer.Context<SourceId> context, String text) protected LLJava.DynamicExpr
dynamicReference
(Reducer.Context<SourceId> context, LLJava.TypeExpr type, LLJava.MemberDynamicName fullName) protected LLJava.ReferenceTypeExpr
ensureReferenceType
(MessageReceiver<? super SimpleMessage<SourceId>> msgs, Location<SourceId> location, LLJava.TypeExpr type) protected LLJava.ReferenceTypeExpr
ensureReferenceType
(Reducer.Context<SourceId> context, LLJava.TypeExpr type) protected LLJava.Field
fieldDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, LLJava.Id name, Optional<LLJava.Literal> initializer) protected LLJava.FloatLiteral
floatLiteral
(Reducer.Context<SourceId> context, String text) protected LLJava.Get
getInstruction
(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) protected LLJava.Goto
gotoInstruction
(Reducer.Context<SourceId> context, LLJava.GotoPoint target) protected LLJava.GotoInterval
gotoInterval
(Reducer.Context<SourceId> context, LLJava.Name start, Optional<LLJava.Name> end) protected LLJava.Id
id
(Reducer.Context<SourceId> context, String text) protected LLJava.If
ifInstruction
(Reducer.Context<SourceId> context, boolean negative, LLJava.Condition condition, LLJava.CodePoint target) protected LLJava.Inc
incInstruction
(Reducer.Context<SourceId> context, LLJava.VariableRef target, int increment) protected LLJava.Instanceof
instanceofInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr type) protected LLJava.IntLiteral
intLiteral
(Reducer.Context<SourceId> context, String text) protected LLJava.Annotation
invisible
(Reducer.Context<SourceId> context, LLJava.Annotation annotation) protected LLJava.Invoke
invokeInstruction
(Reducer.Context<SourceId> context, Void dummy, List<LLJava.ModifierExpr> modifiers, LLJava.MethodReference ref) protected LLJava.Load
loadInstruction
(Reducer.Context<SourceId> context, LLJava.LoadArgument argument) protected LLJava.LongLiteral
longLiteral
(Reducer.Context<SourceId> context, String text) protected LLJava.MemberDynamicName
memberDynamicName
(Reducer.Context<SourceId> context, LLJava.MethodHandleExpr factory, List<LLJava.LoadableExpr> bootstrapArguments, LLJava.Id name) protected LLJava.MemberStaticName
memberStaticName
(Reducer.Context<SourceId> context, LLJava.QualId fullName) protected LLJava.Method
methodDefinition
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, List<LLJava.TypeParameter> typeParameters, LLJava.ResultExpr returnType, LLJava.Id name, List<LLJava.Parameter> parameters, List<LLJava.ClassReference> exceptions, LLJava.MethodBody body) protected LLJava.MethodHandleExpr
methodHandle
(Reducer.Context<SourceId> context, LLJava.MethodHandleTarget target) protected LLJava.Parameter
methodParameter
(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, Optional<LLJava.Name> name) protected LLJava.MethodReference
methodReference
(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, LLJava.MemberFullName name, List<LLJava.MethodReferenceParameter> params) protected LLJava.MethodTypeExpr
methodType
(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, List<LLJava.TypeExpr> parameters) protected LLJava.New
newInstruction
(Reducer.Context<SourceId> context, LLJava.TypeExpr baseType, List<LLJava.DimensionExpr> dimensions) protected LLJava.Put
putInstruction
(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) protected LLJava.QualId
qualId
(Reducer.Context<SourceId> context, List<LLJava.Id> parts) protected LLJava.Instruction
protected LLJava.Instruction
simpleInstruction
(Reducer.Context<SourceId> context, LLJavaLexer.TokenType type) protected LLJava.Store
storeInstruction
(Reducer.Context<SourceId> context, LLJava.StoreArgument argument) protected LLJava.StringLiteral
stringLiteral
(Reducer.Context<SourceId> context, List<String> text) protected LLJava.Case
switchCase
(Reducer.Context<SourceId> context, List<Optional<LLJava.IntLiteral>> labels, LLJava.CodePoint target) protected LLJava.Switch
switchInstruction
(Reducer.Context<SourceId> context, List<LLJava.Case> cases) protected LLJava.Try
tryInstruction
(Reducer.Context<SourceId> context, LLJava.CodeInterval body, List<LLJava.Handler> handlers) protected LLJava.TypeExpr
type
(Reducer.Context<SourceId> context, LLJava.TypeExpr base, List<LLJava.DimensionExpr> dimensions) protected LLJava.TypeParameter
typeParameter
(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, LLJava.Id name, Optional<LLJava.UpperTypeBound> bound) Methods inherited from class eu.bandm.tools.lljava.parser.LLJavaGrammar
angle, annotation, annotationValue, annotationValue, arrayAnnotationValue, block, brace, bracket, catchHandler, check, classType, codeInterval, codeReference, comma, command, command, constant, dynamicReference, elementValuePair, elementValuePairs, flag, ifInstruction, inlineInterval, inlineReference, instruction, loadable, locate, locate, lowerTypeBound, memberDynamicName, nestedAnnotationValue, paren, simple, simple, simple, simpleAnnotation, statement, switchCase, switchInstruction, tryInstruction, typeArgument, typeArguments, typeBound, unparsedLiteral, unparsedLiteralText, upperTypeBound, wildcard
-
Constructor Details
-
LLJavaParser
public LLJavaParser()
-
-
Method Details
-
storeInstruction
protected LLJava.Store storeInstruction(Reducer.Context<SourceId> context, LLJava.StoreArgument argument) - Specified by:
storeInstruction
in classLLJavaGrammar
-
loadInstruction
protected LLJava.Load loadInstruction(Reducer.Context<SourceId> context, LLJava.LoadArgument argument) - Specified by:
loadInstruction
in classLLJavaGrammar
-
getInstruction
protected LLJava.Get getInstruction(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) - Specified by:
getInstruction
in classLLJavaGrammar
-
putInstruction
protected LLJava.Put putInstruction(Reducer.Context<SourceId> context, Void dummy, boolean statically, LLJava.FieldReference field) - Specified by:
putInstruction
in classLLJavaGrammar
-
memberStaticName
protected LLJava.MemberStaticName memberStaticName(Reducer.Context<SourceId> context, LLJava.QualId fullName) - Specified by:
memberStaticName
in classLLJavaGrammar
-
memberDynamicName
protected LLJava.MemberDynamicName memberDynamicName(Reducer.Context<SourceId> context, LLJava.MethodHandleExpr factory, List<LLJava.LoadableExpr> bootstrapArguments, LLJava.Id name) - Specified by:
memberDynamicName
in classLLJavaGrammar
-
methodReference
protected LLJava.MethodReference methodReference(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, LLJava.MemberFullName name, List<LLJava.MethodReferenceParameter> params) - Specified by:
methodReference
in classLLJavaGrammar
-
invokeInstruction
protected LLJava.Invoke invokeInstruction(Reducer.Context<SourceId> context, Void dummy, List<LLJava.ModifierExpr> modifiers, LLJava.MethodReference ref) - Specified by:
invokeInstruction
in classLLJavaGrammar
-
condition
protected LLJava.Condition condition(Reducer.Context<SourceId> context, LLJavaLexer.TokenType operator, LLJava.LoadArgument operand) - Specified by:
condition
in classLLJavaGrammar
-
ifInstruction
protected LLJava.If ifInstruction(Reducer.Context<SourceId> context, boolean negative, LLJava.Condition condition, LLJava.CodePoint target) - Specified by:
ifInstruction
in classLLJavaGrammar
-
switchCase
protected LLJava.Case switchCase(Reducer.Context<SourceId> context, List<Optional<LLJava.IntLiteral>> labels, LLJava.CodePoint target) - Specified by:
switchCase
in classLLJavaGrammar
-
switchInstruction
protected LLJava.Switch switchInstruction(Reducer.Context<SourceId> context, List<LLJava.Case> cases) - Specified by:
switchInstruction
in classLLJavaGrammar
-
castInstruction
- Specified by:
castInstruction
in classLLJavaGrammar
-
instanceofInstruction
protected LLJava.Instanceof instanceofInstruction(Reducer.Context<SourceId> context, LLJava.TypeExpr type) - Specified by:
instanceofInstruction
in classLLJavaGrammar
-
ensureReferenceType
protected LLJava.ReferenceTypeExpr ensureReferenceType(Reducer.Context<SourceId> context, LLJava.TypeExpr type) -
ensureReferenceType
protected LLJava.ReferenceTypeExpr ensureReferenceType(MessageReceiver<? super SimpleMessage<SourceId>> msgs, Location<SourceId> location, LLJava.TypeExpr type) -
newInstruction
protected LLJava.New newInstruction(Reducer.Context<SourceId> context, LLJava.TypeExpr baseType, List<LLJava.DimensionExpr> dimensions) - Specified by:
newInstruction
in classLLJavaGrammar
-
gotoInterval
protected LLJava.GotoInterval gotoInterval(Reducer.Context<SourceId> context, LLJava.Name start, Optional<LLJava.Name> end) - Specified by:
gotoInterval
in classLLJavaGrammar
-
catchHandler
protected LLJava.Handler catchHandler(Reducer.Context<SourceId> context, List<LLJava.Label> prefixLabels, Optional<LLJava.ClassReference> type, List<LLJava.Label> infixLabels, LLJava.CodePoint body) - Specified by:
catchHandler
in classLLJavaGrammar
-
tryInstruction
protected LLJava.Try tryInstruction(Reducer.Context<SourceId> context, LLJava.CodeInterval body, List<LLJava.Handler> handlers) - Specified by:
tryInstruction
in classLLJavaGrammar
-
gotoInstruction
- Specified by:
gotoInstruction
in classLLJavaGrammar
-
incInstruction
protected LLJava.Inc incInstruction(Reducer.Context<SourceId> context, LLJava.VariableRef target, int increment) - Specified by:
incInstruction
in classLLJavaGrammar
-
cmpInstruction
- Specified by:
cmpInstruction
in classLLJavaGrammar
-
simpleInstruction
protected LLJava.Instruction simpleInstruction(Reducer.Context<SourceId> context, LLJavaLexer.TokenType type) - Specified by:
simpleInstruction
in classLLJavaGrammar
-
simpleInstruction
-
block
- Specified by:
block
in classLLJavaGrammar
-
codeMethodBody
protected LLJava.CodeMethodBody codeMethodBody(Reducer.Context<SourceId> context, LLJava.Block block) - Specified by:
codeMethodBody
in classLLJavaGrammar
-
qualId
- Specified by:
qualId
in classLLJavaGrammar
-
dimensionExpr
protected LLJava.DimensionExpr dimensionExpr(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, boolean specified) - Specified by:
dimensionExpr
in classLLJavaGrammar
-
type
protected LLJava.TypeExpr type(Reducer.Context<SourceId> context, LLJava.TypeExpr base, List<LLJava.DimensionExpr> dimensions) - Specified by:
type
in classLLJavaGrammar
-
typeParameter
protected LLJava.TypeParameter typeParameter(Reducer.Context<SourceId> context, List<LLJava.Annotation> annotations, LLJava.Id name, Optional<LLJava.UpperTypeBound> bound) - Specified by:
typeParameter
in classLLJavaGrammar
-
annotation
protected LLJava.Annotation annotation(Reducer.Context<SourceId> context, LLJava.QualId name, List<Map.Entry<LLJava.Id, LLJava.AnnotationValue>> elems) - Specified by:
annotation
in classLLJavaGrammar
-
invisible
protected LLJava.Annotation invisible(Reducer.Context<SourceId> context, LLJava.Annotation annotation) - Specified by:
invisible
in classLLJavaGrammar
-
classType
protected LLJava.ClassTypeExpr classType(Reducer.Context<SourceId> context, LLJava.QualId name, List<LLJava.TypeArgument> arguments) - Specified by:
classType
in classLLJavaGrammar
-
methodParameter
protected LLJava.Parameter methodParameter(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, Optional<LLJava.Name> name) - Specified by:
methodParameter
in classLLJavaGrammar
-
classDefinition
protected LLJava.Class classDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.QualId name, List<LLJava.TypeParameter> typeParameters, LLJava.ClassReference superclass, List<LLJava.ClassReference> interfaces, List<LLJava.Member> members) - Specified by:
classDefinition
in classLLJavaGrammar
-
fieldDefinition
protected LLJava.Field fieldDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, LLJava.TypeExpr type, LLJava.Id name, Optional<LLJava.Literal> initializer) - Specified by:
fieldDefinition
in classLLJavaGrammar
-
methodDefinition
protected LLJava.Method methodDefinition(Reducer.Context<SourceId> context, List<LLJava.ModifierExpr> modifiers, List<LLJava.TypeParameter> typeParameters, LLJava.ResultExpr returnType, LLJava.Id name, List<LLJava.Parameter> parameters, List<LLJava.ClassReference> exceptions, LLJava.MethodBody body) - Specified by:
methodDefinition
in classLLJavaGrammar
-
intLiteral
- Specified by:
intLiteral
in classLLJavaGrammar
-
longLiteral
- Specified by:
longLiteral
in classLLJavaGrammar
-
floatLiteral
- Specified by:
floatLiteral
in classLLJavaGrammar
-
doubleLiteral
- Specified by:
doubleLiteral
in classLLJavaGrammar
-
charLiteral
- Specified by:
charLiteral
in classLLJavaGrammar
-
stringLiteral
- Specified by:
stringLiteral
in classLLJavaGrammar
-
methodHandle
protected LLJava.MethodHandleExpr methodHandle(Reducer.Context<SourceId> context, LLJava.MethodHandleTarget target) - Specified by:
methodHandle
in classLLJavaGrammar
-
methodType
protected LLJava.MethodTypeExpr methodType(Reducer.Context<SourceId> context, LLJava.ResultExpr returnType, List<LLJava.TypeExpr> parameters) - Specified by:
methodType
in classLLJavaGrammar
-
dynamicReference
protected LLJava.DynamicExpr dynamicReference(Reducer.Context<SourceId> context, LLJava.TypeExpr type, LLJava.MemberDynamicName fullName) - Specified by:
dynamicReference
in classLLJavaGrammar
-
id
- Specified by:
id
in classLLJavaGrammar
-