Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2001-11

BUGS!

10 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Alan Grimes

Hi, I reciently downloaded the DOS version on a true DOS system.

First off, This thing is good enough to be commercial software! It is software of the highest calibre. And, best of all, it runs on DOS without fucking everything up!

It is decades ahead of any GNU.org project in existance. (Simply making it run well under DOS gives it a 10 year lead over a Linux package).

However I must report a few problems I have with it:

1. The source distro doesn't install on 8.3 systems. I can unpack the source directory manually and everything seems to be in order, but I don't expect that I will be able to exparament with it in its present form...

2. The source directory is very difficult to navigate. It is almost as bad as /usr/bin under Unix. A well written "map" or "index" file should be added with all haste. Additionally, it appears that certain machine and OS specific files are held in the general directory. This only adds to the clutter. I suggest a structure somewhat like this:

/source/compiler/
|-IA32
| |-- DOS (Optionally; just having OS files in their prcessor categories should be sufficient. )
| |-- Linux
| |-- FreeBSD
| L-- That other OS from Redmond...
|-PPC
| |- OS X
etc....

3. Documentation (Part I): The documentation is the best I've seen in years but still it has a few things which could be better:

Section 1.3: This list is nearly identical to the handout I got in highschool back in '94... =P Unfortunately, one needs to go rummaging through the rest of the document in order to find the discussion of these keywords. Saying something like:

"ASM (Pg.40)
Begin (Pg.35)
Break (Pg. 63)"

would be a great improvment.

4. Documentation (part II): While your syntax diagrams are a nice innovation (Its the first time I have read a language text that used them), A thourough discussion of the *symantics* of the varrious language features seems to be missing. Of particular interest to me is what exactly "PROGRAM" means to the compiler.

Okay, that's enough "bugs"; My plans for the system is to fork a version that I will call "Spherical", Its runtime environment will be used as the kernel of my Sphere Operating System. The root environment will NOT support the "program" type, rather software written to run at system level must use a new "SPHERE" outline. Sphere is/will be a system oriented operating system.

Waiting for a typical DOS application to crash is like waiting for hell to freeze over. http://users.erols.com/alangrimes/ <my website.

Reply by email

Peter Vreman
to Alan Grimes
Show quoted text 5 lines
1. The source distro doesn't install on 8.3 systems. I can unpack the source directory manually and everything seems to be in order, but I don't expect that I will be able to exparament with it in its present form...

It is difficult to keep all filenames to fit in 8.3. At least the compiler and rtl will fit in the 8.3 limit.

Show quoted text 16 lines
2. The source directory is very difficult to navigate. It is almost as bad as /usr/bin under Unix. A well written "map" or "index" file should be added with all haste. Additionally, it appears that certain machine and OS specific files are held in the general directory. This only adds to the clutter. I suggest a structure somewhat like this: /source/compiler/ |-IA32 | |-- DOS (Optionally; just having OS files in their prcessor categories should be sufficient. ) | |-- Linux | |-- FreeBSD | L-- That other OS from Redmond... |-PPC | |- OS X etc....

This is already changed in the current development source trees. There is a directory containing only the i386 specific files and a m68k dir containing the m68k only files. And a targets directory will contain all units that provide knowledge about the supported targets.

Peter

Reply by email

Unknown author
to Alan Grimes: Hi, I reciently downloaded the DOS version on a true DOS system. First off, This thing is…
Alan Grimes wrote 6 lines
However I must report a few problems I have with it: 1. The source distro doesn't install on 8.3 systems. I can unpack the source directory manually and everything seems to be in order, but I don't expect that I will be able to exparament with it in its present form...

All files that should be compilable on DOS do have the 8.3 format; This includes at least the RTL and compiler. try the following: (assuming you have a unix-like find installed)

find rtl -type f | check83
find compiler -type f | check83

With check83 the following little proggy:

program check83;
uses sysutils;
Var
 S,F : String;
 P : integer;
begin
  While not eof do
    begin
    Readln(s);
    F:=ExtractFilename(S);
    P:=Pos('.',F);
    If (length(F)>12) or
       (P>9) then
      Writeln(f,' ',P);
    end;
end.

The program doesn't report any errors here, so the filenames are OK. There are some files that are reported as errors in the FCL, but these will not work on DOS anyhow, so...

We do try to take this into account.

Show quoted text 16 lines
2. The source directory is very difficult to navigate. It is almost as bad as /usr/bin under Unix. A well written "map" or "index" file should be added with all haste. Additionally, it appears that certain machine and OS specific files are held in the general directory. This only adds to the clutter. I suggest a structure somewhat like this: /source/compiler/ |-IA32 | |-- DOS (Optionally; just having OS files in their prcessor categories should be sufficient. ) | |-- Linux | |-- FreeBSD | L-- That other OS from Redmond... |-PPC | |- OS X

The 1.1 development branch already has a changed structure which goes in this direction. Not quite, but mostly.

etc.... 3. Documentation (Part I): The documentation is the best I've seen in years but still it has a few things which could be better:

