CS: Compiled Script - c-like

1. CS: Compiled Script - c-like

???
gokernel

(usa Linux Mint)

Enviado em 09/02/2013 - 17:22h


Com vcs o CS ( Compiled Script ) usando a MA ( Micro Assembler ):

http://code.google.com/p/microasm/downloads/list
arquivo: cs.zip

hospedei temporariamente o arquivo na pagina da MA mas depois criarei uma pagina propria ...

Ele é um BETA em fase bem inicial, e executa em modo compilado real x86 ( 32 bits ) ... testado no Windows 7 e Linux MINT.

Reserved Words in cs:
-------------------------------------------------

for (i = 0; i < 100; i++) { ... }

if (a > 100 && b < 200 && c == 500) { ... }

info var_name;

int a = 100, b = 500, c = 1500, ... ;

-------------------------------------------------

para compilar leio o arquivo README.txt

Abraço !!!


  


2. Re: CS: Compiled Script - c-like

???
gokernel

(usa Linux Mint)

Enviado em 14/02/2013 - 20:37h


e só para demonstrar um pequeno exemplo a nível didático vai isso com menos de 500 linhas:

http://codepad.org/U2Iwqxwu




3. Re: CS: Compiled Script - c-like

???
gokernel

(usa Linux Mint)

Enviado em 17/02/2013 - 06:55h


Pronto a primeira Release Stable esta disponivel:

http://code.google.com/p/microasm/downloads/list

WORDS:
function, if, include, info, int, pvoid

Exemplos na pasta ( script ).

Varios bugs foram revistos ...

E para nao complicar tanto fiz o "interpreter" basicamente assim:

[code]

//-------------------------------------------------------------------
//
// THANKS TO:
// 01 - The only GOD, creator of heaven and earth, in the name of JESUS CHRIST.
//
// CS: Compiled Script
//
// This use the library MA (Micro Assembler) by gokernel.
//
// WORDS:
// function, if, include, info, int, pvoid
//
// START DATE: 16/02/2013 - 16:30
//
// BY: gokernel - gokernel@hotmail.com
//-------------------------------------------------------------------

#include "cs.h"

int main (int argc, char *argv[])
{
char string [1024];

cs_Init ();
cs_LibInit (); // init the standard library

//---------------------------------------------------------------
//
// Add a C native Function
//
//---------------------------------------------------------------
// cs_FuncAdd ( "func_name", 0, "", (void*)Cfunction, NATIVEC );

if (argc >= 2) {
FILE *fp;

if ((fp = fopen (argv[1], "rb")) != NULL) {
char str [10000];
int i = 0, c;

while ((c=getc(fp))!=EOF) str [i++] = c;
fclose (fp);

// if not erro then execute the compiled function
//
if ( !cs_Parse (Glang, str) )
{
((void(*)()) Glang->func->code )();
}

} else printf ("File Not Found: '%s'\n", argv[1]);

return 0;
}

printf (
"_____________________________________________________________________\n\n"
" Glory and honor to the only God, creator of heaven and earth\n"
" in the name of JESUS CHRIST !\n\n"
" For list the functions type: 'func();'\n"
" For 'quit' type: q, quit\n\n"
" WORDS: function, for, if, include, info, int, pvoid\n"
"_____________________________________________________________________\n"
);

// interative mode
for (;;)
{
printf ("cs > ");
gets (string);

if (strlen(string) >= 1)
{
if ( (!strcmp(string, "q")) || (!strcmp(string, "quit")) )
break;

// if not erro then execute the compiled function
//
if ( !cs_Parse (Glang, string) )
{
((void(*)()) Glang->func->code )();
}

}
}

printf ("Exiting With Sucess !!!\n");

return 0;
}

[code]



4. Re: CS: Compiled Script - c-like

???
gokernel

(usa Linux Mint)

Enviado em 17/03/2013 - 09:53h

Atualizado hoje(17/03/2013) a MA(Micro Assembler) e CS(Compiled Script):

Caramba !!! ... mais de 15 dias sem atualizar, é falta de tempo mesmo .

http://code.google.com/p/microasm
http://code.google.com/p/microasm/downloads/list

changelog MA:
version 0.18.0: - 17/03/2013
- added: gen_set_float_value ()
- added: gen_inc_float ()
- added: gen_mov_var_eax ()
- added: gen_mov_value_eax ()
- added: gen_add_var_eax ()
- added: gen_add_value_eax ()
- added: gen_mov_eax_var ()
- added: gen_addl_pointer ()
- added: gen_subl_pointer ()

changelog CS:
version 0.12.0: - 17/03/2013
- changed: stmt ()
- changed: word_int ()
- changed: word_pvoid ()
- added: word float
- added: word pint
- added: on lib: malloc
- added: on lib: sprintf
- added: on lib: toint

01 - Agora com total argumentos(15) para Nativa Funçoes ...
02 - Inicial float suporte ...
03 - Definindo um modelo de EXTENSAO ... pasta( ext ), extensao para SDL ( sdlext.c, sdlext.dll/so, sdlext.cs)

A campus foi melhorada para melhor apresentacao ... mas no futuro vou descontinuar e trocar por extensao e vou adotar o nome para um projeto particular .

para compilar CS para linux veja o arquivo ( compile_linux.sh )

Acho que é isso so ... BETA AINDA ...








Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts