added comments

master
serr 2025-03-30 18:53:55 +03:00
parent aa52376507
commit 381805e980
2 changed files with 7 additions and 3 deletions

View File

@ -5,15 +5,19 @@ void yyerror(const char *s);
int yylex();
%}
// В Bison приоритет операторов определяется обратным порядком объявления
// left означает левоассоциативность, т.е. вычисление 8/2/2/2 например производится слева направо
%token NUMBER
%left '+' '-'
%left '*' '/'
%left '+' '-' // т.е. операторы в этой строке имеют более низкий приотритет
%left '*' '/' // нежели операторы в этой строке
%%
// Это правило отвечает за обработку потока выражений и вывод результатов.
input:
| input expr { printf("= %d\n", $2); }
;
// $1 - значение первого операнда, $2 - оператор, а $3 - значение второго операнда
expr: NUMBER { $$ = $1; }
| expr '+' expr { $$ = $1 + $3; }
| expr '-' expr { $$ = $1 - $3; }

View File

@ -27,7 +27,7 @@ def main():
for cmd in cmds:
try:
subprocess.run(cmd, capture_output=True, check=True)
print(f'\033[92mSuccess execute {cmd}!\033[0m')
print(f'\033[92mSuccess execute \033[0m{cmd}!')
except subprocess.CalledProcessError as e:
print(f"\033[91mError: {e}\033[0m")
#