Translating declarative control elements to imperative using 'l-value redefinition graphs'

03/04/2021
by   Anthony Savidis, et al.
0

We focus on control constructs that allow programmers define actions to be performed when respective conditions are met without requiring the explicit evaluation and testing of conditions as part of an imperative algorithm. Such elements are commonly referred as declarative, not theoretically related to declarative languages. We introduce declarative constructs in the C++ language, presenting the translation method to standard C++. The innovative feature of our method is the accommodation of l-values involving arbitrary pointer / array expressions and objects, supporting immediate runtime evaluation upon content update even if such l-values bind to variant storage locations at runtime. To accomplish this we define 'l-value redefinition graphs', capturing storage binding dependencies among variables, being the floor-plan of our code generation and runtime management approach.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/22/2021

Fundamental Constructs in Programming Languages

Specifying the semantics of a programming language formally can have man...
research
09/11/2019

Floorplan: Spatial Layout in Memory Management Systems

In modern runtime systems, memory layout calculations are hand-coded in ...
research
02/22/2017

An Integer Programming Model for Binary Knapsack Problem with Value-Related Dependencies among Elements

Binary Knapsack Problem (BKP) is to select a subset of an element (item)...
research
12/03/2022

Linguistic Constructs as the Representation of the Domain Model in an Intelligent Language Tutoring System

This paper presents the development of an AI-based language learning pla...
research
02/23/2023

Using Colors and Sketches to Count Subgraphs in a Streaming Graph

Suppose we wish to estimate #H, the number of copies of some small graph...
research
12/12/2021

Nalin: Learning from Runtime Behavior to Find Name-Value Inconsistencies in Jupyter Notebooks

Variable names are important to understand and maintain code. If a varia...
research
09/17/2018

Unsupervised Sense-Aware Hypernymy Extraction

In this paper, we show how unsupervised sense representations can be use...

Please sign up or login with your details

Forgot password? Click here to reset