Criando uma linguagem

1. Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 11/08/2012 - 08:35h


Olá !

Você alguma vez já pensou em criar uma linguagem de computador e porque ???

RESPOSTA:
Bom eu já pensei e também já iniciei o desenvolvimento ...

O PORQUE:
01 - Simplesmente porque percebi que atualmente não existia algo muito rápido usando SCRIPT para área de games ( OBS: sei que a linguagem LUA é bem rápida, mas ficou bem lento nos meus testes usando um "bytecode").

02 - Como hobby nas horas vagas ...

03 - UM PLANO DE DOMINAÇÃO GLOBAL ... ahahaha "zoeira" ;) ;) ;)


Essa linguagem ( que ainda nao sei o nome ;) ) pretendo desenvolver para ser executada de 3 formas:
01 - ByteCode ...
02 - Script
03 - Compilada, sim poderá ser gerado um binário usando o GCC.

Como prototipo para um script temos isso:


//-------------------------------------------------------------------
// A simple script language for ( JBC language ).
//
// by: gokernel - gokernel@hotmail.com
//-------------------------------------------------------------------

//
// Open files of Dynamic Library ( .dll or .so )
//
_library ( libSDL, kernel32, SDL );

//
// Import functions from Dynamic Library ( .dll or .so ).
//
_import ( SDL_Init, SDL_SetVideoMode, SDL_Quit );

//
// Create and set a variable integer type.
//
_int ( x = 111, y = 222, z = 333, i = 555 );

//
// sdtlib: print()
//
print ("value i: ", i);

_function test ()
{
_int ( start = 0, end = 0, value = 0 ); // local

start = clock (); // stdlib: clock ()

_for (i = 0; i < 100000000; i++)
{
value = i;
}

end = clock (); // stdlib: clock ()

print ("TIME: ", end - start);
}

test ()




Essa linguagem tem/terá influências de:
01 - C/Java Script, libTCC(de Fabrice Bellard)
02 - Perl
03 - Lua

Queria saber dos desenvolvedores, o que vc gostaria em uma linguagem ???


Gostaria da opinião de vocês ...


AJUDE-NOS NO "NOSSO" PLANO DE DOMINAÇÃO GLOBAL ;)


Abraço !!!



  


2. Re: Criando uma linguagem

Perfil removido
removido

(usa Nenhuma)

Enviado em 11/08/2012 - 09:17h

Não, mas garanto que quase todo mundo aqui já deve ter pensado em criar uma distro :P


3. Re: Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 11/08/2012 - 10:21h

@Listeiro 037:

"Não, mas garanto que quase todo mundo aqui já deve ter pensado em criar uma distro".

É verdade, outra vez pensei em criar uma distro (menos de 2 Megas e moderna) própria.

CURIOSIDADE:
a uns 3 ou 4 dias apareceu um cara no meu MSN(quando ainda estava no trampo) com uma proposta de criar um OS do zero. ;)

MINHA RESPOSTA: ;)
"ahahahahahahha, tu tens ideia do que eh começar um OS do zero ??? ... " ;)


Passei pra ele o link do geekOS no SourceForge ...




4. Re: Criando uma linguagem

euteste da silva
foxbit3r

(usa Solaris)

Enviado em 11/08/2012 - 12:01h

Ao invés de linguagem ou sair refazendo distro, eu acho que seria legal se tivesse um sistema de arquivos ou sistema de arquivos distribuído desenvolvido aqui no Brasil. Assim também teríamos suporte nacional também.


5. Eu criei uma simples

Almir Bispo dos Santos Filho
gibroh@hotmail.c

(usa Lubuntu)

Enviado em 13/08/2012 - 18:39h

Trata-se da linguagem chamada CQL (comma query language) que refere-se a uma lingua que se executa como script para manipulação de SGBD em CSV.
1)Foi criado um SGBD em formato CSV.
2)Foi criado uma linguagem de script que é interpretada e manipula tabelas *csv*
3)Foi criado o CSV Comp Framework que pode montar sites em Apache,usando CSV como base de dados(Relacional).
Sobre a linguagem,cada bloco possuem 8 argumentos que são ou não usados dependendo da função.Não precisa escrever formatado porque existe um parser.

Aplicações
Pode criar aplicativos que manipula dados em csv usando outras linguagens(Pascal,Java,C,Basic,Python,Ada,etc)passando a CQL embutida.
exemplo:
var meucql:tstringlist;
begin
meucql:=tstringlist.create; //cria variavel
meucql.add('{'+id_tabela+';@tabela;0;0;0;0;query=0;destino=0}'); //adicionar blocos de comando
meucql.savetofile('inpout_comp.exe');//salva e executa
meucql.executa();//usando shellapi
meucql.free;
end;

Usar Juntamente com Firebird na web.

Veja um exemplo:
//criar tabela em determinado diretorio (cada arquivo csv é considerado como uma tabela)

{
user\Clientes; //diretorio e nome de tabela
@tabela; //função criar tabela
0;
0;
0;
0;
query=0;
destino=0
}
{
user\Clientes;//na tabela ...
@campos;//crie os campos...
(COD;NOME;FONE); ///cod,nome,fone
0;
0;
0;
query=0;
destino=0
}

Veja vídeos em:
http://www.youtube.com/watch?v=xNOM1zKk9kQ&feature=relmfu

e:
http://www.youtube.com/watch?v=NozP9KKjZ94&feature=relmfu

