1. project idea
- Posted by Falkon <Falkn13 at IBM.NET>
Jun 27, 1998
-
Last edited Jun 28, 1998
From: Andy Kurnia
> Anyone having a good project idea that:
> - is not too complicated,
> - is not using GUI (Windows, mouse, graphics),
> - is doable using Euphoria, and
> - will have lots of registered Euphorians vote for?
I can't promise other people's votes, but here's two 'simple' ones:
Idea #1 is a library for manipulating byte-sized variables, structured
sequences, sequences of structured sequences, and dimensioned type-checked
(and/or structure-checked) arrays. I've
poked about at it, but with no great success as I keep getting right in the
middle of it and then
starting over from a different angle.
Theoretically, EU doesn't need that stuff, but in practice some people
do want it.
Idea #2, a program that looks at a source code file, and down through
all included files
(nested even), makes a list of all identifiers (constants, variables, and
routine names) and
checks for namespace conflicts within the different scopes.
Basically, it could just output a list of all identifiers, their
location and scope, and any
necessary warnings like:
"procedure Bitmap_Size() in bmp3.e conflicts with constant Bitmap_Size in
ugraph.e, both are global".
Adding a bit of functionality, it could advise the most probable best
change.
"constant Bitmap_Size does not appear to be used outside of ugraph.e and may
not need to be a global."
With a bit more functionality, you could provide a switch that
auto-magically, or preferably
interactively, changes all occurrences of one of the conflicting symbols,
throughout the set of
files.
I say preferably interactively because it may not always correctly
deduce which of the two
conflicting items a given symbol should be. And it may not really know
whether a scope
change or name change would be preferable to the user. Or which file the
user would prefer to
make changes to.