In fact, it is SO good, that a publishing company refused to publish it since they expected not to make money on it, as it's already freely downloadable...

:-)

Show quoted text 5 lines
Section 1.3: This list is nearly identical to the handout I got in highschool back in '94... =P Unfortunately, one needs to go rummaging through the rest of the document in order to find the discussion of these keywords. Saying something like:

Please indicate which manual and the title of the section. The section numbers aren't fixed.

Show quoted text 6 lines
"ASM (Pg.40) Begin (Pg.35) Break (Pg. 63)" would be a great improvment.

If you are referring to the list of reserved keywords, then the page numbers will not be added; They would confuse matters IMHO.

You can, however, look in the index for the page numbers, that is what an index is for.

Show quoted text 6 lines
4. Documentation (part II): While your syntax diagrams are a nice innovation (Its the first time I have read a language text that used them), A thourough discussion of the *symantics* of the varrious language features seems to be missing. Of particular interest to me is what exactly "PROGRAM" means to the compiler.

That an executable module follows, of course ? I don't understand what you mean with this. Could you give more examples ? I'll be glad to add more explanations.

Show quoted text 13 lines
Okay, that's enough "bugs"; My plans for the system is to fork a version that I will call "Spherical", Its runtime environment will be used as the kernel of my Sphere Operating System. The root environment will NOT support the "program" type, rather software written to run at system level must use a new "SPHERE" outline. Sphere is/will be a system oriented operating system. -- Waiting for a typical DOS application to crash is like waiting for hell to freeze over.

i.e about every hour. You should read Damon Knight :) (or was it Asimov?)

Michael.

Reply by email

Konstantin Muenning
to Unknown author

Hi!

I think check83 misses an important test - file "test.jpeg" would be ok but it is not! See correction below.

Show quoted text 15 lines
program check83; uses sysutils; Var S,F : String; P : integer; begin While not eof do begin Readln(s); F:=ExtractFilename(S); P:=Pos('.',F); If (length(F)>12) or

(length(F)>P+3) or

(P>9) then Writeln(f,' ',P); end; end.

Have a nice day!
Konstantin Münning ,,,
-------------------------------/'^'\------------------------------------ www.muenning.com ( o o )
--------------------------oOOO--(_)--OOOo------------------------------- Beware of Programmers who carry screwdrivers.
-- Leonard Brandwein
(-O-)
The man who follows the crowd will usually get no further than the crowd. The man who walks alone is likely to find himself in places no one has ever been. -- Alan Ashley-Pitt

Reply by email

Alan Grimes
to Unknown author: All files that should be compilable on DOS do have the 8.3 format; This includes at least…

New bug:

Each source file includes a GPL notice. -- FINE --

WHERE IS THE TEXTUAL DESCRIPTION OF WHAT THE FILE DOES/CAN DO?

Should I *really* have to scan through the entire file, locating all symbol names and finding all comments?

I am not an elite codemeister; I really can't gain much from just looking at code and trying to figure out where in the puzzle it fits... Pascal is a great language for readability, but it is not *that* great...

Show quoted text 5 lines
If you are referring to the list of reserved keywords, then the page numbers will not be added; They would confuse matters IMHO. You can, however, look in the index for the page numbers, that is what an index is for.

An index of the reserved keywords is __NOT__ in the refferance manual.

Show quoted text 9 lines
> 4. Documentation (part II): While your syntax diagrams are a nice > innovation (Its the first time I have read a language text that used > them), A thourough discussion of the *symantics* of the varrious > language features seems to be missing. Of particular interest to me > is what exactly "PROGRAM" means to the compiler. That an executable module follows, of course ? I don't understand what you mean with this. Could you give more examples ? I'll be glad to add more explanations.

/me has thought about it some more and decided that the manual is just fine for a refferance manual, What I really need is a text that will get me back up to speed on the language and its philosophies. The last time I worked with Pascal was in Highschool on Xenith XTs, with no HD... =\

For your information, there is a wide variety of concepts and terminology surrounding many programming paradigms. Each language is its own "ontology", Just saying something is a "program" doesn't cut it because the it can mean different things in different operating systems. The Pascal "Program" mapps almost perfectly onto DOS, but Unix uses the "process" which has evolved to be significantly more sophisticated, I don't fully understand how daemon processes work, but they are significantly different than a simple "DO THIS" program...

The threading support in Linux suggests that one implement "Concurrent Pascal", as mentioned by Stallings in Operating Systems, second ed.

I still have the lab hand-out packet, but it was written by a trio of female tax-suckers; not nearly as deep as I need it to be... It barely gets into files much less the details of seperate compilation and the equivalent header files (units?)...

Reading through the manuals available on the website some more I find refferance to a compiler manual which, presumably, includes a walkthrough of the compiler source... However this document is not on the website.

Waiting for a typical DOS application to crash is like waiting for hell to freeze over. http://users.erols.com/alangrimes/ <my website.

Reply by email

Jonas Maebe
to Alan Grimes
Alan Grimes wrote
Each source file includes a GPL notice. -- FINE -- WHERE IS THE TEXTUAL DESCRIPTION OF WHAT THE FILE DOES/CAN DO?

