@ARTICLE{Sadolewski_Jan_Compiler_2022, author={Sadolewski, Jan and Trybus, Bartosz}, volume={70}, number={2}, journal={Bulletin of the Polish Academy of Sciences Technical Sciences}, pages={e140554}, howpublished={online}, year={2022}, abstract={Design and operation of a compiler and virtual machine, being the essential components of a multiplatform control programming environment, are presented. The compiler translates source programs written in Structured Text language of the IEC 61131-3 standard into executable code in a dedicated intermediate language. The virtual machine, i.e. a specially designed processor implemented in software, is a runtime part of the environment executing the code in real time. Due to memory-to-memory operation principle the machine is able to process various data types defined in the standard. The focus is given on overloading and extensibility of the functions, as well as on uniform invocations of Program Organization Units. By selection of addressing mode, the environment can be deployed on multiple hardware platforms, beginning from 8-bit microcontrollers up to 32/64-bit industrial PCs. Industrial applications are indicated.}, type={Article}, title={Compiler and virtual machine of a multiplatform control environment}, URL={http://www.journals.pan.pl/Content/122533/PDF/BPASTS_2022_70_2_2531.pdf}, doi={10.24425/bpasts.2022.140554}, keywords={control environment, IEC 61131-3 standard, intermediate language, compiler, runtime virtual machine}, }