rupython 1.0.8__py3-none-any.whl → 1.0.10__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rupython//342/225/250/320/257/342/225/244/320/220/342/225/250/342/225/241/342/225/250/342/225/233/342/225/250/342/226/222/342/225/244/320/220/342/225/250/342/226/221/342/225/250/342/225/226/342/225/250/342/225/233/342/225/250/342/226/223/342/225/250/342/226/221/342/225/244/320/222/342/225/250/342/225/241/342/225/250/342/225/227/342/225/244/320/234.py +27 -2
- {rupython-1.0.8.dist-info → rupython-1.0.10.dist-info}/METADATA +2 -2
- rupython-1.0.10.dist-info/RECORD +11 -0
- rupython-1.0.8.dist-info/RECORD +0 -11
- {rupython-1.0.8.dist-info → rupython-1.0.10.dist-info}/LICENSE +0 -0
- {rupython-1.0.8.dist-info → rupython-1.0.10.dist-info}/WHEEL +0 -0
- {rupython-1.0.8.dist-info → rupython-1.0.10.dist-info}/top_level.txt +0 -0
@@ -432,10 +432,35 @@ def Обработать_импорт(импорт, путь_к_текущему
|
|
432
432
|
файл.close()
|
433
433
|
Временные_файлы.append(путь)
|
434
434
|
|
435
|
+
def Проверить_соответствие_слов(слова, путь_к_файлу):
|
436
|
+
def Вывести_исключение(инструкция):
|
437
|
+
искл = SyntaxError('Ошибка употребления инструкции "' + инструкция + '".')
|
438
|
+
Вывести_текст_исключения(искл, 'при разборе кода', путь_к_файлу)
|
439
|
+
|
440
|
+
for сл in ('Подключить', 'Если', 'Иначе'):
|
441
|
+
for поз in [i for i, x in enumerate(слова) if x[1] == сл]:
|
442
|
+
if поз > 0 and слова[поз - 1][1] not in ('\n', '\t'):
|
443
|
+
Вывести_исключение(сл); return False
|
444
|
+
сл_ = сл.lower()
|
445
|
+
for поз in [i for i, x in enumerate(слова) if x[1] == сл_]:
|
446
|
+
if поз == 0 or слова[поз - 1][1] in ('\n', '\t'):
|
447
|
+
Вывести_исключение(сл_); return False
|
448
|
+
|
449
|
+
for поз in [i for i, x in enumerate(слова) if x[1] == 'Вернуть']:
|
450
|
+
if поз == len(слова) - 1 or слова[поз + 1][1] == '\n':
|
451
|
+
Вывести_исключение('Вернуть'); return False
|
452
|
+
|
453
|
+
for поз in [i for i, x in enumerate(слова) if x[1] == 'Возврат']:
|
454
|
+
if поз != len(слова) - 1 and слова[поз + 1][1] != '\n':
|
455
|
+
Вывести_исключение('Возврат'); return False
|
456
|
+
|
457
|
+
return True
|
458
|
+
|
435
459
|
Циклы_со_счётчиком = []
|
436
460
|
|
437
461
|
def Преобразовать_код(путь_к_файлу):
|
438
462
|
слова = list(Прочитать_слова(open(путь_к_файлу, encoding='utf-8').readline))
|
463
|
+
if not Проверить_соответствие_слов(слова, путь_к_файлу): return
|
439
464
|
|
440
465
|
# обрабатываем импорты
|
441
466
|
импорты = []
|
@@ -584,10 +609,10 @@ def Вывести_текст_исключения(исключение, заг
|
|
584
609
|
exc_traceback=исключение.__traceback__,
|
585
610
|
exc_value=исключение
|
586
611
|
).stack[-сч]
|
587
|
-
except: break
|
612
|
+
except: сч = -1; break
|
588
613
|
if искл.filename == назв_исп_ф: break
|
589
614
|
сч += 1
|
590
|
-
if
|
615
|
+
if сч != -1 and искл.filename == назв_исп_ф:
|
591
616
|
номер_строки = искл.lineno - 2
|
592
617
|
else:
|
593
618
|
try: номер_строки = исключение.lineno - 2
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: rupython
|
3
|
-
Version: 1.0.
|
3
|
+
Version: 1.0.10
|
4
4
|
Summary: Исполнитель кода Русского Питона
|
5
5
|
Description-Content-Type: text/markdown
|
6
6
|
License-File: LICENSE
|
@@ -27,7 +27,7 @@ ftype "Код на Русском Питоне"=py -m rupython "%%1" %%*
|
|
27
27
|
|
28
28
|
```
|
29
29
|
Функция НОД(*числа):
|
30
|
-
|
30
|
+
f = фун a, b: a если b == 0 иначе f(b, a % b)
|
31
31
|
Вернуть Свёртка(фун a, b: f(a, b), числа)
|
32
32
|
|
33
33
|
Функция НОК(*числа):
|
@@ -0,0 +1,11 @@
|
|
1
|
+
rupython/__main__.py,sha256=BxtsIK8PJuOOGVDKxqoscwJjjWWhZts7adicFuwUL6k,540
|
2
|
+
rupython/__Заголовочный_код__.py,sha256=H_WJDywi-x_UtBYvO2pt1cTdnixTAjHRLj4svzIz3ZI,11797
|
3
|
+
rupython/Преобразователь.py,sha256=PJb4IWA8L_6UvR3CYt2RM3kccHygy-_2ZoeLw72iVPk,36296
|
4
|
+
rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
|
5
|
+
rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
|
6
|
+
rupython/Модули/Случ.py,sha256=oeVdSdFVb4X_T-nX2P7NSIhise1zUPIS4lk7h-67XSg,2689
|
7
|
+
rupython-1.0.10.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
|
8
|
+
rupython-1.0.10.dist-info/METADATA,sha256=ffNgjZIWNCUuMdEWZiCdWSfQ-vZEhY6M2WYRpgL1Ov0,13487
|
9
|
+
rupython-1.0.10.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
10
|
+
rupython-1.0.10.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
11
|
+
rupython-1.0.10.dist-info/RECORD,,
|
rupython-1.0.8.dist-info/RECORD
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
rupython/__main__.py,sha256=BxtsIK8PJuOOGVDKxqoscwJjjWWhZts7adicFuwUL6k,540
|
2
|
-
rupython/__Заголовочный_код__.py,sha256=H_WJDywi-x_UtBYvO2pt1cTdnixTAjHRLj4svzIz3ZI,11797
|
3
|
-
rupython/Преобразователь.py,sha256=AatNjSqDH2vKOq_4AlGvvpMq3qSxIVBORJB_za3lzcM,34684
|
4
|
-
rupython/Модули/Матем.py,sha256=d8ekm7GJreu7LJ9KmAKcTOciIUQ-VBI567BfK_QeLSc,3587
|
5
|
-
rupython/Модули/РегВыр.py,sha256=yeXYfeDF2qw4DSKVdZVSFInMUW52U7Nq_KOJKvm4XnM,6349
|
6
|
-
rupython/Модули/Случ.py,sha256=oeVdSdFVb4X_T-nX2P7NSIhise1zUPIS4lk7h-67XSg,2689
|
7
|
-
rupython-1.0.8.dist-info/LICENSE,sha256=iWzdt1wyTlK8qNSu7TzK8pjjIcCvLvWHycp7ACRcWEc,59
|
8
|
-
rupython-1.0.8.dist-info/METADATA,sha256=c5QYnjYXH9F_M2kN5MPNrPZmSBdmoTTCiUGlBms6x_Q,13489
|
9
|
-
rupython-1.0.8.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
10
|
-
rupython-1.0.8.dist-info/top_level.txt,sha256=GtXaS8JTsBm5hpQxxtQlrxK6rExvSAK_Cp44FrY4210,9
|
11
|
-
rupython-1.0.8.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|