def prop_expand(start, end, context): start_ = connector() end_ = connector() start.connect(tnode(PROPERTY)).connect(ComposedId("name")).connect(tnode(BRACE_OPEN)).connect(start_) descr = sequence(tnode(DESCRIPTION), tnode(COLON), tnode(LITERAL, "description"), tnode(SEMICOLON)) auto = sequence(tnode(AUTO_CREATE, "auto"), tnode(SEMICOLON)) switch = Switch( { TYPE: _PropType("type"), ACCESS: _Access("access"), DESCRIPTION: descr, GTYPE: _PropGType("gtype"), PROP_MAX: _PropMax("max"), PROP_MIN: _PropMin("min"), PROP_DEFAULT: _PropDefault("default"), AUTO_CREATE: auto, } ) start_.connect(switch).connect(start_) start_.connect(end_) end_.connect(tnode(BRACE_CLOSE)).connect(end)
def expand(self, start, end, context): start_ = connector() branches = {} branches[PARAMETER] = Parameter('parameter') branches[RESULT] = Result('result') if not context.getEnvVar('INTERFACE'): branches[VISI] = Visibility('visi') branches[INHERITANCE] = Inheritance('inh') branches[SCOPE] = Scope('scope') start\ .connect(tnode(METHOD))\ .connect(tnode(ID, 'name'))\ .connect(tnode(BRACE_OPEN))\ .connect(start_) start_.connect(Switch(branches)).connect(start_) start_\ .connect(zeroToOne(sequence(tnode(FURTHER_PARAMETERS, 'further_params'), tnode(SEMICOLON))))\ .connect(tnode(BRACE_CLOSE))\ .connect(end)
def expand(self, start, end, context): seq = sequence(tnode(DASH), tnode(ID)) start\ .connect(tnode(ID))\ .connect(zeroToMany(seq))\ .connect(end)
def expand(self, start, end, context): seq = sequence(tnode(ID), tnode(NAMESPACE_SEP)) start\ .connect(zeroToOne(tnode(NAMESPACE_ROOT_SEP)))\ .connect(zeroToMany(seq))\ .connect(tnode(ID))\ .connect(end)
def expand(self, start, end, context): modifiers = sequence(tnode(MODIFIERS, 'modifiers'), tnode(COLON), tnode(CONST, 'const'), tnode(SEMICOLON) ) start\ .connect(tnode(RESULT))\ .connect(tnode(BRACE_OPEN))\ .connect(Type('type'))\ .connect(zeroToOne(modifiers))\ .connect(tnode(BRACE_CLOSE))\ .connect(end)