2014-06-25 17:38 GMT+02:00, Jim Hall <[email protected]>: > Of the three Forth compilers you mentioned, I appreciate that 4th is free > software (GNU GPL v3) and appears to be updated. DX Forth seems to have a > vague license disclaimer; the intent seems to be public domain, but the > author acknowledges other contributions in the package "may be subject to > copyright by their respective owners." [..]
No, nothing vague about that; just the DX Forth package may contain also a few libraries or programming examples done by the others, not just by Ed (DX Forth creator), and he added it for user's convenience while keeping original licence (if there was any). It's enough to take a look onto a Forth source code of selected program, whether there is any licence mentioned. But if I'm correct, presently there's just one tool there in dxfth397.zip distribution archive, which isn't "from ground up" Ed's creation: the screen editor (Forth code), which probably is "public domain". What makes DX Forth particularly interesting, may be: - it's written completely in assembler - it has "turnkey" facility (it can generate binaries, to run them just like other DOS program) - it interfaces to two different graphics systems: BGI driver (which has been released as freeware years ago by its autor Ullrich von Bassewitz), and to commercial Fastgraph (Ted Gruber Software - they allow to download Fastgraph/Light which is licensed as shareware) > I couldn't find a license statement in CH Forth, although it might be included > post-installation (I didn't install it). Indeed, I can't find any explicit licence either. Well, I didn't grep all its files for "licensing" term neither similar. CHForth also has "turnkey" facility, and - if I'm correct - in its larger part it's written in assembler too. > So I'll add an LSM entry for 4th in DEVEL. Very interesting capability of this one is ease of porting created applications among all platforms 4th supports. 4th also has very nice, detailed manual. But it's not quite "traditional" Forth: #v+ Like Forth, 4tH is a compiler and a interpreter. Unlike Forth you cannot switch between the two. Like Forth, 4tH runs Forth-programs. Not all of them but some. But in a quite different way. #v- > Adding a Forth compiler in the DEVEL list doesn't mean programmers should > expect programs written in Forth to be accepted into the FreeDOS BASE. The > BASE software is core to FreeDOS, so these programs should be widely > maintainable, using a programming language that most other FreeDOS BASE > contributors are likely to use. We prefer BASE programs to be written in > either C or ASM. The preferred compiler for C is OpenWatcom, and the > preferred assembler is NASM. (See > http://www.freedos.org/wiki/index.php/FreeDOS_Spec) 4th interfaces to C easily (although I didn't try to do it yet by myself) - from the docs: #v+ The allocation of variables is totally transparent to the C-programmer. He can also transfer C-variables to the user-program (application variables). These variables can be used like any other variable. Combining return- and data-stack means the C-programmer only has to worry about the size of the stack and not the sizes of both stacks, thus allowing a wider range of user-applications with different requirements. [..] A minimal compiler would take only a few lines of C-code. The C-programmer can send C-variables to the interpreter, just like strcalc(). E.g. a compile takes a string-pointer as argument and returns a pointer to H-code: object = comp_4th (source); Executing H-code is easy too: ReturnVal = exec_4th (object, argc, argv, 3, Var1, Var2, Var3); Which would preload variables Var1, Var2 and Var3. You must specify how many variables are preloaded. Also argc and **argv are available from the 4tH program. The value returned by exec_4th() and stored into ReturnVal is the value of the 4tH variable 'OUT', which initially contains CELL_MIN. If an error occurs exec_4th() will always return CELL_MIN, regardless the value stored in 'OUT'. #v- -- Z. ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Freedos-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freedos-user
