Comments (1)
Here is a possible design to improve edit and verify.
Some AST nodes have children and some do not. Some AST nodes are produced
during
parsing and some during transforming. AST nodes...
* without children and created by the parser have a location computed by the parser;
* with children have a location that is computed from their children locations;
* without children and created by a transformer have a location that is computed
from the locations of their 'motivating nodes'.
AST nodes should not be distinguished on the basis of their location. In
particular,
if whitespace is modified in the input file, then the parser must reuse the
*same*
AST and update the location information. If the location information is kept
into an
augmented binary tree then it is updated in Theta(lg n) time.
If the derived location information is cached, then some of the cached values
must be
removed when the raw location information changes. It is probably simpler and
just as
fast to recompute the derived location information every time.
Original comment by [email protected]
on 21 Feb 2010 at 8:44
from freeboogie.
Related Issues (20)
- command line to stop after various phases
- passivation is broken HOT 1
- systematic persistent derived information
- display warnings once HOT 1
- getting rid of cycles is unsound
- translate the contract of abstract methods
- better feedback for wrong command line
- edit and verify on smt dags
- integrate BmlToBpl with FreeBoogie
- ant warnings
- add back explicit specialization of generics
- auto-download jars HOT 2
- get all tests from boogie's codeplex
- fetch specifications of Java methods that are used
- handle native methods
- dump types
- tags on classes
- remove escjava passivator
- reduce memory use
- migrate some tests to v2 of Boogie
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freeboogie.