Comments (3)
Use globals variables with absolute mapping. Feature of reuse memory is compilator thing and probably new feature request.
from mad-pascal.
I think you misunderstood my message.
I suggest you rename the PASCAL modifier (for functions/procedures) to something more appropriate for the action it performs.
Alternatively, the other way around, i.e.
Use a modifier, e.g. KEEPVARS, to keep local variables in memory at all times.
The normal Pascal behavior was to release local variables from memory and create them anew each time a function/procedure was called.
So, the above modifier is perfectly fine in place of the completely incompatible "PASCAL" - as if it's a feature of the language, and we know it's not, as it's normal behavior for any language that supports calling context.
from mad-pascal.
Myślę, że to jest do zamknięcia - proponowana realizacja jest trochę bez sensu.
Albo kompilator sam będzie umiał rozpoznać, które zmienne lokalne można użyć ponownie albo nie.
Jeżeli sam mam wskazywać takie zmienne to równie dobrze sam mogę dbać o ponowne używanie pewnej puli zmiennych globalnych.
Tak robiłem w ostatnim projekcie i się w tym pogubiłem do póki nie zacząłem emulować aliasów do tych zmiennych. Zrobiło się z tego więcej pisaniny a na końcu i tak straciłem kontrolę czy jak procedura nie wywołuje procedury to czy moja pula nie jest za mała i jednak nie nadpiszę swoich danych.
Wyszło na to, że kompromisem dla ponownego używania zmiennych jest podzielenie projektu na moduły itd.
@tebe6502 uważam, że nie ma sensu by to dalej wisiało, sądzę, że to jest do zamknięcia.
from mad-pascal.
Related Issues (20)
- Compiler directives $info $warning $error not working as expected
- Determining the location (in memory) for STATICDATA
- The compiller requires write access to library files for compilation (?) HOT 2
- Incorrect algorithm in the prime numbers calculation benchmarks HOT 2
- [Feature] ORGIN directive HOT 1
- [Optimizing] Extra jump to the correct part of the procedure when there are sub-functions in the function/procedure. HOT 3
- Adding brackets to object function yields unhandled exception? HOT 1
- Phase error detection code safe to alter? HOT 1
- Very slow compile time with StrToInt? HOT 3
- No error on pointers to undeclared types HOT 1
- two peeks with an and clause might compile wrongly?
- mad pascal optimizes indexing wrong HOT 10
- Commander X16 target support HOT 3
- 1.6.8 still marked as "Latest" stable release instead of 1.6.9 ... is this intentional? HOT 2
- Random of a 'formula' HOT 5
- Neo6502: Illegal addressing mode (CPU 65816) HOT 1
- The sysutils unit cannot be compiled for target raw. HOT 2
- Neo6502 - concat don't work properly HOT 13
- Problem locating units on OSes with case sensitive file names
- procedure aling not workiong properly HOT 1
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 mad-pascal.