GassaFM / interpr

Toy language to learn parallel computing
MIT License
5 stars 4 forks source link

Ифы плохо работают #15

Closed vladloh closed 4 years ago

vladloh commented 4 years ago

Такой код запускается:

function sum (id, pr, n, a):
    q := 0
    if 1:
        if 2:
            q := 1
        egor := 0
    else:
        q := 2

Такой не запускается:

function sum (id, pr, n, a):
    q := 0
    if 1:
        if 2:
            q := 1
    else:
        q := 2

Ошибка:

line 7: no added indent for a block
        q := 2
shell returned 1  

Тут видно, что есть баг в.обработке вложенных if-else: первый код отличается от второго наличием строчки egor := 0 перед 'else'

GassaFM commented 4 years ago

Скорее всего, в последних строках спутаны табы и пробелы. Таб в отступе не равен никакому количеству пробелов. Сообщение об этой ошибке уже улучшено в мастер-версии.

vladloh commented 4 years ago

Нет, это не так, проблема не в табах и пробелах 😡😡😡