Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #1561 > unrolled thread

Smaller C Compiler

Started byalexfrunews@gmail.com
First post2015-06-16 08:43 -0700
Last post2015-06-20 07:17 -0700
Articles 3 — 2 participants

Back to article view | Back to comp.compilers


Contents

  Smaller C Compiler alexfrunews@gmail.com - 2015-06-16 08:43 -0700
    Re: Smaller C Compiler Gene Wirchenko <genew@telus.net> - 2015-06-19 12:30 -0400
      Re: Smaller C Compiler alexfrunews@gmail.com - 2015-06-20 07:17 -0700

#1561 — Smaller C Compiler

Fromalexfrunews@gmail.com
Date2015-06-16 08:43 -0700
SubjectSmaller C Compiler
Message-ID<15-06-005@comp.compilers>
I haven't made a formal announcement here yet, so making it now.

Smaller C is a simple and small single-pass non-optimizing C
compiler currently supporting most of the C language common
between C89/ANSI C and C99 (minus some C89 and plus some C99
features).

Targeted architectures:
- i80386+
- MIPS
- TR3200 virtual CPU

Hosting and Targeted OSes:
- MS-DOS 4.01+
- Windows XP+/Server 2003+
- Linux Ubuntu 12.04 LTS+
- RetroBSD on PIC32 MIPS microcontrollers in embedded systems

Self-hosing on and Cross-compiling for:
- MS-DOS
- Windows
- Linux

Has a rudimentary preprocessor, but on x86 can invoke gcc for
preprocessing if instructed to. Uses an external preprocessor
on RetroBSD.

Comes with a standard library for x86 and a linker for x86.

Uses an external assembler (NASM for x86) to assemble generated
assembly code.

Can produce 16-bit and 32-bit executables, including "flat" for
x86, which may be handy for custom bootloaders, hobby OSes and
such.

BSD-licensed.

Source, binaries, documentation, links:
https://github.com/alexfru/SmallerC

[toc] | [next] | [standalone]


#1562

FromGene Wirchenko <genew@telus.net>
Date2015-06-19 12:30 -0400
Message-ID<15-06-006@comp.compilers>
In reply to#1561
On Tue, 16 Jun 2015 08:43:18 -0700 (PDT), alexfrunews@gmail.com wrote:

>I haven't made a formal announcement here yet, so making it now.
>
>Smaller C is a simple and small single-pass non-optimizing C
>compiler currently supporting most of the C language common
>between C89/ANSI C and C99 (minus some C89 and plus some C99
>features).

[snip]

>Self-hosing on and Cross-compiling for:
 ^^^^^^^^^^^
      I take it that it does not include a debugger.  <BEG>

[snip]

Sincerely,

Gene Wirchenko

[toc] | [prev] | [next] | [standalone]


#1563

Fromalexfrunews@gmail.com
Date2015-06-20 07:17 -0700
Message-ID<15-06-007@comp.compilers>
In reply to#1562
On Friday, June 19, 2015 at 9:30:47 AM UTC-7, Gene Wirchenko wrote:
...
> >Self-hosing on and Cross-compiling for:
>  ^^^^^^^^^^^
>       I take it that it does not include a debugger.  <BEG>

It's only self-hos(t)ing, not self-debugging. But there exist
decent/usable debuggers for DOS, Windows and Linux, which you
could use to debug it or programs compiled with it. The latter
might be a little hardcore since there's no symbol/debug info
in the executables produced by the compiler's linker. But map
files are generated by the linker and the compiler outputs
assembly code with annotations and so matching disassembly
in, say, gdb with the assembly code and ultimately with the
source code is quite feasible. I guess, yet another debugger
could only have value if it's either somehow better than the
existing ones (e.g. richer or better suites this compiler) or
is also very small, like the compiler itself. Does "<BEG>"
mean that you're begging for yet another one? If so, why?

Alex

[toc] | [prev] | [standalone]


Back to top | Article view | comp.compilers


csiph-web