คำถามติดแท็ก operational-semantics

1
ความแตกต่างระหว่างซีแมนติกส์ขนาดเล็กและใหญ่ในการปฏิบัติงาน
อะไรคือความแตกต่างพื้นฐานระหว่างความหมายในการดำเนินงานขนาดเล็กและขนาดใหญ่ ฉันมีเวลายากที่จะเข้าใจว่ามันคืออะไรและมีแรงบันดาลใจในการมีสองสิ่งนี้

2
สัญกรณ์คณิตศาสตร์ที่ไม่ต่อเนื่องส่วนที่คล้ายกันนี้ใช้สำหรับกฎที่เป็นทางการคืออะไร?
ในกระดาษ"ประเภทข้อมูล JSON ที่ซ้ำกันอย่างไม่มีข้อขัดแย้ง"ฉันพบสัญกรณ์นี้เพื่อกำหนด "กฎ" อย่างเป็นทางการ: สัญกรณ์นี้เรียกว่าอะไร? ฉันจะอ่านมันได้อย่างไร ตัวอย่างเช่น: DOCกฎไม่ได้มีอะไรใน "เศษ" ของ - ทำไมไม่? EXECและGETกฎปรากฏว่ามีสองข้อตกลงแยกต่างหากเหนือเส้น, หมายความว่าอะไร? VARกฎยืนออกบิตเช่นกันเนื่องจากในขณะที่กฎระเบียบอื่น ๆ จำนวนมากใช้การจัดเรียงของลูกศรบางส่วน (ซึ่งผมจะใช้เวลาที่จะหมายถึง "หมายถึง") ขึ้นด้านบนนี้เท่านั้นดูเหมือนว่าจะได้รับการบอกว่า x เป็นองค์ประกอบของสิ่งที่ เกือบทุกอย่างจะเต็มไปด้วยข้อความเริ่มต้นAp,ซึ่งข้อความอธิบายว่า "สถานะของแบบจำลอง p ถูกอธิบายโดย Ap, ฟังก์ชันอัน จำกัด บางส่วน" - ผู้อ่านที่เข้าใจในสัญกรณ์นี้มีแนวโน้มที่จะ "เห็น" ส่วนใดของกฎทุกข้อ? ไซต์นี้แนะนำคำถามที่เกี่ยวข้องซึ่งมีสัญกรณ์คล้ายกันมากเกี่ยวกับคำถามความสำคัญของ⟨B, s⟩ -> ⟨B ', s'⟩เป็นกฎเริ่มต้นในคำถามนี้เกี่ยวกับขั้นตอนเล็ก ๆ ความหมาย? - สิ่งนี้ถูกแท็กเป็นซีแมนติกส์เชิงปฏิบัติการและดูเหมือนจะเป็นผู้นำที่แข็งแกร่ง เป็นกรอบที่ฉันควรจะตีความตัวเลขเหล่านี้หรือไม่? คุณสามารถสรุปได้อย่างง่ายดายในรูปแบบ "หลักสูตรผิดพลาด" เพื่อให้แม้ว่าฉันไม่สามารถตรวจสอบความถูกต้องของหลักฐานได้อย่างน้อยที่สุดฉันก็สามารถเข้าใจสิ่งที่พวกเขากำลังพูดถึงในส่วนนี้ได้มากขึ้น?

2
คำถามใดที่ความหมายเชิง Denotational สามารถตอบได้ว่าความหมายเชิงปฏิบัติการไม่สามารถทำได้?
ฉันคุ้นเคยกับความหมายในการปฏิบัติงาน (ทั้งขั้นตอนเล็กและขั้นตอนใหญ่) เพื่อกำหนดภาษาโปรแกรม ฉันสนใจที่จะเรียนรู้ความหมายเชิงลบเช่นกัน แต่ฉันไม่แน่ใจว่ามันจะคุ้มค่ากับความพยายามหรือไม่ ฉันจะเรียนรู้เนื้อหาเดียวกันจากมุมมองที่ต่างออกไปหรือมีข้อมูลเชิงลึกที่ฉันจะได้รับจากการเข้าใจความหมายเชิง Denotational หรือไม่?

