savannah-register-public
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[task #16391] Submission of C3 Cubism C Extension


From: Askar Azhibaev
Subject: [task #16391] Submission of C3 Cubism C Extension
Date: Tue, 11 Jul 2023 06:38:03 -0400 (EDT)

URL:
  <https://savannah.gnu.org/task/?16391>

                 Summary: Submission of C3 Cubism C Extension
                   Group: Savannah Administration
               Submitter: askar
               Submitted: Вт 11 июл 2023 10:38:01
         Should Start On: Вт 11 июл 2023 00:00:00
   Should be Finished on: Пт 21 июл 2023 00:00:00
                Category: Project Approval
                Priority: 5 - Normal
                  Status: None
                 Privacy: Public
        Percent Complete: 0%
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
                  Effort: 0.00


    _______________________________________________________

Follow-up Comments:


-------------------------------------------------------
Date: Вт 11 июл 2023 10:38:01   By: Askar Azhibaev <askar>
A new group has been registered at Savannah.
This group will remain inactive until a site admin approves
or discards the registration.


= Registration Administration =

Approving or discarding the registration must be done using the specific
[https://savannah.gnu.org/siteadmin/groupedit.php?group_id=12299 Group
administration] page, accessible only to site
administrators logged in as superusers.

= Registration Details =

* Name: *C3 Cubism C Extension*
* System Name:  *c3ext*
* Type: Extras for official GNU software
* License: GNU General Public License v3 or later

----

== Description: ==
C3 Cubism is an extension to the C language that automates the creation of
programs.
Based on the art direction of cubism, this is the desire to decompose the
system into its simplest components.
This approach makes it possible to accurately describe small modules - cubes,
from which a system is automatically assembled that exceeds the complexity of
initial representations.
It may seem that this project repeats the principles of object-oriented
programming for the C language, but makes it more meaningful.
Difficult moments are transferred to the field of automation. Thus, program
texts are generated automatically, based on the description, made by man.
The main purpose of the project is to make programs more understandable and
familiar to humans.
The architecture consists of independent layers that can be used by humans.
The first layer is a three-dimensional system of data structures, functions
for processing them, and the newest is data transfer routes.
The second layer is a modular system of the simplest modules - cubes, which
actively uses the C preprocessor.
The third layer is a program - analyzer, for creating modules based on a
description made by a person.
The fourth layer is a line processor, thanks to which, additions are possible
for the C language, which simplifies working with different types of data,
for example with strings like this:
s = "Hello" + ", " + "World !"
or with files:
file >> string
it means reading from a file into a string,
or with list:
list >> item
means reading item from list
conditions:
(c is DIGIT) ?
     putchar(c);
: printf("Not digit\n");
The fifth layer is the transformation of a human-made natural language
description into C.

Cubism - это расширение для языка C,
автоматизирующее создание программ.
Основано на направлении искусства кубизм,
это стремление разложить систему на
простейшие составляющие.
Такой подход позволяет точно описывать
мелкие модули - кубики, из которых
автоматически собирается система,
превосходящая по сложности
первоначальные представления.
Может показаться, что этот проект
повторяет принципы
объектно-ориентированного
программирования для языка C, но делает это
более осмысленно. Сложные моменты
перенесены в область автоматизации. Таким
образом, тексты программ генерируются
автоматически, на основе описания,
сделанного человеком.
Основное назначение проекта, это сделать
программы более понятными и привычными
для человека.
Архитектура состоит из независимых слоев,
которые можно использовать человеком.
Первый слой, это трехмерная система из
структуры данных, функций для их
обработки, и самое новое, это маршрутов
передачи данных.
Второй слой, это модульная система из
простейших модулей - кубиков, очень
активно использует препроцессор языка C.
Третий слой, это программа - анализатор,
для создания модулей на основе описания,
сделанного человеком.
Четвертый слой, это строчные процессор,
благодаря которому, возможны дополнения
для языка C, упрощающую работу с разными
типами данных,
например со строками, в таком стиле:
s = "Hello" + ", " + "World !"
или с файлами:
file >> string
это означает чтение из файла в строку,
или с листами:
list >> item
означает чтение item из list
условия:
(c is DIGIT) ?
    putchar(c);
:   printf("Not digit\n");
Пятый слой, это преобразование описания на
естественном языке, сделанного человеком,
на язык C.



== Tarball URL: ==
https://azhibaev.com/c3.git









    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/task/?16391>

_______________________________________________
Сообщение отправлено по Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]