MyCTiger: Use Ring for generating and building C programs (Prototype of the idea)

134 views
Skip to first unread message

Mahmoud Fayed

unread,
Nov 15, 2025, 9:28:51 AMNov 15
to The Ring Programming Language
Hello

Project Name: MyCTiger


Goal: Use the Ring programming language for generating and building C programs (Prototype of the idea). 

Description:

MyCTiger transforms the Ring programming language into a powerful domain-specific language (DSL) for generating and building C programs.

It empowers developers to enjoy the performance and efficiency of C while leveraging Ring’s expressive syntax and productivity for DSL creation. Unlike traditional approaches that embed Ring within C applications or extend the Ring VM using C code, MyCTiger reimagines Ring as a meta-language for C.

This isn’t about runtime language integration—it’s about compile-time code generation. With MyCTiger, Ring becomes a high-level interface for producing C code, enabling direct injection of raw C and seamless use of existing C libraries without bindings.

Greetings,

Mahmoud

Mansour Ayouni

unread,
Nov 15, 2025, 9:43:47 AMNov 15
to Mahmoud Fayed, The Ring Programming Language
Hello Mahmoud,

What can i say: it's a HUDGE news and transformative feature for the present and future of Ring!

Ring is elegant, expressive and ritch, yet open by extension to C and C++... Now we can tackle machine learning, and any performance critical domain directly with Ring!

THANK you very much Mahmpoud!!
And I'm happpy that this raw C force will make my stzExterLib polyglot programming module in Softanza even more powerful : 
image.png
Keep Impressing Us!
Long Life Ring!

Best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/ring-lang/8c8c82f7-1905-47a2-ba09-0f4b7fa79b18n%40googlegroups.com.

Mahmoud Fayed

unread,
Nov 15, 2025, 9:49:21 AMNov 15
to The Ring Programming Language
Hello Mansour

You are welcome :D

Greetings,
Mahmoud

Ilir Liburn

unread,
Nov 15, 2025, 10:05:46 AMNov 15
to The Ring Programming Language
Hello Mahmoud,

It is better to have CTiger than CElephant like Ring2C project is. This will simplify writing the C transformer in the future. Thank you.

Greetings,
Ilir

Mahmoud Fayed

unread,
Nov 15, 2025, 10:17:36 AMNov 15
to The Ring Programming Language
Hello Ilir

You are welcome :D

Greetings,
Mahmoud

Youssef Saeed

unread,
Nov 15, 2025, 2:40:27 PMNov 15
to The Ring Programming Language
Hello Mahmoud,

Thanks for sharing MyCTiger! I love the concept of using Ring as a compile-time DSL for C code generation—flipping the typical embedding approach on its head is really clever. Getting Ring's expressive syntax for meta-programming while extracting raw C performance (and skipping binding boilerplate entirely) feels like a fresh, practical take on the best of both worlds. Appreciate you putting this out there!

Best regards,
Youssef

Mahmoud Fayed

unread,
Nov 15, 2025, 2:52:42 PMNov 15
to The Ring Programming Language
Hello Youssef

You are welcome :D

Greetings,
Mahmoud

Bert Mariani

unread,
Nov 17, 2025, 10:50:50 AMNov 17
to The Ring Programming Language
Hello Mahmoud

An Impressive New Addition to Ring !!
Will have to try it out.

How is this different than using:
     C:\ring\bin\ring2exe.exe Curl-Get-QHD.ring    ==>   Curl-Get-QHD.exe

Where Ring Code was converted to an EXE file

Mahmoud Fayed

unread,
Nov 17, 2025, 10:55:46 AMNov 17
to The Ring Programming Language
Hello Bert

You are welcome :D

In Ring2EXE, the Ring program is compiled to Ring Byte Code then the generated executable executes this byte code using Ring VM

In MyCTiger, think about it as (Using Ring instead of using C Pre-processor) 
i.e. When writing C code, we have pre-processor and the ability to use #include, #define, etc.
MyCTiger works at this layer, so Ring code is used for generating C code and then building the application (instead of Batch Files)

MyCTiger is just a prototype for this idea, could be extended by interested developers through writing libraries, DSL, etc. 

Greetings,
Mahmoud

Mahmoud Fayed

unread,
Nov 29, 2025, 7:58:04 PM (8 days ago) Nov 29
to The Ring Programming Language
Hello


Interested developers can improve MyCTiger in their own forks or collaborate within one of the existing forks (currently, we have Azzedine’s version).

This way, we can keep the original MyCTiger project unchanged—as a simple prototype to demonstrate the idea.

Greetings,
Mahmoud

Mansour Ayouni

unread,
Nov 29, 2025, 8:04:20 PM (8 days ago) Nov 29
to Mahmoud Fayed, The Ring Programming Language
Hello Azzeddine,

Thank you for your contribution to this wonderful project! I hope you will continue working on it.
I'll test it when I have time and I'll let you know.

Best,
Mansour

--

---
You received this message because you are subscribed to the Google Groups "The Ring Programming Language" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ring-lang+...@googlegroups.com.

Ka mara

unread,
Dec 3, 2025, 8:57:48 AM (5 days ago) Dec 3
to Mansour Ayouni, Mahmoud Fayed, The Ring Programming Language

Hallo Mahmoud et others
How do you get started with testing this??

Running; Tiger helloc.tiger

 In ring 1.24 lightRelease Cmd

Says "Tiger not recognized"


IMG_20251203_165026_827_1.jpg

Mahmoud Fayed

unread,
Dec 3, 2025, 4:49:33 PM (5 days ago) Dec 3
to The Ring Programming Language
Hello 

>> "How do you get started with testing this??"

Run build.bat to create Tiger.exe

Greetings,
Mahmoud


Reply all
Reply to author
Forward
0 new messages