• Home
  • Most Popular
  • Submit
  • About Us
  • Contact Us

Softpile

Free Downloads

Categories
  • Home
  • Most Popular
  • Communications
  • Desktop
  • Games & Entertainment
  • Graphic Apps
  • Network & Internet
  • Security & Privacy
  • System Utilities
Alternative to itextsharp 2022.11.10347
IronPDF offers an itextsharp alternative for HTML to PDF conversion with C# code examples, documentation, and ...
VShell Server for Linux and Mac 4.8
VShell is a versatile and secure file transfer server that supports multiple protocols and is compatible ...
PDF Studio PDF Editor for Linux 2022
PDF Studio is a cost-effective PDF editor that delivers full compatibility with the PDF Standard. It's ...
VQ Probe for Linux 1.5
VQ Probe is a comprehensive software tool that enables objective and subjective video quality analysis. The ...
Resilient Server 2.3
This Debian GNU/Linux (Buster) based software has a customized partitioning scheme that enhances robustness against filesystem ...
Valentina Studio for Linux 9.6
Valentina Studio is a cross-platform GUI manager for Mac, Windows, and Linux. It allows users to ...
VPN Lifeguard for Linux 1.0.58
The software monitors VPN connection and automatically terminates apps during connection loss, re-establishes the connection and ...
G_Viewer 0.84
G_Viewer is a Linux software that serves as both a file system and photo/image viewer. It ...
Checksome File Hash Tool for Linux 1.1
This software allows for the generation and verification of file hashes. It is a quick and ...
KeyWrangler Password Manager for Linux 1.2
A password management software that is secure, offline and extensible. It offers military-grade encryption to protect ...
Home Linux cid-compiler Download

cid-compiler

March 7, 2006
Cid-compiler is a user-friendly tool for building object-oriented C code with ease.
Version 0.1
License BSD License
Platform Linux
Supported Languages English
Homepage wiki.opendarwin.org
Developed by Markus W Weissmann
The cid-compiler is a language tool specifically designed to create C code with object-oriented features. This compiler generates header (.h) and implementation (.c) files from a specification file (.i) with ease. The C code produced consists of a struct, an opaque pointer to it (in the header file), and rewritten functions.

With this tool, functions are defined and prefixed with the class name, while a new first argument (a pointer to the newly defined struct) is added. Constructors, considered functions with no return value, do not receive a new first argument but are automatically given a return value of a pointer to the struct.

The area between @class "name" and @attributes allows for the inclusion of statements, which will be compiled into the header file. An additional way to make class renaming easier is to use the define CLASS, which serves as a pointer to the new struct type.

For instance, the following interface example:

@class cstring
#include
#include
@attributes
char *c;
@methods
new(char *n)
{
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}
int length()
{
return strlen(this->c);
}
@end

Will produce two files, namely cstring.h and cstring.c. The former will look like:

#ifndef _CSTRING_H_
#define _CSTRING_H_

#include
#include

typedef struct cstring *cstring;

cstring cstring_new(char *n);
int cstring_length(cstring this);

#endif

While the latter will look like:

#include "cstring.h"
#define CLASS cstring
#define NEWCLASS malloc(sizeof(struct cstring));
#define NEWCLASS_M malloc(sizeof(struct cstring));
#define NEWCLASS_C calloc(1,sizeof(struct cstring));

struct cstring {
char *c;
};

cstring cstring_new(char *n) {
CLASS i = NEWCLASS;
i->c = strdup(n);
return i;
}

int cstring_length(cstring this) {
return strlen(this->c);
}

One issue with the current compiler version (v0.1) is that it tends to reject valid C code. Additionally, the error messages it returns are not always helpful.
What's New

Version 0.1: N/A

Free Download 100K
387
  • Share on:

Most Popular

  1. Quicksilver Forums 1.4.2
    154
  2. Dvgrab 3.4
    102
  3. DynVPN 1.0
    89
  4. CherryTV 0.1
    81
  5. SlideMap 1.2.2
    80
  6. porm r2
    73
  7. Clewarecontrol 0.8
    72
  8. Java Games 1.0
    72
  9. Swiftfox 3.0b5pre-2
    71
  10. fuseftp 0.8
    71

Related Downloads

Parallels Workstation for Linux
Parallels Workstation allows for seamless operation of multiple operating systems, such as ...
Black Letters
This software offers a simple design for light desktop backgrounds.
Timer Plasmoid Companion Script
KDE4 plasmoid timer is a software tool that allows users to track ...
Ziink Surfer
This software offers various features such as automatic insertion of next page, ...
MyBestBB
MyBestBB is a forum software built on punBB that comes with a ...
shntool
Shntool is a versatile software tool for processing and reporting of WAVE ...
Jacktube
Jacktube is an advanced software for audio/MIDI processing, offering exceptional sound quality ...
Manauton
Manauton is sound recording software that allows for the digital capturing of ...
Tgauge
Tgauge software provides gauge-style graphical display of lm_sensor readings on GNOME, ROX ...
Terminal Blue
This software provides a blue-themed version of the popular Terminal Green theme.
Copyright © 1999-2025 Softpile Free Downloads
  • Most Popular
  • Submit
  • About Us
  • Contact Us
  • Privacy Policy
  • Disclaimer
  • Terms of Use

Can we use your data to tailor ads for you?

Our partners will collect data and use cookies for ad personalization and measurement.

By choosing "I agree", closing this pop-up or clicking on any element on the page, you agree to the use of cookies to help us provide you with a better user experience.

Learn how Softpile and our partners collect and use data.

You can change your choice at any time in our privacy center.

Cookie Settings

Our website stores four types of cookies. At any time you can choose which cookies you accept and which you refuse. You can read more about what cookies are and what types of cookies we store in our Cookie Policy.

are necessary for technical reasons. Without them, this website may not function properly.

are necessary for specific functionality on the website. Without them, some features may be disabled.

allow us to analyse website use and to improve the visitor's experience.

allow us to personalise your experience and to send you relevant content and offers, on this website and other websites.