flat assembler
Message board for the users of flat assembler.

Index > IDE Development > "Fresh" work version with code completition

Goto page 1, 2, 3, 4  Next
Author
Thread Post new topic Reply to topic
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 08 Jan 2004, 20:03
It is available on the Fresh site. It is preliminary and the behaviour (and speed) are not good, but some opinions whould be usefull.

Regards.
Post 08 Jan 2004, 20:03
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 08 Jan 2004, 23:57
Two words of explanations about what to do for testing would help Very Happy


Betov.
Post 08 Jan 2004, 23:57
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Jan 2004, 00:27
Betov wrote:
Two words of explanations about what to do for testing would help Very Happy


Well, maybe you are right.

How to use CC:

1. Load some asm file or project with definitions of labels, equates etc. There is one my test file: examples/testlabels.asm or better you may use the copy of Fresh project: "source/Copy of Fresh.fpr" (but it is slow for compiling - about 1 minute on my computer)

2. Compile it. (In the end version this will happen transparently for user) Even with errors - it is important to pass preprocessing and parsing.

3. Now you can try to write some code using code completition: You will have access to your: variables, procedures, API functions, constants, etc.

Keys:
ctrtl+space - opens CC list.
'.' - too if there is something before "."
When the list is open:
Up/Down, PgUp/PgDn -> navigating in the list
Enter - insert the selected and close the list.
Escape - closes the list without inserting the text
any word char - type in the editor, CC list will be updated.
non word chars: '.', ',' etc. - insert selected string and type the characted. If the char is "." the list remains open, with local labels, otherwise it will be closed.

If you try to open CC list, but there is no matches for given chars under the caret, the window remains closed.

Well, I think that's all.

Example:

You type:
RE<ctrl+space>

The window show RECT, You type "." - the word RECT is inserted in editor and the CC list shows the fields: left, top, right, bottom.
You type r<Enter> - the field "right" is added after the point.

Regards.
Post 09 Jan 2004, 00:27
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 09:13
Good work John.

I did not succeed to produce serious problems with CC. Just, i think it should close when the user input produces any modification of the Caret Pos not fitting with the going on Completion (for example Horizontal ArrowKeys, and any Menu Option activation.

Also, i don't know if you really whished it to work this way, but, when inputing "RECT.", the ListBox comes out without hitting [Ctrl][Space], when you hit the '.'. (I remember you recommending to me to only run the ListBox on user [Crtl]/[Space], what i agread with...).

If Fresh is Minimized, the ListBox remains on the screen. Then, when restored, it does no more work. It should either be closed or kept fully alive.

Don't you want the [Esc] key to close the ListBox?


Other side remarks:

* Fresh Installation is terrific. This is, IMHO a point you should fix (turn Click&Go) as soon as possible (not that much work, is it?)

* Why is it so slow to recompile Fresh? What Source sizes? (i see less than 1/2 Mega...).


Bye, Keep up with the good work. Betov.
Post 09 Jan 2004, 09:13
View user's profile Send private message Visit poster's website Reply with quote
roticv



Joined: 19 Jun 2003
Posts: 374
Location: Singapore
roticv 09 Jan 2004, 10:28
I think it is more like close to 1MB.
Post 09 Jan 2004, 10:28
View user's profile Send private message Visit poster's website MSN Messenger Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 11:23
I just suppose it is not really a Sources Size problem, roticv. My own comparisons Tests of the various Assemblers indicated to me, in the past, that FASM was a bit faster than RosAsm. So... Unless the Multi-Passes of FASM itself would increase the Compile time in a "exponential" way, i was supposing this was something particular to Fresh, and i would be estonished if RosAm, that is far from fully optimized for speed, actually, would be faster than FASM above 1/2, 1 or 2 Mega(s) Sources.

(Difficult subject, these days, when swindlers like Randall and Hutch are claiming that MASM is the fastest one, while basing their claims on tests designed, on purpose, to produce "oriented" results Wink ).


Betov.
Post 09 Jan 2004, 11:23
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Jan 2004, 11:26
Hi Betov.

Betov wrote:
I did not succeed to produce serious problems with CC. Just, i think it should close when the user input produces any modification of the Caret Pos not fitting with the going on Completion (for example Horizontal ArrowKeys, and any Menu Option activation.


Agree.

Quote:
Also, i don't know if you really whished it to work this way, but, when inputing "RECT.", the ListBox comes out without hitting [Ctrl][Space]


It is because if you enter RECT. (or any other label) the only correct input is some local label (field) name. Why not to open the listbox? Actually I don't know exactly is there some similar case in RosAsm syntax, but if have, it is the right behaviour IMHO.

Quote:
If Fresh is Minimized, the ListBox remains on the screen. ...

Bugs, bugs, bugs... Very Happy

Quote:
* Fresh Installation is terrific. This is, IMHO a point you should fix (turn Click&Go) as soon as possible (not that much work, is it?)


Hm, what you exactly mean? You should only unpack and start. Fresh does not need any instalation.

Quote:
* Why is it so slow to recompile Fresh? What Source sizes? (i see less than 1/2 Mega...).


It is because of CC. (Shame on me! Smile ) This is work version and algorithms are simply horrible. I am working on it. The normal compilation Time (for example with 1.0.1B) is 25s on my K6-2 500. The size of source is approximately 1Mbyte.

Thank you for the help.
Regards


Last edited by JohnFound on 09 Jan 2004, 12:36; edited 1 time in total
Post 09 Jan 2004, 11:26
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 12:24
For the Install, well, simply, after unzipping, runing, loading a Project, Click on [Run],... it ask me where are the "External Debugger" (What for?), where is the "Include Directory" (why doesn't it look inside its own Directory, where it should be by default), and then the Compilation fails because of default Path not provided (why doesn't it search it from where it is?).

For a release like FASM (FASM alone), this is normal, but for a specific IDE like Fresh, this is not, IMO. Having the IDE doing this dark work silently would also save you from having to answer to beginners asking you how to install. Wink

For the speed, yes, this is what i was supposing. Though not that much interresting, once the speed is enough for confortable dev of uge Apps, i will have to redo my comparison tests on 1Mo Sources. It seems to me that RosAsm should be a little bit faster than this, at 500 Mhz... and quite frankely... even a "very little bit" would make me naively happy. Very Happy

I will redo these tests when you will have released the next fixed version.


Bye. Good work. Betov.
Post 09 Jan 2004, 12:24
View user's profile Send private message Visit poster's website Reply with quote
Kain



Joined: 26 Oct 2003
Posts: 108
Kain 09 Jan 2004, 15:47
Hi Betov.

Unless you made any changes, I seem to remember that RosAsm asks the user to configure and locate certain files on first install. Is this not similar to FRESH asking for path locations?
Post 09 Jan 2004, 15:47
View user's profile Send private message Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 16:08
Not exactely, Kain. In the old days, it simply required absolutely nothing and so forth asked for nothing at all. Then when we (Guga, mainly) did all of this work around the OS Data, we had to release the files separatly (in order to save user from having to reload all of this stuff for nop, at each update). Now, when users download the complete Package, the very first run searches inside its own Directory, finds out by itself where the required Files are, and configures automatically and silently. Of course, if all of this is done "by hand", and if the user unzips in unexpected Folders, the automatic process will fail pathetically, but not up to the point of not runing a full talking Help to explain to the user what is wrong and what he exactely has to do. Smile

Nevertheless i am convinced that Fresh should do something similar. Not much work to implement, and much more confort for true beginners who most often have not even an idea about what an environement thingie could ever be. Wink

After all, the purpose of an IDE like Fresh, is, exactely, to save the users form such zero interrest tasks. When the user first Clicks on a [Compile] Item, this to _Compile_... Not to get a frustrating error Message. Wink


Betov.
Post 09 Jan 2004, 16:08
View user's profile Send private message Visit poster's website Reply with quote
decard



Joined: 11 Sep 2003
Posts: 1092
Location: Poland
decard 09 Jan 2004, 16:13
I must say you've done a great work, John! Wink CC works as it should. Just the CC list isn't sorted alphabetically.
Only I don't want to try to compile Fresh on my P266 Confused.
Post 09 Jan 2004, 16:13
View user's profile Send private message Visit poster's website Reply with quote
pelaillo
Missing in inaction


Joined: 19 Jun 2003
Posts: 878
Location: Colombia
pelaillo 09 Jan 2004, 16:19
Betov wrote:
...(why doesn't it look inside its own Directory, where it should be by default), and then the Compilation fails because of default Path not provided (why doesn't it search it from where it is?).


Yes, I have had the same concerning about this.
Actually this work is one part of a command line parser I'm working on. At the end, Fresh will have that behavior.
IMHO, all other paths should be required only when needed for the first time.

Regards,
Post 09 Jan 2004, 16:19
View user's profile Send private message Yahoo Messenger Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Jan 2004, 17:07
decard wrote:
I must say you've done a great work, John! Wink CC works as it should.


Well, not exactly, but it will. Very Happy Also, sorting. (Guess for what I need this "qsort.asm" in the libs directory.

Quote:
Only I don't want to try to compile Fresh on my P266 Confused.

It will be fixed. Even maybe this night.

Regards
Post 09 Jan 2004, 17:07
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 17:54
What "qsort.asm" John. You just have to set the LBS_SORT Style for the ListBox.


Betov.
Post 09 Jan 2004, 17:54
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 09 Jan 2004, 18:19
Betov wrote:
What "qsort.asm" John. You just have to set the LBS_SORT Style for the ListBox.


The labels tree should be sorted by value of the labels, not by name. Also the sorted labels tree allows binary search. This will be useful in the debuger.

Regards
Post 09 Jan 2004, 18:19
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Betov



Joined: 17 Jun 2003
Posts: 98
Betov 09 Jan 2004, 18:41
In my opinion, you'd better consider these things completely separated ones. (Hello bugs, if not...).

I suppose you will want to have some Run-Time Source-Level Debugging, like in RosAsm. If true, there is no problem with time saving for this functionality. It will be much fast enough, anyway, as it will have to point out only _one_ single location (If understand what you are thinking about...).

I see the point of not having the additional problem i have, with RosAsm being NOT case sensitive, so that you are tempted of doing the work once for all. But this choice would much probably produce more problems afterward than a specific approach for each implementation.


Betov.
Post 09 Jan 2004, 18:41
View user's profile Send private message Visit poster's website Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 09 Jan 2004, 19:30
Good start, John! Wink I'm busy with football this week-end, but I'll see if I get some time to do some programming too... Razz

Keep up the good work!

Cheers,
Tommy
Post 09 Jan 2004, 19:30
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 10 Jan 2004, 20:22
Well, the fixed work version is on the site. Now the compilation is faster (it will be fixed more) and some bugs (caused big memory leaks) are fixed. There are small changes in behaviour too.

Please make some tests and post some feedback. Please test the speed of the compilation of "Fresh.fpr" file and report the time and what computer you are using:

On my K6-2 500MHz - Fresh.fpr needs 20..21 seconds for compilation.


Regards
Post 10 Jan 2004, 20:22
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Tommy



Joined: 17 Jun 2003
Posts: 489
Location: Norway
Tommy 10 Jan 2004, 20:38
Fresh.fpr compiles in 7.941 seconds on my computer (1000 MHz)... The code completition is quite fast... Smile There's one thing though: when I press Ctrl+Space the list does not appear (only after "<symbol>.")... Is this supposed to be?? IMO the list should apear when Ctrl+Space is pressed... Keep it up! Wink
Post 10 Jan 2004, 20:38
View user's profile Send private message Visit poster's website Reply with quote
JohnFound



Joined: 16 Jun 2003
Posts: 3499
Location: Bulgaria
JohnFound 10 Jan 2004, 20:52
Tommy wrote:
when I press Ctrl+Space the list does not appear (only after "<symbol>.")


The list apears only when there is some matching labels in the list. For example: You type: "A<ctrl>+<space>" this should list only labels begining with "a" or "A" characters. If there is no labels with "A" the CC window will be not opened. If your caret is on empty place, all labels will be listed.

At least this is behaviour that I write and it works on my machine. If you have some other behaviour, it is probably a bug. Please give some more details.

Regards.
Post 10 Jan 2004, 20:52
View user's profile Send private message Visit poster's website ICQ Number Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page 1, 2, 3, 4  Next

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.