Your SlideShare is downloading. ×
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
The Language VolcanX - ABMSL
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

The Language VolcanX - ABMSL

86

Published on

Neste trabalho apresentaremos uma proposta de linguagem de programação: a ABMSL …

Neste trabalho apresentaremos uma proposta de linguagem de programação: a ABMSL
VolcanX. A linguagem proposta possui como características ser compacta, simples (porém não
tediosa), rápida como seus ancestrais, extensível através de bibliotecas, multiparadigma, multi-
plataforma (através das várias versões de seu compilador), aberta a comunidade e de evolução
constante, levando em consideração tanto as tendências acadêmicas quanto as comerciais.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
86
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. ABMSL - Draft 0.1 - Codename VolcanX Ailton Félix de Lima Filho - Bruno Normande Lins - Michel Alves dos Santos ∗ 4 de Dezembro de 2010 Resumo Uma linguagem de programação é um método padronizado para expressar instruções para um computador. É um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador. Uma linguagem, permite que um programador especifique precisa- mente sobre quais dados um computador vai atuar, como estes dados serão armazenados ou transmitidos e quais ações devem ser tomadas sob várias circunstâncias. As regras sintáticas e semânticas citadas anteriormente, dão origem ao conjunto de palavras da linguagem (tokens) que por sua vez constituem o código fonte de um programa. Esse código fonte é depois tra- duzido para código de máquina, que é executado pelo processador. Uma das principais metas das linguagens de programação é permitir que programadores tenham uma maior produtivi- dade, permitindo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente. Assim, linguagens de programação são projetadas para adotar uma sintaxe de nível mais alto, que pode ser mais facilmente entendida por programadores humanos. Linguagens de programação são ferramentas importantes para que programadores e engenheiros de software possam escrever programas mais organizados e com maior rapidez. Linguagens de programação também tornam os programas menos dependentes de com- putadores, plataformas ou ambientes computacionais específicos, a essa propriedade dá-se o nome de portabilidade. Isto acontece porque programas escritos em linguagens de programa- ção são traduzidos para o código de máquina do computador no qual será executado ao invés de ser diretamente executado. ∗Bacharelandos em Ciência da Computação, Universidade Federal do Estado de Alagoas(UFAL), Centro de Pesquisa em Matemática Computacional(CPMAT), Brasil - Maceió/AL, E-mails: {afdlf2, normandelins, mi- chel.mas}@gmail.com 1
  • 2. Vi Veri Veniversum Vivus Vici Pelo poder da verdade, eu, enquanto vivo, conquistei o universo. V for Vendetta 2
  • 3. Conteúdo Lista de Figuras 4 Lista de Tabelas 5 Lista de Códigos Fonte 6 1 Introdução 7 2 Importação ou Inclusão de Bibliotecas do Sistema 7 3 Comentários 8 4 Estrutura de Decisão 8 5 Estrutura de Laço Condicional 9 6 Estrutura de Laço Iterativo 9 7 Leitura e Escrita em Console 10 8 Agradecimentos 11 Referências Bibliográficas 12 3
  • 4. Lista de Figuras 1 TheVolcans: mascotes da linguagem ABMSL . . . . . . . . . . . . . . . . . . . 11 4
  • 5. Lista de Tabelas 5
  • 6. Lista de Código Fonte 1 Menor programa escrito em ABMSL . . . . . . . . . . . . . . . . . . . . . . . . 7 2 Maneira pela qual podemos importar bibliotecas em ABMSL . . . . . . . . . . 7 3 Maneira pela qual podemos inserir comentários em ABMSL . . . . . . . . . . . 8 4 Estrutura de decisão em ABMSL . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5 Laço condicional pré-teste em ABMSL . . . . . . . . . . . . . . . . . . . . . . . 9 6 Laço condicional pós-teste em ABMSL . . . . . . . . . . . . . . . . . . . . . . . 9 7 Laço iterativo em ABMSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 8 Exemplo de uso do laço iterativo em ABMSL . . . . . . . . . . . . . . . . . . . 10 6
  • 7. 1 Introdução Neste trabalho apresentaremos uma proposta de linguagem de programação: a ABMSL VolcanX. A linguagem proposta possui como características ser compacta, simples (porém não tediosa), rápida como seus ancestrais, extensível através de bibliotecas, multiparadigma, multi- plataforma (através das várias versões de seu compilador), aberta a comunidade e de evolução constante, levando em consideração tanto as tendências acadêmicas quanto as comerciais. Além disso ABMSL possui uma curva de aprendizagem acentuadamente leve, significando que pode ser usada de maneira satisfatória tanto por iniciantes quanto por experts. A linguagem ABMSL possui um bloco de preparação chamado ready e um bloco de computação de instruções chamado go, essa estrutura é muito semelhante ao anúncio inicial de uma contenda ou disputa esportiva: “Se você está preparado então vá!”. O bloco ready garante que todas as estruturas auxiliares necessárias a computação de um determinado problema estejam presentes: variáveis declaradas e subrotinas próprias definidas e implementadas. De um determinado ponto de vista isso pode diminuir a flexibilidade no momento da escrita de código, porém, reforça a segurança tendo em vista que todos os elementos inerentes e necessários a resolução de um problema se encontrem tão e somente em um único lugar evitando assim algo como uma “caça” a variáveis ou estruturas misteriosamente declaradas e esparsas em localidades obscuras do código fonte. Vale ressaltar que essa estratégia de declaração previamente localizada também contribui para o aumento da legibi- lidade de código. Em primeira mão a estrutura apresentada pode lembrar a dos fontes feitos em Pascal ou Algol, porém com uma menor verbosidade. O menor trecho de código em ABMSL é dado por: ¨§ ¤ 1 program helloworld ; 2 ready //? 3 { 4 } 5 go //! 6 { 7 return 0 ; 8 } ©¦ ¥ Código Fonte 1: Menor programa escrito em ABMSL . Muitas vezes pode parecer tedioso chamar a linguagem por seu nome completo, por esse motivo seus autores a apelidaram de V que é, nada mais nada menos o nome do personagem principal do filme “V for Vendetta”, uma adaptação da graphic novel do escritor e cartunista Alan Moore, que em português foi intitulado como “V de Vingança”. O nome ABMSL não denota nenhum acrônimo recursivo elegante ou inteligentemente concebido. É apenas a contração do nome dos autores mais uma série de adjetivos que os mesmos desejaram que representasse a filosofia dessa nova plataforma proposta: ABMSL = Ailton-Bruno-Michel Stupend, Strange, Simple, Singular, and Simplistic Language. 2 Importação ou Inclusão de Bibliotecas do Sistema A importação de bibliotecas do sistema é feita através da claúsula #uses. ¨§ ¤ 1 #uses System . Console ; 2 #uses System . Net , System . Constants ; 3 #uses System . Proccess , System . String , System . Graphics ; 4 program libsimport ; 5 ready //? 7
  • 8. 6 { 7 } 8 go //! 9 { 10 return SYSTEM_EXIT_SUCCESS; 11 } ©¦ ¥ Código Fonte 2: Maneira pela qual podemos importar bibliotecas em ABMSL . 3 Comentários Os comentários em ABMSL são construídos através dos caracteres // e /**/. ¨§ ¤ 1 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 2 // Cabecalho de identificacao de um programa ABMSL escrito 3 // inteiramente com comentarios em modo mono−linha . 4 //−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 5 program comments ; 6 ready //? 7 { 8 } 9 go //! 10 { 11 // Comentario em uma unica linha . . . 12 // Outro comentario em uma unica linha . . . 13 14 /∗ 15 ∗ Comentario em varias linhas . . . 16 ∗/ 17 18 return 0 ; 19 } ©¦ ¥ Código Fonte 3: Maneira pela qual podemos inserir comentários em ABMSL . 4 Estrutura de Decisão As estruturas de decisão da linguagem ABMSL se apresentam da seguinte forma: ¨§ ¤ 1 program decision ; 2 ready //? 3 { 4 } 5 go //! 6 { 7 i f (Expressao Logica ) do {} 8 9 //ou 10 11 i f (Expressao Logica ) do 12 { 8
  • 9. 13 } 14 else 15 { 16 } 17 18 return 0 ; 19 } ©¦ ¥ Código Fonte 4: Estrutura de decisão em ABMSL . 5 Estrutura de Laço Condicional As estruturas de laço condicional da linguagem ABMSL se apresentam da seguinte forma: ¨§ ¤ 1 program whiledo ; 2 ready //? 3 { 4 } 5 go //! 6 { 7 while (Expressao Logica ) do 8 { 9 } 10 11 return 0 ; 12 } ©¦ ¥ Código Fonte 5: Laço condicional pré-teste em ABMSL . ¨§ ¤ 1 program dowhile ; 2 ready //? 3 { 4 } 5 go //! 6 { 7 do 8 { 9 }while (Expressao Logica ) ; 10 11 return 0 ; 12 } ©¦ ¥ Código Fonte 6: Laço condicional pós-teste em ABMSL . 6 Estrutura de Laço Iterativo A estrutura de laço iterativo da linguagem ABMSL se apresenta da seguinte forma: ¨§ ¤ 1 program loopingfor ; 2 ready //? 3 { 9
  • 10. 4 } 5 go //! 6 { 7 for i n i c i a l i z a c a o to maximo [ step incremento ] do 8 { 9 } 10 11 return 0 ; 12 } ©¦ ¥ Código Fonte 7: Laço iterativo em ABMSL . ¨§ ¤ 1 program samplefor ; 2 #uses System . Constants ; 3 ready //? 4 { 5 var i : int ; 6 } 7 go //! 8 { 9 //Exemplo 10 for i = 0 to MAX_INT step 2 do 11 { 12 } 13 14 return SYSTEM_EXIT_SUCCESS; 15 } ©¦ ¥ Código Fonte 8: Exemplo de uso do laço iterativo em ABMSL . 7 Leitura e Escrita em Console A leitura e escrita em console são executadas através das funções vput() e vget(), respectiva- mente. A saída padrão de erro é feita através da função verr(). Todas as funções que manipulam a saída ou entrada via console se encontram no pacote System.Console. 10
  • 11. 8 Agradecimentos Figura 1: TheVolcans: mascotes da linguagem ABMSL . 11
  • 12. Referências de Alencar Price, A. M. Toscani, S. S. (2004), Implementação de Linguagens de Progrmação: Compiladores, number 9, 3 ed., Bookman. Sebesta, R. W. (2003), Conceitos de Linguagem de Programação, 5 ed., Bookman. 12

×