Just above it. E.g. from the compiler/tcset.pas:

***
$Id: tcset.pas,v 1.1.2.3 2001/10/11 16:09:55 jonas Exp $ Copyright (c) 1998-2000 by Florian Klaempfl

Type checking and register allocation for set/case nodes ***

Granted, the descriptions are quite short in some cases, but there should always be one.

Jonas

Reply by email

Michael Van Canneyt
to Alan Grimes: New bug: Each source file includes a GPL notice. -- FINE -- WHERE IS THE TEXTUAL…
Alan Grimes wrote 5 lines
New bug: Each source file includes a GPL notice. -- FINE -- WHERE IS THE TEXTUAL DESCRIPTION OF WHAT THE FILE DOES/CAN DO?

There isn't any, except of the small line in the GPL notice.

Should I *really* have to scan through the entire file, locating all symbol names and finding all comments?

Yes.

Show quoted text 5 lines
I am not an elite codemeister; I really can't gain much from just looking at code and trying to figure out where in the puzzle it fits... Pascal is a great language for readability, but it is not *that* great...

If you want to make a new port of the compiler, you'll have to get thoroughly familiar with the RTL and Compiler anyhow. You will have to read through almost any file in any case.

Better to read the arch.pdf file which describes the compiler and RTL structure.

Show quoted text 8 lines
> If you are referring to the list of reserved keywords, then the page > numbers will not be added; They would confuse matters IMHO. > You can, however, look in the index for the page numbers, that is what > an index is for. An index of the reserved keywords is __NOT__ in the refferance manual.

Hm. I will add this for the next release. All functions are indexed, keywords apparently not. I will fix this.

Show quoted text 15 lines
>> 4. Documentation (part II): While your syntax diagrams are a nice >> innovation (Its the first time I have read a language text that used >> them), A thourough discussion of the *symantics* of the varrious >> language features seems to be missing. Of particular interest to me >> is what exactly "PROGRAM" means to the compiler. > That an executable module follows, of course ? I don't understand what > you mean with this. Could you give more examples ? I'll be glad to add > more explanations. /me has thought about it some more and decided that the manual is just fine for a refferance manual, What I really need is a text that will get me back up to speed on the language and its philosophies. The last time I worked with Pascal was in Highschool on Xenith XTs, with no HD... =\

This is explicitly not the intention of the manual.

Show quoted text 9 lines
For your information, there is a wide variety of concepts and terminology surrounding many programming paradigms. Each language is its own "ontology", Just saying something is a "program" doesn't cut it because the it can mean different things in different operating systems. The Pascal "Program" mapps almost perfectly onto DOS, but Unix uses the "process" which has evolved to be significantly more sophisticated, I don't fully understand how daemon processes work, but they are significantly different than a simple "DO THIS" program...

No, they are not. Daemons are normal programs.
And a 'unix' process can be mapped 1-1 to a dos program.

The threading support in Linux suggests that one implement "Concurrent Pascal", as mentioned by Stallings in Operating Systems, second ed.

Thread support is being worked on, but not yet finished.

Show quoted text 10 lines
I still have the lab hand-out packet, but it was written by a trio of female tax-suckers; not nearly as deep as I need it to be... It barely gets into files much less the details of seperate compilation and the equivalent header files (units?)... Reading through the manuals available on the website some more I find refferance to a compiler manual which, presumably, includes a walkthrough of the compiler source... However this document is not on the website.

This is correct: The document is not yet finished. I can send you a copy in acrobat PDF if you want.

Michael.

Reply by email

Marco van de Voort
to Michael Van Canneyt: Thank you. We don't have long extensions in FPC, so I didn't test for them, but this is…
Show quoted text 9 lines
On Tue, 20 Nov 2001, Konstantin Muenning wrote: > Hi! > > I think check83 misses an important test - file "test.jpeg" would be ok > but it is not! See correction below. Thank you. We don't have long extensions in FPC, so I didn't test for them, but this is of course better.

Sure we have. But they are in the linux specific directories. (spec files ininstall/ and install/debian)

Reply by email

Andreas K. Foerster
to Alan Grimes: Hi, I reciently downloaded the DOS version on a true DOS system. First off, This thing is…

Sorry for being Offtopic, but this must be said!

Alan Grimes wrote
First off, This thing is good enough to be commercial software!

I would rather say, it's too good to be commercial software!

You seem to have different experiences, but I find, that lots of free software is really good and some (few) are even better than their commercial counterparts. They are just not so "userfriendly" and so colorfull. ;-)

(Okay, you seem to be more the DOS type and I must confess, that FreeDOS isn't yet really usable, but it's still declared as Beta.)

It is decades ahead of any GNU.org project in existance.

GNU are not the only ones, who make free software!

(Simply making it run well under DOS gives it a 10 year lead over a Linux package).

Lots of Linux/Unix programs also exist for DOS. Most people just don't know about it. But there are packages of GhostScript, LaTeX, Emacs and so on for DOS.

Tschuess Andreas

Reply by email