diff --git a/lab2.py b/lab2.py new file mode 100644 index 0000000000000000000000000000000000000000..a21abaa6467aa1fd0ea970b40c36ec99194a343b --- /dev/null +++ b/lab2.py @@ -0,0 +1,41 @@ +def analyzer(line): + dict = { + "OP": ["+","-","*"], + "DIV": "div", + "MOD": "mod", + "LPAR": "(", + "RPAR": ")", + "SEMICOLON":";", + } + for i in line: + if i == "//": + break + elif i.isnumeric(): + print("NUM:"+i) + elif i not in ["+","-","*","div","mod","(",")",";"] and isinstance(i,str): + print("ID: "+i) + else: + for key,val in dict.items(): + if i in val: + if i in ["div","mod","(",")",";"]: + print(key) + else: + print(key+":"+i) + + +def valid(line): + st = line.replace("(","( ") + st = st.replace(")"," ) ") + st = st.replace("-","- ") + check = st.split(" ") + check = [item for item in check if item != ''] + return check + + +file = open('file.txt', 'r') + +Lines = file.readlines() +for l in Lines: + line = valid(l) + analyzer(line) +file.close() \ No newline at end of file