Caso queira testar esta tecnologia,faça download do IDE em:
https://www.box.com/s/f8af73f829de8de30796

Aplicação exemplo em:
https://www.box.com/s/025593e338790139059c


E assim por diante.Contato em gibroh.webmaster@bol.com.br


6. Re: Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 13/08/2012 - 19:55h

então cara, caso queira contribuir com algo no projeto JBC ( bytecode + language ) fique a vontada ...

O bytecode utiliza 8 bytes para cada instrucao armazenada na matriz:



struct {
void *jmp;
int arg;
};



Estou agora codando a linguagem script que é muito parecida com C ...
basicamente estou fazendo um PARSE para a linguagem que gera o bytecode antes de ser executado.

Quero que continue rapido para executar e principalmente que seja muito pequeno o codigo .

parte do bytecode pode ser visto aqui:
http://code.google.com/p/jbc/downloads/list

T+.



7. Re: Criando uma linguagem

David Augusto
david23.7

(usa Debian)

Enviado em 14/08/2012 - 15:17h

De certa forma é válido para aprendizado. Eu planejava criar uma linguagem para o meu TCC, apenas para estudar todo o funcionamento de um compilador, mas acabei tomando outros rumos.

Esses projetos de baixo nível são legais, e como citaram em criar distro ou SO, é interessante, um Sistema Operacional escrevendo "Hello World" já é algo bom só pelo fato do aprendizado.
Um exemplo legal é o Bran's Kernel http://www.osdever.net/bkerndev/Docs/title.htm .
Porém não basta só programar, é necessário muita leitura em torno do assunto, teoria nessa hora vale bastante.

Em todo caso, boa sorte com a sua linguagem!


8. Re: Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 15/08/2012 - 10:23h

@david23.7:
" ...
Em todo caso, boa sorte com a sua linguagem!
".

Achei maneiro esse pequeno OS e grato pelo voto !!!


E a JBC foi atualizada hoje (15/08/2012) com a linguagem em fase embrionária ( entao podera haver muitas mudanças ):

01 - O bytecode foi adicionado a instrucao ( _callb ) para executar uma funcao em ByteCode ... nao confundir com _call (essa executa uma funcao em C nativa )... ESSE EH PARA TESTE AINDA .

02 - Os OPCODES escrito agora sao todos com letras minusculas.

O arquivo da linguage é ( lang.c ) e esta no inicio ainda:

Arquivos da JBC ( core + language ) VER 0.7.3:
http://code.google.com/p/jbc/downloads/list


E GLÓRIA A DEUS EM NOME DE JESUS CRISTO, por ver as coisas fluirem ... \o/



9. Re: Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 18/08/2012 - 11:49h


JBC: Core + Language atualizada, VER 0.7.4:
http://code.google.com/p/jbc/downloads/list

A ver 0.7.3 tinha um BUG, entao foi retirada/corrigida/atualizada ...

É um BETA, e a opiniao de vcs será muito importante para o projeto.

Abraco !



10. Re: Criando uma linguagem

???
gokernel

(usa Linux Mint)

Enviado em 26/08/2012 - 09:59h


JBC: Core + Language atualizada, VER 0.7.6:
http://code.google.com/p/jbc/downloads/list

A principal mudança foi nas palavras reservadas, que agora são assim ( C-like ):
-----------------------------------------------------
ANTES: _int, _inc, _for, _library ...

AGORA: int, inc, for, library ...
-----------------------------------------------------

Abraco !




11. Re: Criando uma linguagem

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 26/08/2012 - 11:02h

Uma linguagem de programação ideal sob o meu ponto de vista, não estaria atrelada a nenhuma outra; teria poucos comandos (por volta de 11), porém largamente parametrizáveis e de forma intuitiva; seria abrangente, para fazer desde o "hello world"(1) até o banco de dados, o gráfico ou o aplicativo de marketing de rede; seria pequena e portável.
E de forma alguma carregaria bibliotecas enormes ou exigiria ambientação complexa.
Por exemplo, "imprimir", "exibir" e "gravar como pdf" poderiam ter o mesmo comando, diferenciado pelos parâmetros correspondentes.
"Desenhar" deveria ter parâmetros para construir qualquer polígono ou, na falta deles, utilizar-se de uma ferramente livre, manual.
Coisas assim.


(1) Tem algumas linguagens hoje em dia que são desnecessariamente enormes e cuja utilidade prática restringe-se ao "hello world" mesmo. Perde-se tempo precioso em seu aprendizado e lá para as tantas esbarra-se em um conjunto de deficiências, que impedem a sua utilização em projetos mais sérios.



12. Re: Criando uma linguagem

Sergio Teixeira - Linux User # 499126
Teixeira

(usa Linux Mint)

Enviado em 26/08/2012 - 11:11h

Quanto a uma só pessoa fazer uma linguagem de programação ou um sistema operacional, isso é totalmente possível.
Trabalhei em uma empresa que assumiu a elaboração de um S.O. para uma importante indústria, e foi feita uma espécie de "unix-like" por um só de nossos analistas, em uma semana, e sem consultas a livros, apostilas ou coisas do gênero, totalmente "de cabeça".
Essa eu presenciei, em meados dos anos 80.

Por seu lado, Gary Kildall, fundador da Digital Research, fez sozinho o famoso CP/M, um dos melhores e mais abrangentes sistemas operacionais de que se tem notícia, o qual foi "remasterizado" pela Microsoft sob o nome de MS-DOS...



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts