Linguagem de programação do Fabio!
Re: Linguagem de programação do Fabio!
Hahaha... eu tambem volto as aulas dia 22 de fev.
Estou acelerando todos os meus projetos aqui
Estou acelerando todos os meus projetos aqui
Desk:
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"
Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
Intel Core i7 980X @ 4.25GHz
EVGA X58 SLi Classified
12 GB OCZ 1800 MHz
2x XFX HD 5870 @ 1000/1300
Dell 24WFP 24"
Note:
Alienware M15X // Core i7 740 QM 2.93 GHz // 4 GB DDR3 // 500 GB // GTX 460M // 15.6"
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 17
- Localização: Sampa/Sanca
- Contato:
Re: Linguagem de programação do Fabio!
Hehe, eh o jeito neh... Porque depois, durante o semestre, fica foda fazer algum projeto próprio...xducke escreveu:Hahaha... eu tambem volto as aulas dia 22 de fev.
Estou acelerando todos os meus projetos aqui
@DU0:
Cara, qual teu sistema operacional? Eu testei no Windows 7 (32-bits) e obtive o mesmo resultado satisfatório...
(obs.: o programa foi compilado no Windows XP x64)
Mais uma pergunta, você tinha bastante memória disponível durante a execução do programa? Pode parecer meio idiota mas o programa carrega um buffer de um pouco menos de 1MB para armazenamento do texto do programa, então se ele não alocou todo esse espaço pode dar erro (embora fosse para dar mensagem de erro própria da alocação de memória)...
EDIT:
@DU0: Testa esse programa (bobo) aqui:
Código: Selecionar todos
Declara {
Var string nome;
Var int idade;
return;
}
RecebeDados {
Messageln("Qual seu nome?");
Get(nome);
Messageln("Qual sua idade?");
Get(idade);
return;
}
ImprimeResultado {
Message("Voce se chama "); Print(nome); Message(" e tem "); Print(idade); Messageln(" anos.");
return;
}
Pausa {
System("pause");
return;
}
Rodar {
Declara;
RecebeDados;
ImprimeResultado;
return;
}
main() {
Messageln("Programa da idade!");
Rodar;
Pausa;
}
Não se pode colocar ifs dentro de funcoes, apenas na main... Isso é um problema que daqui a pouco eu vou corrigir!
Re: Linguagem de programação do Fabio!
Bom, o que temos aqui é um interpretador Just in Time.
Tempo real.
Por enquanto binários fora de questão
Tempo real.
Por enquanto binários fora de questão
[xfire]p0br3[/xfire]
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 17
- Localização: Sampa/Sanca
- Contato:
Re: Linguagem de programação do Fabio!
Eu não diria fora de questão... Fazer este programa gerar um código em assembly x86 não é algo tão complicado quanto possa parecer... Depois é só rodar um assembler e pronto...Rico escreveu:Bom, o que temos aqui é um interpretador Just in Time.
Tempo real.
Por enquanto binários fora de questão
EDIT
Versão nova.
Código: Selecionar todos
Changelog [v.0.00 -> v0.01]
* [ADD] Funcoes Malloc e Free.
* [FIXED] Agora é possível usar 'ifs' dentro de outras
funções sem dar problema na leitura do arquivo.
* Novo programa exemplo.
funções de alocação dinâmica de memória (para vetores), o que ainda é inútil pois eu ainda não fiz funções para acessar as posições de memória alocadas dinamicamente...
Download Assim que eu tiver algum nome para essa linguagem eu vo criar um projeto pra ela no SourceForge e disponibilizar o código fonte (que alias, é bem simples).
Off: Estou pensando em nomea-la SmartC ou só Smart...
Quem quiser pode dar sugestões sobre a implementação de uma biblioteca padrão (que pode incluir até funções de modo gráfico), alias quem quiser implementar alguma função me avise (a implementação de uma função no interpretador é algo bem simples, é quase como escrever uma função em C), vejam o trecho de código que descreve a implementação de AttributeVariable():
Re: Linguagem de programação do Fabio!
Hum, eu vou testar isso quando chegar em casa [to usando furtivamente aqui o notebook da patroa]
By the way, pra que serve a tal da função? Tipo, nas linguagens que eu usei [Pascal, C++, etc] iIa direto pra main, talvez com uma ou outra bobagem antes [como declaração de bibliotecas ou classes]
:/
By the way, pra que serve a tal da função? Tipo, nas linguagens que eu usei [Pascal, C++, etc] iIa direto pra main, talvez com uma ou outra bobagem antes [como declaração de bibliotecas ou classes]
:/
Jogando atualmente:
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
Xbox 360: Ninja Gaiden Black
Xbox One: Need for Speed: Hot Pursuit, Yakuza 3
PlayStation 2: Fatal Frame 3: The Tormented
PlayStation 3: RE: The Darkside Chronicles, RE: The Umbrella Chronicles
Nintendo Switch: Phantasy Star, SIFU
Re: Linguagem de programação do Fabio!
@DU0
Você define alguma ação, uma procedure que deve ocorrer naquele momento, podendo colocar valores ou não.
É fabio eu sei, ta faltando coisa aee... mas eu to meio ocupado... acerta ae o que estiver faltando.
Você define alguma ação, uma procedure que deve ocorrer naquele momento, podendo colocar valores ou não.
Código: Selecionar todos
vezes(int a,int b) {
return(a*b);
}
int main() {
int i;
int u;
int res;
printf("Coloque primeiro numero: ");
scanf("%d",&i);
printf("Coloque segundo numero: ");
scanf("%d",&u);
res=vezes(i,u);
printf("Resultado: %d",res);
return(0);
}
[xfire]p0br3[/xfire]
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 17
- Localização: Sampa/Sanca
- Contato:
Re: Linguagem de programação do Fabio!
É bem isso que o Rico falou mesmo... Definir procedimentos ou funções mesmo (que retornam valores para serem usados)...
Alias... DU0, se teu código não rodar no interpretador ainda, experimente coloca-lo inteiro em uma unica linha (a primeira linha do arquivo) e tirar todos os comentários. Eu estou obtendo o mesmo problema no Linux (problema esse que eu já obtinha no UDMF), parece que o parser só funciona se tiver tudo na mesma linha, mas ele lê o \n corretamente pelo que eu pude constatar...
Alias... DU0, se teu código não rodar no interpretador ainda, experimente coloca-lo inteiro em uma unica linha (a primeira linha do arquivo) e tirar todos os comentários. Eu estou obtendo o mesmo problema no Linux (problema esse que eu já obtinha no UDMF), parece que o parser só funciona se tiver tudo na mesma linha, mas ele lê o \n corretamente pelo que eu pude constatar...
Re: Linguagem de programação do Fabio!
E pelo que nos parece Fabio, nosso querido FGETS/FREAD/FGETC são meio frescurentos.
Precisam de TODA ajuda possível para rodar.
Exemplo teve eu hoje, agora mesmo, enquanto eu fazia algo para o UDMF e como teste só consegui sucesso com este código.
Acredite, recebi muitos avisos de memória não alocada (cannot be write, read, culpa do FGETS/C por causa do \0... acredita nisso?).
Revise o código do UDMF, com esta possível solução do -1 ('\0') no nome.
Precisam de TODA ajuda possível para rodar.
Exemplo teve eu hoje, agora mesmo, enquanto eu fazia algo para o UDMF e como teste só consegui sucesso com este código.
Código: Selecionar todos
/* Inicio de um possível WAD READER para UDMF, abrir lumps e colocar num cache onde que depois o Olympus irá interpretar. */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define LEN 255 // Maximo de chars no nome do arquivo
int main(int argc, char *argv[]) {
int len;
char wadfile[LEN];
char WAD_TYPE[5];
char buffer[5];
FILE *wad;
if(fgets(wadfile,sizeof(wadfile),stdin)) {
len = strlen(wadfile) - 1; // Posição anterior ao '\0'
// Se houver nova linha, remove-a
if(wadfile[len]=='\n')
wadfile[len]='\0';
}
wad = fopen(wadfile,"r");
if(fgets(buffer,5,wad)) {
sscanf(buffer,"%s",&WAD_TYPE);
}
if(strcmp(WAD_TYPE,"PWAD")==0) {
printf("%s = PWAD",wadfile);
} else if(strcmp(WAD_TYPE,"IWAD")==0) {
printf("%s = IWAD",wadfile);
} else {
printf("WAD Invalido");
}
getchar();
return(0);
}
Revise o código do UDMF, com esta possível solução do -1 ('\0') no nome.
[xfire]p0br3[/xfire]
- Fabio914
- Mensagens: 1757
- Registrado em: Dom Mai 21, 2006 4:38 pm
- 17
- Localização: Sampa/Sanca
- Contato:
Re: Linguagem de programação do Fabio!
Rico! SEM MAIS PROBLEMAS!!!!!!!!!!!!!!!
DESCOBRIIIIIIIII!
No Windows um arquivo de texto tem quebra de linha com '\n', em sistemas NIX a quebra de linha é '\r' !!!!
Agora da pra fazer funcionar o UDMF Editor e esse interpretador!
DESCOBRIIIIIIIII!
No Windows um arquivo de texto tem quebra de linha com '\n', em sistemas NIX a quebra de linha é '\r' !!!!
Agora da pra fazer funcionar o UDMF Editor e esse interpretador!
Re: Linguagem de programação do Fabio!
É... fui ler sobre o Carriege Return... bota tudo como \r\n que vai funcionar... ._________.
Depois ler fórums de UNIX...
olha UDMF Editor
Depois ler fórums de UNIX...
olha UDMF Editor
[xfire]p0br3[/xfire]