DeepAI AI Chat
Log In Sign Up

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

07/22/2021

Fundamental Constructs in Programming Languages

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

Floorplan: Spatial Layout in Memory Management Systems

In modern runtime systems, memory layout calculations are hand-coded in ...
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)...
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...
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...
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...
09/17/2018

Unsupervised Sense-Aware Hypernymy Extraction

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