Javascript must be enabled to continue!
A Task-driven Grammar Refactoring Algorithm
View through CrossRef
This paper presents our proposal and the implementation of an algorithm for automated refactoring of context-free grammars. Rather than operating under some domain-specific task, in our approach refactoring is perfomed on the basis of a refactoring task defined by its user. The algorithm and the corresponding refactoring system are called mARTINICA. mARTINICA is able to refactor grammars of arbitrary size and structural complexity. However, the computation time needed to perform a refactoring task with the desired outcome is highly dependent on the size of the grammar. Until now, we have successfully performed refactoring tasks on small and medium-size grammars of Pascal-like languages and parts of the Algol-60 programming language grammar. This paper also briefly introduces the reader to processes occurring in grammar refactoring, a method for describing desired properties that a refactored grammar should fulfill, and there is a discussion of the overall significance of grammar refactoring.
Czech Technical University in Prague - Central Library
Title: A Task-driven Grammar Refactoring Algorithm
Description:
This paper presents our proposal and the implementation of an algorithm for automated refactoring of context-free grammars.
Rather than operating under some domain-specific task, in our approach refactoring is perfomed on the basis of a refactoring task defined by its user.
The algorithm and the corresponding refactoring system are called mARTINICA.
mARTINICA is able to refactor grammars of arbitrary size and structural complexity.
However, the computation time needed to perform a refactoring task with the desired outcome is highly dependent on the size of the grammar.
Until now, we have successfully performed refactoring tasks on small and medium-size grammars of Pascal-like languages and parts of the Algol-60 programming language grammar.
This paper also briefly introduces the reader to processes occurring in grammar refactoring, a method for describing desired properties that a refactored grammar should fulfill, and there is a discussion of the overall significance of grammar refactoring.
Related Results
Jezik i gramatološki prinos Lanosovićeve slavonske gramatike u kontekstu standardizacije hrvatskoga jezika
Jezik i gramatološki prinos Lanosovićeve slavonske gramatike u kontekstu standardizacije hrvatskoga jezika
The primary task of this paper was to present, describe and analyze all three editions of Fr. Marijan Lanosović’s grammar as comprehensively and systematically as possible. The gra...
A Systematic Literature Review on Software- refactoring Techniques, Challenges, and Practices
A Systematic Literature Review on Software- refactoring Techniques, Challenges, and Practices
Abstract
Software-refactoring improves the quality and reduces the complexity during the whole life cycle of the software system. The objective of this work is to elicit th...
Applying a user-centered approach to evaluate the usability of a mobile application for health professionals in home care services (Preprint)
Applying a user-centered approach to evaluate the usability of a mobile application for health professionals in home care services (Preprint)
BACKGROUND
Mobile health (mHealth), or the use of mobile devices in medicine and health, is a sub-category of e-health. mHealth interventions are designed t...
Refactoring for Java-Structured Concurrency
Refactoring for Java-Structured Concurrency
Structured concurrency treats multiple tasks running in different threads as a single unit, thereby improving reliability and enhancing observability. The existing IDE (Integrated ...
MEASURING MAINTAINABILITY INDEX BEFORE AND AFTER CODE REFACTORING
MEASURING MAINTAINABILITY INDEX BEFORE AND AFTER CODE REFACTORING
Measuring the maintainability index of software is crucial to ensure bettermaintenance and improve quality. Refactoring code is important in improving software quality and increasi...
Investigating the Refactoring Capabilities of Small Open-Weight Language Models
Investigating the Refactoring Capabilities of Small Open-Weight Language Models
Refactoring is essential for developing maintainable software. Using Large Language Models in software engineering is widespread, but compared to well-established domains such as c...
Automatic Refactoring Approach for Asynchronous Mechanisms with CompletableFuture
Automatic Refactoring Approach for Asynchronous Mechanisms with CompletableFuture
To address the inherent limitations of Future in asynchronous programming frameworks, JDK 1.8 introduced the CompletableFuture class, which features approximately 50 different meth...
Deep Active Learning for Label-Efficient Refactoring Prediction
Deep Active Learning for Label-Efficient Refactoring Prediction
Software refactoring improves the maintainability of code and reduces technical debt, but making the construction of a labeled refactoring dataset is a costly and labor-intensive p...

