Lines Matching refs:self
36 def __init__(self, file_name, token_type, value):
37 self.token_type = token_type
38 self.value = value
39 self.row = 1
40 self.col = 1
41 self.file_name = file_name
43 def clean(self):
44 self.token_type = TokenType.UNKNOWN
45 self.value = ""
46 self.row = 1
47 self.col = 1
49 def dump(self):
50 return "<{}:{}:{}: {},'{}'>".format(self.file_name, self.row, self.col,
51 self.token_type, self.value)
53 def info(self):
54 return "{}:{}:{}".format(self.file_name, self.row, self.col)
58 def __init__(self, is_eof, char):
59 self.is_eof = is_eof
60 self.char = char
62 def dump(self):
63 return "{%s, %s}" % (self.is_eof, self.char)
74 def __init__(self, idl_file_path):
75 self.have_peek = False
78 self.data = file_info
79 self.data_len = len(self.data)
80 self.read_index = 0
81 self.cur_token = Token(os.path.basename(idl_file_path),
83 self.cur_row = 1
84 self.cur_col = 1
86 def peek_char(self, peek_count=0):
87 index = self.read_index + peek_count
88 if index >= self.data_len:
90 return Char(False, self.data[index])
92 def get_char(self):
93 if self.read_index >= self.data_len:
95 read_index = self.read_index
96 self.read_index += 1
97 if self.data[read_index] == '\n':
98 self.cur_row += 1
99 self.cur_col = 1
101 self.cur_col += 1
102 return Char(False, self.data[read_index])
104 def peek_token(self):
105 if not self.have_peek:
106 self.read_token()
107 self.have_peek = True
108 return self.cur_token
110 def get_token(self):
111 if not self.have_peek:
112 self.read_token()
113 self.have_peek = False
114 return self.cur_token
116 def read_token(self):
117 self.cur_token.clean()
118 while not self.peek_char().is_eof:
119 new_char = self.peek_char()
121 self.get_char()
123 self.cur_token.row = self.cur_row
124 self.cur_token.col = self.cur_col
126 self.read_id()
129 self.read_comment()
131 self.cur_token.value = new_char.char
132 self.cur_token.token_type = TokenType.UNKNOWN
133 self.get_char()
135 self.cur_token.token_type = TokenType.END_OF_FILE
137 def read_id(self):
139 token_value.append(self.get_char().char)
140 while not self.peek_char().is_eof:
141 new_char = self.peek_char()
145 self.get_char()
149 if key in self._key_words.keys():
150 self.cur_token.token_type = self._key_words[key]
152 self.cur_token.token_type = TokenType.ID
153 self.cur_token.value = key
155 def read_comment(self):
157 token_value.append(self.get_char().char)
158 new_char = self.peek_char()
161 self.read_line_comment(token_value)
164 self.read_block_comment(token_value)
166 self.cur_token.token_type = TokenType.UNKNOWN
167 self.cur_token.value = "".join(token_value)
169 def read_line_comment(self, token_value):
170 token_value.append(self.get_char().char)
171 while not self.peek_char().is_eof:
172 new_char = self.get_char()
176 self.cur_token.token_type = TokenType.COMMENT
177 self.cur_token.value = "".join(token_value)
179 def read_block_comment(self, token_value):
181 token_value.append(self.get_char().char)
182 while not self.peek_char().is_eof:
183 new_char = self.get_char()
185 if new_char.char == '*' and self.peek_char().char == '/':
186 token_value.append(self.get_char().char)
190 self.cur_token.token_type = TokenType.COMMENT
192 self.cur_token.token_type = TokenType.UNKNOWN
193 self.cur_token.value = value
295 def __init__(self, path):
296 self.package = ""
297 self.idl_type = IdlType.TYPES
298 self.imports = []
299 self.file_path = path
301 self.file_name = os.path.basename(self.file_path)
302 self.name = self.file_name.split('.')[0]
305 def full_name(self):
306 return "{}.{}".format(self.package, self.name)
308 def dump(self):
310 "package": self.package,
311 "type": self.idl_type,
312 "imports": self.imports,
313 "path": self.file_path
319 def parse(self, ):
322 self.parse_c_idl_files(all_idl_details)
323 self.parse_deps(all_idl_details)
324 self.parse_module_info(all_idl_details)
328 idl_detail = self.parse_one(idl_file)
330 self.parse_deps(all_idl_details)
331 self.parse_module_info(all_idl_details)
333 def parse_one(self, file_path):
339 self.parse_package(lex, cur_idl_detail)
341 self.parse_import(lex, cur_idl_detail)
346 self.parse_interface(lex, cur_idl_detail)
351 def parse_c_idl_files(self, all_idl_details):
361 self.parse_c_idl_files_import(cur_idl_file, idl_queue)
363 idl_detail = self.parse_one(idl_file)
365 self.merged_idl_details(all_idl_details)
367 def parse_c_idl_files_import(self, file_path, idl_queue):
381 def update_imports(self, all_idl_details, idl_detail, merged_details):
401 def merged_idl_details(self, all_idl_details):
403 source_idl_detail = self.parse_one(Option.idl_sources[0])
408 self.update_imports(all_idl_details, idl_detail, merged_details)
413 def parse_package(self, lex, cur_idl_detail):
420 if not self.parse_version(token.value, cur_idl_detail):
424 def parse_version(self, package_name, cur_idl_detail):
434 def parse_import(self, lex, cur_idl_detail):
442 def parse_interface(self, lex, cur_idl_detail):
457 def parse_deps(self, all_idl_details):
459 self.query_and_update_idl_type(idl_detail, all_idl_details)
462 def query_and_update_idl_type(self, idl_detail, all_idl_details):
466 if self.imported_by_other_idl(idl_detail, other_detail) and idl_detail.idl_type == IdlType.INTERFACE:
470 def imported_by_other_idl(self, idl_detail, other_detail):
476 def parse_module_info(self, all_idl_details):
481 self.parse_sources(all_idl_details, generator)
484 def parse_sources(self, all_idl_details, generator):
663 def gen_code(self, idl_detail):
669 def gen_code(self, idl_detail):
670 file_dir = self.get_source_file_dir(idl_detail.package)
672 interface_name, _, _, service_name, driver_name, types_name = self.get_file_names(idl_detail)
674 header_file = self.header_file(file_dir, types_name)
677 header_file = self.header_file(file_dir, interface_name)
678 service_header_file = self.header_file(file_dir, service_name)
679 service_source_file = self.c_source_file(file_dir, service_name)
680 driver_source_file = self.c_source_file(file_dir, driver_name)
686 def gen_code(self, idl_detail):
687 file_dir = self.get_source_file_dir(idl_detail.package)
689 interface_name, _, _, service_name, driver_name, types_name = self.get_file_names(idl_detail)
691 header_file = self.header_file(file_dir, types_name)
694 header_file = self.header_file(file_dir, interface_name)
695 service_header_file = self.header_file(file_dir, service_name)
696 service_source_file = self.cpp_source_file(file_dir, service_name)
697 driver_source_file = self.cpp_source_file(file_dir, driver_name)
704 def gen_code(self, idl_detail):
705 file_dir = self.get_source_file_dir(idl_detail.package)
709 interface_name, proxy_name, stub_name, service_name, driver_name, types_name = self.get_file_names(
712 header_file = self.header_file(file_dir, types_name)
713 source_file = self.c_source_file(file_dir, types_name)
720 iface_header_file = self.header_file(file_dir, interface_name)
721 proxy_source_file = self.c_source_file(file_dir, proxy_name)
722 stub_header_file = self.header_file(file_dir, stub_name)
723 stub_source_file = self.c_source_file(file_dir, stub_name)
724 service_header_file = self.header_file(file_dir, service_name)
725 service_source_file = self.c_source_file(file_dir, service_name)
726 driver_source_file = self.c_source_file(file_dir, driver_name)
740 def gen_code(self, idl_detail):
741 file_dir = self.get_source_file_dir(idl_detail.package)
745 interface_name, proxy_name, _, service_name, _, types_name = self.get_file_names(
748 iface_header_file = self.header_file(file_dir, interface_name)
749 proxy_source_file = self.c_source_file(file_dir, proxy_name)
750 service_header_file = self.header_file(file_dir, service_name)
751 service_source_file = self.c_source_file(file_dir, service_name)
752 types_header_file = self.header_file(file_dir, types_name)
772 def gen_code(self, idl_detail):
773 file_dir = self.get_source_file_dir(idl_detail.package)
777 interface_name, proxy_name, _, service_name, _, types_name = self.get_file_names(
779 iface_header_file = self.header_file(file_dir, interface_name)
780 proxy_source_file = self.cpp_source_file(file_dir, proxy_name)
781 service_header_file = self.header_file(file_dir, service_name)
782 service_source_file = self.cpp_source_file(file_dir, service_name)
783 types_header_file = self.header_file(file_dir, types_name)
805 def gen_code(self, idl_detail):
806 file_dir = self.get_source_file_dir(idl_detail.package)
810 interface_name, proxy_name, stub_name, service_name, driver_name, types_name = self.get_file_names(
812 iface_header_file = self.header_file(file_dir, interface_name)
813 proxy_source_file = self.c_source_file(file_dir, proxy_name)
814 stub_header_file = self.header_file(file_dir, stub_name)
815 stub_source_file = self.c_source_file(file_dir, stub_name)
816 service_header_file = self.header_file(file_dir, service_name)
817 service_source_file = self.c_source_file(file_dir, service_name)
818 driver_source_file = self.c_source_file(file_dir, driver_name)
819 types_header_file = self.header_file(file_dir, types_name)
820 types_source_file = self.c_source_file(file_dir, types_name)
853 def gen_code(self, idl_detail):
854 file_dir = self.get_source_file_dir(idl_detail.package)
858 interface_name, proxy_name, stub_name, service_name, driver_name, types_name = self.get_file_names(
860 iface_header_file = self.header_file(file_dir, interface_name)
861 proxy_header_file = self.header_file(file_dir, proxy_name)
862 proxy_source_file = self.cpp_source_file(file_dir, proxy_name)
863 stub_header_file = self.header_file(file_dir, stub_name)
864 stub_source_file = self.cpp_source_file(file_dir, stub_name)
865 service_header_file = self.header_file(file_dir, service_name)
866 service_source_file = self.cpp_source_file(file_dir, service_name)
867 driver_source_file = self.cpp_source_file(file_dir, driver_name)
868 types_header_file = self.header_file(file_dir, types_name)
869 types_source_file = self.cpp_source_file(file_dir, types_name)