def expand(self, start, end, context): start.connect(TypePath('user-defined')).connect(end) start.connect(zeroToOne(tnode(UNSIGNED, 'unsigned'))).connect(tnode(INTEGER,'integer')).connect(end) start.connect(zeroToOne(tnode(UNSIGNED, 'unsigned'))).connect(tnode(LONG,'long')).connect(end) start.connect(tnode(NULL, 'null')).connect(end) start.connect(tnode(BOOLEAN, 'boolean')).connect(end) start.connect(tnode(BYTE, 'byte')).connect(end) start.connect(tnode(STRING, 'string')).connect(end) start.connect(tnode(FLOAT, 'float')).connect(end) start.connect(tnode(DOUBLE, 'double')).connect(end) start.connect(tnode(POINTER, 'pointer')).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(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)