У статті "Повторюваний тип даних JSON без конфліктів" я зіткнувся з цим позначенням для формального визначення "правил": Як називається ця позначення? Як я її читаю? Наприклад: DOCправило не має нічого в своєму «чисельник» - чому б і ні? то EXECі GETправила , по всій видимості, мають два окремих умови вище …
Мені добре знайома оперативна семантика (як малого, так і великого кроку) для визначення мов програмування. Мені також цікаво вивчити денотаційну семантику, але я не впевнений, чи варто цього докладати. Чи я буду просто вивчати той самий матеріал з іншої точки зору, чи є думки, які я можу отримати лише з …
Я думаю, що я дуже розгублений щодо того, що називається обчисленням і що називається мовою програмування. Я схильний думати, і, можливо, сказали б, що обчислення є формальною системою для міркувань про еквівалентність програм. У програмах є оперативна семантика, визначена машиною, яка повинна (я думаю?) Бути детермінованою. Таким чином, (правильне) обчислення …
На роботі мені було доручено виводити інформацію про тип динамічної мови. Я переписую послідовності висловлювань у вкладені letвирази, як-от так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then T …
Зазвичай я бачу, що в структурному представленні оперативної семантики для циклу while стан програми не змінюється: (whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) Для мене це не інтуїтивно зрозуміло, якщо стан не зміниться …