예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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)