Wednesday, December 28, 2011

DBE becomes EBE

I noticed that the console window in dbe did a fairly nice job of editing and after a little more tinkering I decided to bite the bullet yet again.  With a crude editor the debugger can perform a fairly good job as an integrated development environment.  I liked the name dbe, but that seems too much like a debugger.

The name which appealed to me was "ebe".  I suppose it most commonly refers to an "extraterrestrial biological entity", but I wouldn't let that stop.  It's easy to pronounce and it's catchy.  It could have a nice icon for people to click on.  But what should be the official reason for the 3 letters?


Electronic Brain Enhancement

You could say that computer programming is enhancing electronic brains.  There we have it.

I redid the source window to use a Tkinter Text widget for the source code and another for the breakpoint, arrow and line number column.  Then I had a bit of fun with some strange trivia.  I turned off the mouse wheel actions to simplify things.  Before that the breakpoint Text box would scroll independently of the source Text box.  That was a little odd.

I eventually got around to using the built-in undo/redo stack in Tkinter's Text box to implement 100 levels of undo/redo.  Roughly every 10 characters or 1 major action is captured in the undo/redo stack.  It seems to wipe out 10 characters at a time and restores them 5 at a time, which is disconcerting.  Copy. cut and paste are implemented in the menu and using the keyboard.

I need to revise the start-up code to focus on the source code as the file to work on.  Up to this point ebe has been operating more like a debugger.  The next phase will be to get it functional where it can compile C/C++ files (or assemble asm files) as the first step in the "Run" command.  For now it will operate with only 1 source file.  I doubt that will last long.

Before moving to multiple source files, I will focus on trying to make ebe idiot-proof.  I might use ebe for my C++ classes this coming spring semester.

Things to add
  • Auto-indent
  • Find and maybe replace
  • Control-F and control-B to move around

Things to avoid
  • Intellisence
  • Syntax coloring
  • Syntax templates
  • Syntax checking while editing
  • Smart indenting
  • Folding
  • Buffers

4 comments:

Anonymous said...

Hey,

I was trying to run your ebe/dbe IDE/debugger, but when I attempt to run it through python I receive this error:


File "ebe.py", line 871
self.formatmap = { fpformats[i]:i for i in range(0,len(fpformats)) }

Same thing happens with the dbe.py, but on a different line. At first I thought it was because of python2.6 so I also tried with python3 but that wasn't it.

Do you have any idea what might be causing it?

Thanks in advance.

Unknown said...

Hi!

I had used a different version of python a while back and have since given up on that assignment statement. The code how assigns formatmap in a loop. There is an updated version which can be downloaded with git using

git clone ssh://seyfarth@git.code.sf.net/p/ebe-ide/code ebe-ide-code

I will be updating ebe within the next week. The latest change is to add a project capability to allow multi-file compilation. Some of that code has been uploaded to sourceforge, but it's not ready for prime time.

Ray

CMV said...

Sir
I installed ebe downloading ebe32.2.0.24setup file from sourceforge.
I browsed to know more about EBE but everything pointed to your source only.
And so finally I decided to write to you about my clarifications on EBE (for ALP programs only / only .asm files compiling and linking)

1. What is the FILE->TEMPLATE->ASSEMBLY option do? It just creates a empty file with .asm extension only is that so?

2.I need more information on how to compile and link the .asm file only.

3. I am aware of as/YASM so which one is used for compiling .asm file?

4. EDIT->SETTING-> assembler
what should the adjoing textbox have to compile .asm file? what
is $source and $base ?
and similar with EDIT->SETTING->Linker ?

i request you to provide the answer so that I could complete my assignments.

Thanks and Regards
Uma



Unknown said...

Hi Uma!

1. The File->Template->Assembly option is supposed to place a short assembly program in the editor. At this point Assembly only works properly under Linux and OS X. It is possible that someone could tweak ebe to make it work with Windows. I may do that later this year.

2. No answer yet for Windows.

3. I use yasm under Linux and OS X, so I would prefer to use yasm under Windows.

4. No answer yet for Windows. My code replace $source with the complete pathname of the source file. It replaces $base with the same thing minus the extension. I wanted to allow a little flexibility, though most people would probably leave the commands as is.

If you are doing assembly assignments under Windows, then I am afraid that ebe will not be of any use. If you were given a sample program and how to assemble and link it, then, provided the instructions are fairly simple, perhaps I could help figure out how to get the sample code to work under Windows. I am willing to look, but it is hard to guarantee results quickly enough to help someone in a class.

If you are free to choose your OS and assembler, then ebe is a viable choice under Linux or OS X. Given that you installed the Windows ebe, I think that it might be possible for you to install Linux on your computer. It would require shrinking your Windows partition, so I would make backups of important files before starting. I recommend Ubuntu which is a very easy system to use. It is particularly easy to install software which would be needed to install ebe from source.

If you wish you can email me at ray.seyfarth@gmail.com, which might make it easier to correspond. It would help with sending attachments if needed.

Good luck!

Ray