В статье «Бесконфликтный реплицированный тип данных JSON» я встретил эту запись для формального определения «правил»: Как называется эта запись? Как мне это прочитать? Например: DOCправило не имеет ничего в своем «числитель» - почему? то EXECи GETправила , по всей видимости, имеют два отдельных условия выше линии, что это значит? VARправило …
Я знаком с операционной семантикой (как маленькой, так и большой) для определения языков программирования. Я также заинтересован в изучении денотационной семантики, но не уверен, стоит ли это усилий. Буду ли я изучать один и тот же материал с другой точки зрения, или есть понимание, которое я могу получить только от …
Я думаю, что я довольно озадачен тем, что называется исчислением и тем, что называется языком программирования. Я склонен думать и, возможно, мне сказали, что исчисление - это формальная система рассуждений об эквивалентности программ. Программы имеют операционную семантику, указанную машиной, которая должна (я думаю?) Быть детерминированной. Таким образом, (правильное) исчисление для …
На работе мне было поручено вывести некоторую информацию о типах динамического языка. Я переписываю последовательности операторов во вложенные letвыражения, например так: return x; Z => x var x; Z => let x = undefined in Z x = y; Z => let x = y in Z if x then …
Обычно я вижу, что в представлении структурной операционной семантики для цикла 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) Для меня это не интуитивно понятно, если состояние не меняется …