[comp.sys.ibm.pc] DeSmet C -> MicroSoft C

holly@osu-eddie.UUCP (03/23/87)

Lately, I've come across some public domain C programs written in
DeSmet C.  However, I don't have a DeSmet C compiler and I haven't
found any switches in my Microsoft C compiler that will enable it
to recognize the DeSmet C Syntax.  (If you're not familiar with this
syntax, it seems to like to do away with { and }.  Using a $ for {
and either indentation or blank lines to signal a }.  Also appears
to use :: for ||.  What else I don't know.)

Is there any easy way to translate DeSmet C source programs to
the "regular" syntax?  Some public domain translator would be nice,
I don't need source (esp. if it's in DeSmet C), just .EXE.

Or do I need to just DEL *.* this stuff?

Mail to me, and I'll post results if there's sufficient interest.

-- 
:  Joe Hollingsworth
:  Department of Computer and Information Science
:  USMail:The Ohio State University
:	  2036 Neil Avenue Columbus, OH USA 43210-1277
:  ARPA:holly@ohio-state.{arpa,csnet}
:  UUCP:...!cb{osgd,att}!osu-eddie!holly

pavlov@hscfvax.UUCP (03/30/87)

In article <3380@osu-eddie.UUCP>, holly@osu-eddie.UUCP (Joe Hollingsworth) writes:
> Lately, I've come across some public domain C programs written in
> DeSmet C.  However, I don't have a DeSmet C compiler and I haven't
> found any switches in my Microsoft C compiler that will enable it
> to recognize the DeSmet C Syntax.  (If you're not familiar with this
> syntax, it seems to like to do away with { and }.  Using a $ for {
> and either indentation or blank lines to signal a }.  Also appears
> to use :: for ||.  What else I don't know.)

  We've used both compilers during the past 4 years; have never come across
  the "DeSmet Syntax" described above .  ??????

     greg pavlov, fstrf, amherst, ny

rjchen@phoenix.UUCP (03/30/87)

In article <3380@osu-eddie.UUCP>, holly@osu-eddie.UUCP (Joe Hollingsworth) writes:
> Lately, I've come across some public domain C programs written in
> DeSmet C.  However, I don't have a DeSmet C compiler and I haven't
> found any switches in my Microsoft C compiler that will enable it
> to recognize the DeSmet C Syntax.  (If you're not familiar with this
> syntax, it seems to like to do away with { and }.  Using a $ for {
> and either indentation or blank lines to signal a }.  Also appears
> to use :: for ||.  What else I don't know.)

I had a similar problem with Pascal programs;  braces came out as : and
assorted punctuation got mangled.  I think that some locations can't
handle those special characters and substitute (or just plain delete)
them.  For example, I have seen ^ become ~ and { become :.

So, unless you like to decipher the code, I'd say it's going to be a
difficult task trying to return the file to its original state.
-- 
-- Raymond Chen, BITNET: (preferably) 6101695@pucc, rjchen@pucc
                 ARPA: rjchen@phoenix.PRINCETON.EDU
                 UUCP: {allegra}!princeton!phoenix!rjchen

todd@uhccux.UUCP (03/31/87)

In article <3380@osu-eddie.UUCP> holly@osu-eddie.UUCP (Joe Hollingsworth) writes:
>Lately, I've come across some public domain C programs written in
>DeSmet C.  However, I don't have a DeSmet C compiler and I haven't
>found any switches in my Microsoft C compiler that will enable it
>to recognize the DeSmet C Syntax.  (If you're not familiar with this
>syntax, it seems to like to do away with { and }.  Using a $ for {
>and either indentation or blank lines to signal a }.  Also appears
>to use :: for ||.  What else I don't know.)

Whoa...Before some people get the idea that DeSmet C is some strange
C mutation, let me say that I own both DeSmet C and Microsoft C 4.0.
DeSmet C *IS NOT* some strange C variant.  It does not use '$' for '{'
or '::' for '||'.  As it says on page 4.3 of my DeSmet C 2.5 manual:
"C88 compiles C programs that conform to the standard definition of the
C language as described in the book _The C Programming Language_ by
Brian W. Kernighan and Dennis M. Ritchie."

It sounds to me like the code you are looking at was damaged in
transit by something like a brain-dead EBCIDIC (sp?) to ASCII
translator.

Although I use Microsoft C 4.0 for most of my PC based C programming,
I do not hesitate to go with DeSmet C for a rapid prototyping project.
It is follows K&R closely enough for me to be happy.

BTW: the only reason I have not updated from DeSmet 2.5 to 3.0 is
that I am waiting to see Borland Turbo C or the much rumored
Microsoft QuickC (anyone know anything about this one?).

...todd

-- 
Todd Ogasawara, U. of Hawaii Computing Center
UUCP:		{ihnp4,seismo,ucbvax,dcdwest}!sdcsvax!nosc!uhccux!todd
ARPA:		uhccux!todd@nosc.ARPA
INTERNET:	todd@uhccux.UHCC.HAWAII.EDU

authorplaceholder@gorgo.UUCP.UUCP (04/01/87)

>Lately, I've come across some public domain C programs written in
>DeSmet C.  However, I don't have a DeSmet C compiler and I haven't
>found any switches in my Microsoft C compiler that will enable it
>to recognize the DeSmet C Syntax.  (If you're not familiar with this
>syntax, it seems to like to do away with { and }.  Using a $ for {
>and either indentation or blank lines to signal a }.  Also appears
>to use :: for ||.  What else I don't know.)
>
>Is there any easy way to translate DeSmet C source programs to
>the "regular" syntax?  Some public domain translator would be nice,
>I don't need source (esp. if it's in DeSmet C), just .EXE.
 
What you have doesn't sound like C, and definately isn't DeSmet. The
DeSmet compiler is totally K&R, and was a pretty decent one for its
time. I use it all the time because it compiles fast and it's handy.
 
Many programs written in it are not compat because the authors chose
to make heavy use of its idiosyncracies. A good example of that is the
RED editor. DeSmet allows the #asm; you can write lots of assembly
code in it without getting near an assembler. There are no standards
for functions which do direct screen writes, dos calls, or keyboard
reads; programs which use those features likewise are not terribly
portable, but then, they wouldn't be for any msdos compiler.
 
Other than those, it's entirely K&R, and I have compiled many programs
from net.sources using it.
 
David Drexler
ihnp4!occrsh!gorgo!ddrex