3
แคลคูลัสกับภาษาการเขียนโปรแกรมต่างกันอย่างไร
ฉันคิดว่าฉันค่อนข้างสับสนเกี่ยวกับสิ่งที่เรียกว่าแคลคูลัสและสิ่งที่เรียกว่าภาษาการเขียนโปรแกรม ฉันมักจะคิดและอาจได้รับแจ้งว่าแคลคูลัสเป็นระบบที่เป็นทางการสำหรับการให้เหตุผลเกี่ยวกับความเท่าเทียมกันของโปรแกรม โปรแกรมมีความหมายในการปฏิบัติงานที่ระบุโดยเครื่องซึ่งควร (ฉันคิดว่า?) กำหนดได้ ด้วยวิธีนี้แคลคูลัส (ที่ถูกต้อง) สำหรับภาษาเป็นวิธีการพิสูจน์สำหรับการเทียบเท่าของโปรแกรมLLL ดูเหมือนจะเป็นการแบ่งที่สมเหตุสมผลสำหรับฉัน แต่นี่เป็นความหมายที่ยอมรับกันโดยทั่วไปหรือไม่ หรืออาจจะผิดก็ได้ เกี่ยวข้องทำไมความหมายของการดำเนินงานแบบ nondeterministic (สมมติว่ามันไหลมารวมกัน)? อะไรคือสิ่งที่ได้รับจากการเปิดตัวเลือกกลยุทธ์? ฉันขอขอบคุณการชี้แจงเกี่ยวกับสิ่งเหล่านี้ และการอ้างอิงที่เป็นรูปธรรมมากยิ่งขึ้น! ขอบคุณ!

1
การแยกประเภทการปรับแต่ง
ที่ทำงานฉันได้รับมอบหมายให้อนุมานข้อมูลบางประเภทเกี่ยวกับภาษาแบบไดนามิก ฉันเขียนลำดับของข้อความไปยัง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 else F; Z => if x then { T; Z } else { F; Z } เนื่องจากฉันเริ่มต้นจากข้อมูลประเภททั่วไปและพยายามอนุมานประเภทที่เฉพาะเจาะจงมากขึ้นตัวเลือกที่เป็นธรรมชาติคือประเภทการปรับแต่ง ตัวอย่างเช่นตัวดำเนินการตามเงื่อนไขส่งคืนการรวมของประเภทของสาขาที่เป็นจริงและเท็จ …
11 programming-languages  logic  type-theory  type-inference  machine-learning  data-mining  clustering  order-theory  reference-request  information-theory  entropy  algorithms  algorithm-analysis  space-complexity  lower-bounds  formal-languages  computability  formal-grammars  context-free  parsing  complexity-theory  time-complexity  terminology  turing-machines  nondeterminism  programming-languages  semantics  operational-semantics  complexity-theory  time-complexity  complexity-theory  reference-request  turing-machines  machine-models  simulation  graphs  probability-theory  data-structures  terminology  distributed-systems  hash-tables  history  terminology  programming-languages  meta-programming  terminology  formal-grammars  compilers  algorithms  search-algorithms  formal-languages  regular-languages  complexity-theory  satisfiability  sat-solvers  factoring  algorithms  randomized-algorithms  streaming-algorithm  in-place  algorithms  numerical-analysis  regular-languages  automata  finite-automata  regular-expressions  algorithms  data-structures  efficiency  coding-theory  algorithms  graph-theory  reference-request  education  books  formal-languages  context-free  proof-techniques  algorithms  graph-theory  greedy-algorithms  matroids  complexity-theory  graph-theory  np-complete  intuition  complexity-theory  np-complete  traveling-salesman  algorithms  graphs  probabilistic-algorithms  weighted-graphs  data-structures  time-complexity  priority-queues  computability  turing-machines  automata  pushdown-automata  algorithms  graphs  binary-trees  algorithms  algorithm-analysis  spanning-trees  terminology  asymptotics  landau-notation  algorithms  graph-theory  network-flow  terminology  computability  undecidability  rice-theorem  algorithms  data-structures  computational-geometry 

3
เหตุใดรัฐจึงไม่เปลี่ยนแปลงในซีแมนทิกส์การปฏิบัติการขั้นตอนเล็ก ๆ ของการวนรอบสักครู่?
ฉันมักจะเห็นว่าในการเป็นตัวแทนความหมายการดำเนินงานโครงสร้างสำหรับห่วงขณะที่สถานะของโปรแกรมจะไม่เปลี่ยนแปลง: ( w h i l eBdโอS, σ) → ( ฉันfBt h e nS; ( w h i l eBdโอS)e l s eSKผมP, σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) \rightarrow (if \>B \> then \>S; (while \> B \> do \>S) \> else \> SKIP, \sigma) สำหรับฉันแล้วสิ่งนี้ไม่ง่ายหากสถานะไม่เปลี่ยนแปลง (เช่นสถานะของหน่วยความจำยังคงเหมือนเดิม) จากนั้น …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.