Ir para conteúdo
Fórum Script Brasil
  • 0

Nova linguagem BRC


PedroHCDO

Pergunta

Introdução:


Gosto muito de criar linguagens, então peguei pra criar uma em c++
chamada BRC. Esta linguagem não é Orientada a Objetos, mas é bem tranquila de programar. Ela é parecida com a linguagem Bash do linux, não a terminei ainda, mais já tem muitas coias, e outro detalhe... Ela é brasileira, parei para pensar e decidi criar uma linguagem brasileira porque achei q não tem motivo pra criar outra inglesa,...
Vou disponibilizar ela para testes, se alguém enteressar na source é só me falar..
E qualquer erro, é normal por enquanto.
Esta linguagem é Compilada e Interpretada, ela não depende de nenhuma outra fonte de linguagem.
Gostaria que dessem uma olhada e comentassem por favor..

Download:


Source: .:: 4Shared ::.
Exe: .:: 4Shared ::. ( .rar com 4 arquivos brc.exe (console) e 3 arquivos de teste)
Caso pedir duas dlls, colocar estas dll na pasta do projeto: .:: 4Shared ::.

No segundo download tem 3 arquivos de testes, para testar os
arquivos é só arrastalos e soltar em cima do 'brc.exe', se quiser
testar o 'brc.exe' sem arquivo, é so executalo e escrever os comandos desejados...

Tutorial:


1º) Funçõens e Argumentos

Você pode acessar função dentro de função por exemplo:

exibir exibir (10 * 2) * 2
Resultado: 40 40 que seria diferente de:
exibir exibir(10 * 2) * 2
Resultado: 20 40 A diferença é que no segundo caso, o exibir de dentro pega somente os argumentos "10 * 2" e no primeiro caso como tem um espaço, ele pega os argumentos "(10 * 2) * 2". Em funçõens que não tem argumentos, podem ser chamadas sem parenteses, se exister uma variavel com o mesmo nome, a função não sera chamada, ex:
linha // pula uma linha
linha = 20
linha // a linguagem entende que você chamou a variavel
linha() // pula uma linha
2º) Variaveis Declarando variaveis:
a = 10
b = 20
a += 300
exibir a, b

a = "ola"
a += "hehe"
a *= 3
a += 150
exibir a
Resultado: 310 20 Igualando variaveis:
a = 10
b &= a

a = 30
exibir b

b = 40
exibir a
Resultado: 30 40 (Neste caso quando você usa o comando '&=' você iguala a variavel, então 'a' é 'b' e 'b' é 'a') 3º) Funçõens Pre Definidas:
setar(var, valor) // seria o mesmo que 'var = valor'
igualar(var1, var2) // seria o mesmo que 'var1 &= var2'
exibir([valor, ...]) // Exibe valores na tela
saida(var) // Pega tudo que digitar e joga na variavel
linha([num]) // Pula 'num' linhas
sistema(texto) // Chama o dos
sair() // Sai do programa
se(condição, se, [senao]) 
executar(caminho_texto) // abre um arquivo
limpar() // limpa a tela
de (var : inicio..fim ) // seria o mesmo que for(..)
interno([texto, ...]) // Compila e Interpreta um novo codigo
raiz(num) // Retorna a raiz quadrada do numero desejado
obs: [ ] => Argumento opcional , ... => Suporta varios argumentos 4) Expressão 'de' : Usando expressão 'de':
de (teste : 0...4) {
  exibir teste
}

de (teste : 0..4) 
{
  exibir teste
}

de (teste : -5...-3) { exibir teste }

de (teste : 2..4) exibir teste

de (teste : 1...4)
  exibir teste



Resultado:
0, 1, 2, 3
0, 1, 2, 3, 4
-5, -4
2, 3, 4
1, 2, 3


Lembrando que a expressão "inicio...fim" com 3 pontos exclui o ultimo numero
então só vai de 'inicio' ate 'fim + 1' ou 'fim - 1' dependendo da ocasiã..
E com 2 pontos só, inclui o 'fim'...

Editado por PedroHCDO
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Respondendo sua primeira pergunta, sim vai ter gotoxy, threads, vai poder importar apis, etc...

e sobre os comandos que você não entendeu é so me falar q te explico,

e Input você já pode programar, ex:

Input: a = 100
Input: exibir a
100
Mais eu osto de programar no bloco ai salvo como .brc e jogo o arquivo em cima do brc.cexe. Outra coisa, tem muita coisa pra fazer nessa linguagem ainda por exemplo a função 'se' que funciona assim:
se(1==1, exibir "ola", exibir "hehe")
se(1==2, exibir "ola", exibir "hehe")
resultado: "ola" "hehe" usase: se(condição, resultado[, senao]) lembrando q o 'senao' é opcional, ex:
se(1 == 1, exibir "ola")
se(1 == 2, exibir "ola")
resultado: "ola" nada Como dizia, esta função sera substituida por algo do tipo c++:
se(condição)
{

} ouse (condição)
{

} senao {

}
Lembrando que bloco seria opcional, se você fizesse por exemplo assim:
se(1==1)
  exibir "ola"
ouse(1==2)
  exibir "hehe"
senao
  exibir "lol"
seria o mesmo que:
se(1==1)
{
  exibir "ola"
}
ouse(1==2)
{
  exibir "hehe"
}
senao
{
  exibir "lol"
}

Editado por PedroHCDO
Link para o comentário
Compartilhar em outros sites

  • 0

Ok,tenho mais perguntas,mas aquela sobre funções era o se,e você já me respondeu.

Pergunta 1: No primeiro exemplo,eu movo uma nave,você pode explicar como codificou aquilo?

Pergunta 2: Como funciona o "executar(caminho_texto)" e o "sistema(texto)" ?

Pergunta 3: Sua linguagem tem +,-,/,*,Rais e Potencia?

OBS:Vou entrar todo o dia para ver se tem atualizações,tirar duvidas etc... Você vai ficar online aqui no fórum quanto tempo,e quando?Porque eu gostei muito da sua linguagem e achei ela infinitamente mais fácil que "C" que estou aprendendo em um curso técnico. xD

Editado por athoslive
Link para o comentário
Compartilhar em outros sites

  • 0

Poisé o intuito dessa linguagem é facilitar o aprendizado, e realmente ser util para criar programas,

sobre a primeira pergunta sua seria dificil de te explicar, me add no MSN ai q te explico: pedrohcd@hotmail.com

sobre a segunda pergunta:

executar(caminho), você poderia executar um programa por exemplo: executar("C:\\programa.exe")

sistema(texto) é so você pensar no cmd do windows, ex: sistema("exit") fexa o cmd...

sobre a terceira pergunta:

Rais ainda não tem, foi bom você me lembrar eu vou colocar, e potencia tem dois modos "**" e "^" ex:

10 ** 2 ou 10 ^ 2..

Fico on na parte da noite e da tarde,

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...