コード例 #1
0
ファイル: haskell_emitter.py プロジェクト: keyme/xbvc
    def generate_source(self, commspec, targets):
        self.cs = commspec
        self._annotate_messages()

        return [
            self._generate_data(),
            self._generate_core(),
            SourceFile('Cobs.hs', self.expand_template('Cobs.hs')),
            SourceFile('Bitvec.hs', self.expand_template('Bitvec.hs')),
        ]
コード例 #2
0
ファイル: haskell_emitter.py プロジェクト: keyme/xbvc
 def _generate_core(self):
     src = self.expand_template(
         'haskell_core.jinja2', {
             'messages': self.cs.messages,
             'enumerations': self.cs.enums,
             'msg_name_list': _gen_msg_name_list(self.cs.messages)
         })
     return SourceFile('XBVC.hs', src)
コード例 #3
0
ファイル: c_emitter.py プロジェクト: keyme/xbvc
 def _generate_encoder_decoder(self):
     content = self.expand_template(
         'c_interface.jinja2', {
             'msgs': self.all_msgs,
             'dec_msgs': self.dec_msgs,
             'enc_msgs': self.enc_msgs
         })
     return SourceFile('xbvc_core.c', content)
コード例 #4
0
ファイル: c_emitter.py プロジェクト: keyme/xbvc
    def _generate_header_file(self):
        # message ids
        protos = [
            self._generate_handler_prototype(x.name) for x in self.dec_msgs
        ]
        header_vars = {
            'enumerations': self.cs.enums,
            'prototypes': protos,
            'msgs': self.all_msgs,
        }

        header_content = self.expand_template('c_header.jinja2', header_vars)

        return SourceFile('xbvc_core.h', header_content)
コード例 #5
0
ファイル: nim_emitter.py プロジェクト: shonfeder/xbvc
 def _generate_interface(self):
     src = self.expand_template('nim_interface.jinja2', {
         'messages': self.cs.messages,
         'enumerations': self.cs.enums
     })
     return SourceFile('xbvc.nim', src)
コード例 #6
0
 def _generate_interface(self):
     src = self.expand_template('py_interface.jinja2',
                                {'messages': self.cs.messages})
     return SourceFile('xbvc_py.py', src)
コード例 #7
0
 def _retrieve_cobs(self):
     return SourceFile('cobs.py', self.expand_template('cobs.py'))
コード例 #8
0
ファイル: haskell_emitter.py プロジェクト: keyme/xbvc
 def _generate_data(self):
     src = self.expand_template('haskell_data.jinja2', {
         'messages': self.cs.messages,
         'enumerations': self.cs.enums
     })
     return SourceFile('Data.hs', src)
コード例 #9
0
ファイル: c_emitter.py プロジェクト: keyme/xbvc
 def _retrieve_cobs_files(self):
     header = SourceFile('cobs.h', self.expand_template('cobs.h'))
     src = SourceFile('cobs.c', self.expand_template('cobs.c'))
     return [header, src]