Mercurial > hg > CbC > old > CbC_scripts
changeset 14:af04833f7667
context_creator: create UniqueData ID
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 06 Oct 2015 18:49:20 +0900 |
parents | 9bea91fdd283 |
children | ea6c94f9840a |
files | context_creator/context_creator.py |
diffstat | 1 files changed, 15 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/context_creator/context_creator.py Mon Oct 05 16:50:37 2015 +0900 +++ b/context_creator/context_creator.py Tue Oct 06 18:49:20 2015 +0900 @@ -24,22 +24,28 @@ return parser.parse_args() -# parse input file and create meta connection list +# parse input file and create context def create_context(lines, file): code_list = [] + data_list = [] for l in lines: - # get code segment name except for stub and meta + # allocate code segment and data segment ID except for stub and meta if re.search(r"^ *__code",l) is not None: regexed_l = re.search(r"[a-zA-Z0-9_]+ *\(",l) cs_name = regexed_l.group(0).rstrip('(') if re.search(r"^ *meta_*|stub$",cs_name) is None: code_list.append(cs_name.capitalize()) - + args = l.split('(')[1].rsplit(')')[0].strip().split(',') + for arg in args: + a = arg.split() + aset = [a[0].strip(' *'),a[1].strip(' *')] + if a[-1].strip() != 'context' and aset not in data_list: + data_list.append(aset) - write_context(code_list, file) + write_context(code_list, data_list, file) -def write_context(code_list, file): +def write_context(code_list, data_list, file): file.write('/*-- created by script --*/\n') file.write('enum Code {\n') for c in code_list: @@ -47,6 +53,10 @@ file.write(' Exit,\n') file.write('};\n') + file.write('eunm UniqueData {\n') + for d in data_list: + file.write(' {0:s},\n'.format(d[1].capitalize())) + file.write('};\n') def main(): args = get_args()