Implementing Structural Operational Semantics in Python 


Vol. 45,  No. 11, pp. 1176-1184, Nov.  2018
10.5626/JOK.2018.45.11.1176


PDF

  Abstract

Operational semantics is the most commonly used technique to formally define the semantics of a programming language. It defines the meaning of a program in terms of how it is executed or interpreted as a sequence of computational steps. This paper introduces an implementation technique for small-step structural operational semantics for a simple ML-style functional language using visitor patterns and exception handling in Python. The secondary objective of this paper is to explain the core concepts of programming language theory and the techniques for implementing these concepts using Python, instead of traditional functional languages such as ML, Haskell, and Scheme. Since Python has a wide abundant user base due to its rich library and flexibility, it is more suitable to explain operational semantics for common users than functional languages, which are relatively less known and have a high learning curve.


  Statistics
Cumulative Counts from November, 2022
Multiple requests among the same browser session are counted as one view. If you mouse over a chart, the values of data points will be shown.


  Cite this article

[IEEE Style]

S. Ji and H. Im, "Implementing Structural Operational Semantics in Python," Journal of KIISE, JOK, vol. 45, no. 11, pp. 1176-1184, 2018. DOI: 10.5626/JOK.2018.45.11.1176.


[ACM Style]

Suhwan Ji and Hyeonseung Im. 2018. Implementing Structural Operational Semantics in Python. Journal of KIISE, JOK, 45, 11, (2018), 1176-1184. DOI: 10.5626/JOK.2018.45.11.1176.


[KCI Style]

지수환, 임현승, "파이썬을 이용한 구조적 실행 의미구조 구현," 한국정보과학회 논문지, 제45권, 제11호, 1176~1184쪽, 2018. DOI: 10.5626/JOK.2018.45.11.1176.


[Endnote/Zotero/Mendeley (RIS)]  Download


[BibTeX]  Download



Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

Editorial Office

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr