README and directory structure reorganization
authorxchaos <xchaos@4bb87942-c103-4e5a-b51c-0ebff58f8515>
Sun, 13 Jan 2008 18:54:37 +0000 (18:54 +0000)
committerxchaos <xchaos@4bb87942-c103-4e5a-b51c-0ebff58f8515>
Sun, 13 Jan 2008 18:54:37 +0000 (18:54 +0000)
git-svn-id: https://dev.arachne.cz/repos/cll1h/trunk@11 4bb87942-c103-4e5a-b51c-0ebff58f8515

README [new file with mode: 0644]
cll1.txt [deleted file]
demos/fastcgi/fastcgi.c [moved from fastcgi/fastcgi.c with 100% similarity]
demos/mysql/mysql.c [moved from mysql/mysql.c with 100% similarity]
demos/objects/cobjects.c [moved from objects/cobjects.c with 100% similarity]
fastcgi/cll1.h [deleted symlink]
mysql/cll1.h [deleted symlink]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..b183428
--- /dev/null
+++ b/README
@@ -0,0 +1,19 @@
+C<<1 header file v - style sheet for ANSI C
+
+Copyright (c)2004-2008 Michael xChaos Polak, Arachne Labs, x(at)n.cz
+
+See https://dev.arachne.cz/svn/cll1.h for details, documentation and FAQ
+(or https://orion.stresovice.czf/svn/cll1h when inside CZFree.Net).
+
+See http://www.arachne.cz/ for Arachne Labs contact and product information.
+
+Type "make install" to install cll1.h header file and bake/cake optional tools
+to /usr/include and /usr/bin directories.
+
+See directory demos/ for C<<1 programming examples. Type "bake *.c" in each
+demo/ subdirectory to build all sample programs in given directory. You need
+to have FastCGI (libfcgi) a MySQL (libmysqlclient) header files and 
+libraries installed to be able to build examples in mysql/ and fastcgi/
+subdirectories.
+
+On Debian systems, you can type "make deb" to create Debian package cll1h-dev.
diff --git a/cll1.txt b/cll1.txt
deleted file mode 100644 (file)
index 5a37cc1..0000000
--- a/cll1.txt
+++ /dev/null
@@ -1,214 +0,0 @@
-THIS FILE IS OBSOLETE !!!
-
-
-
-
-C<<1: The Programming Language
-==============================
-
-Feedback: xchaos@arachne.cz
-Homepage: http://gpl.arachne.cz
-
-Copyright (G) 2004 Michael Polak, x@n.cz
-C<<1 is available under terms of GNU Lesser Public License (LGPL)
-This file is available under terms of GNU Free Documentation License
-
-1. Introduction
----------------
-
-There are various extensions and definitions of classical C language,
-for example object oriented "C++" and "Objective C", minimalistic C--,
-proprietary C# used by .Net project, etc. Many other modern languages
-
-C<<1 is designed to work as "stylesheet" for very classical ANSI C, and
-it was specificaly tested to work fine with GNU C Compiler gcc. There is
-no special C<<1 compiler or interpreter; instead, you are expected to 
-include special header file called cll1.h the same way you would include
-let's say string or I/O library implemented in standard C library. Except
-that you don't need to link your executable with any special library,
-neither staticaly nor dynamicaly, and you don't have to configure your gcc
-or make to do so.
-
-#include <cll1.h>
-
-Or #include "cll1.h", if cll1.h is not installed in your /usr/include
-directory. That'it. No linking, no initialization, allocation, or so.
-
-C<<1 can be used for dummy, structured or object oriented programing,
-whatever method you prefere. C<<1 focuses mainly on adding new complex
-semantic structures into C, rather than inventing brand new syntax or class
-hieararchy, or providing set of pre-defined library functions. To allow
-that, most of C<<1 functions are implemented as macros for C preprocessor.
-
-2. Getting started
-------------------
-
-#include <cll1.h>
-
-program
-{
- puts("Hello World!"); 
-}
-
-Of course, int main(int argc,void **argv) can be still used. In fact,
-macro "program" doesn't do much more than that ! Following program prints 
-all arguments:
-
-program
-{
- char *ptr;
- arguments
- {
-  thisargument(ptr);
-  puts(ptr); 
- }
- else
-  puts("Bleeeeh, no arguments supplied... :-(");
-}
-
-Well, don't be surprised with "else" after "arguments". This is not the 
-last time in C<<1, when you will see C keywords somewhere you don't expect
-them. Of course, you would like to use it this way, I guess: 
-
-program
-{
- char *ptr;
- arguments
- {
-  argument("-?") printf("This is just help!\n");
-  else argument("-f") { nextargument(ptr) printf("Forced argument: %s\n",ptr); }
-  else { thisargument(ptr); printf("Simple argument: %s \n",ptr); }
- }
- else
-  puts("Bleeeeh, no arguments supplied... :-(");
-}
-
-2. Where is my main() funciton ?!  
----------------------------------
-
-If you want to use int main(int argc,void **argv) { } instead of 
-program { }, it's ok. Being fan of Basic and not Pascal, I don't
-like the program keyword at all. In fact, by avoiding "program" construct
-and using standard main() declaration, you would be still able to access 
-most of C<<1 functionality, but for example not the arguments() structure
-mentioned above.
-
-3. Ok, let's go on
-------------------
-
-This is some code to send e-mail using unix sendmail:
-(ok, nothing special, same as "echo .... | sendmail ....")
-
-program
-{
- paste("From: me@here\nSubject: Here we go...\n\nblah blah blah")
- system("/usr/sbin/sendmail someone@somewhere");
-}
-
-This program prints exactly 6th column of /etc/passwd file 
-(ok, nothing special, same as "cut -f 6 -d : /etc/passwd")
-
-program
-{
- char *ptr;
- parse("/etc/passwd")
- {
-  column(ptr,_,':',6);
-  if(ptr)puts(ptr);
- }
- done;
-}
-
-But next program prints 1st and 6th column of /etc/passwd.
-(What is equivalent in bash ?)
-
-program
-{
- char *ptr;
- int i;
- parse("/etc/passwd")
- {
-  columns(ptr,_,':',i) switch(i)
-  {
-   case 1: printf("%s...",ptr); break;
-   case 6: puts(ptr);
-  }
- }
- done;
-}
-
-
-4. Groups of C<<1 macros 
-------------------------
-
-! - macro is available only when using "program" instead of "main()"
-
-I. Unconditional iterations - without else
-
-every
-iterate
-repeat !
-
-II. Conditional iterations - else can happen once
-
-find
-arguments !
-argument
-nextargument
-
-III. Conditional iterations - else can happen many times
-
-search
-valid_split
-valid_columns
-
-IV. Weird iterations (with something special)
-
-parse - [fail] - done
-
-V. Standalone sequences - they look like function calls, but they are not.
-
-insert
-append
-push
-remove
-sort
-shell
-paste
-column
-valid_column
-...
-
-VI. Well behaved seqences - can be used anywhere where functions can.
-
-create
-string
-goto_*
-prefix
-suffix
-...
-
-5. Forbidden namespace
-----------------------
-
-Variables starting with _ (underscored) followed by one or more capital
-characters (A-Z) are reserved as C<<1 private compile-time namespace.
-
-6. Compile time errors
-----------------------
-
-- parse error at end of input 
-
-You probably forgot to close some macro which must be obligatory
-terminated by another macro - as "parse error" message suggests, 
-it is likely to be error in macro "parse() { } [ fail ] { } done; "
-
-:-)
-
-7. We apologize for inconvenience
----------------------------------
-
-This documentation file is unfortunately incomplete.
-HTML online documentation is comming soon ... sooner ... or later...
similarity index 100%
rename from fastcgi/fastcgi.c
rename to demos/fastcgi/fastcgi.c
similarity index 100%
rename from mysql/mysql.c
rename to demos/mysql/mysql.c
similarity index 100%
rename from objects/cobjects.c
rename to demos/objects/cobjects.c
diff --git a/fastcgi/cll1.h b/fastcgi/cll1.h
deleted file mode 120000 (symlink)
index a4cde1a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../cll1.h
\ No newline at end of file
diff --git a/mysql/cll1.h b/mysql/cll1.h
deleted file mode 120000 (symlink)
index a4cde1a..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../cll1.h
\ No newline at end of file
This page took 0.201792 seconds and 4 git commands to generate.