version 0.73.0
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,231 @@
|
||||
Guia Tinycobol (Gnu)
|
||||
=====================================
|
||||
InfoCont Sistemas Integrados
|
||||
Joinville - Santa Catarina - Brasil
|
||||
Versao 1.00 - Quarta, 31 de Maio de 2006
|
||||
|
||||
|
||||
Resumo
|
||||
------
|
||||
|
||||
Este tutorial tem por objetivo ser uma referência no aprendizado e uso
|
||||
do TinyCOBOL em ambiente Windows, trazendo informações objetivas para
|
||||
os primeiros passos e também tutoriais para o uso avançado.
|
||||
|
||||
Nota de Copyright
|
||||
-----------------
|
||||
|
||||
Copyleft (C) 2006 - InfoCont Sistemas Integrados Ltda.
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.1 or
|
||||
any later version published by the Free Software Foundation; A copy of
|
||||
the license is included in the section entitled "GNU Free
|
||||
Documentation License".
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
Conteúdo
|
||||
--------
|
||||
1 - O que é o TinyCOBOL (TC)
|
||||
2 - Como compilar no TinyCOBOL
|
||||
3 - CBL2COB - Conversor automático de Sintaxe
|
||||
4 - Tutoriais
|
||||
5 - Dúvidas e Sugestões.
|
||||
6 - Agradecimentos
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
1 - O que é o TinyCOBOL.
|
||||
|
||||
O TinyCOBOL é um compilador COBOL free, criado por um brasileiro chamado
|
||||
Rildo Pragana e atualmente está sendo desenvolvido por uma equipe de diversas
|
||||
partes do mundo (Brasil/Europa/EUA). Por ser um compilador livre, não é
|
||||
necessário pagar para obter suas versões. Para garantir a sua liberdade, o
|
||||
TinyCOBOL é licenciado dentro dos termos da GNU – General Public Licence, o
|
||||
que significa que seu código fonte é livremente distribuído e disponível em
|
||||
domínio público.
|
||||
Ele é totalmente baseado no padrão ANSI 85 e está disponível para arquitetura
|
||||
Intel(IA32) ou processadores compatíveis nas seguintes plataformas:
|
||||
* BeOS
|
||||
* FreeBSD
|
||||
* Linux
|
||||
* Windows
|
||||
Apesar de ser um projeto internacional, possui muitas informações em
|
||||
português, indispensáveis para os primeiros passos no compilador. Estas
|
||||
informações poderão ser obtidas no site http://br.tinycobol.org.
|
||||
Neste site existe um recurso chamado WikiWiki, que apesar do nome incomum é
|
||||
como uma apostila virtual, onde estão reunidas inúmeras informações sobre
|
||||
instalação, configuração, uso e outros. Qualquer suporte adicional poderá ser
|
||||
obtido através do Clube Cobol e também através da lista de discussão
|
||||
internacional, com participação dos desenvolvedores.
|
||||
Atualmente, o TinyCOBOL vem sendo desenvolvido por Walter Garrote, brasileiro
|
||||
de Goiânia - GO.
|
||||
Participe do desenvolvimento deste grande compilador, auxiliando no patrocínio
|
||||
do projeto. Para maiores informações sobre como contribuir, entre em contato
|
||||
com Walter Garrote (fone (62) 3093-1909 ou e-mail gaaw7@hotmail.com) ou com
|
||||
Fernando Wuthstrack (fone (47) 3422-3536 ou e-mail fernando@infocont.com.br).
|
||||
|
||||
Seja bem vindo ao universo do TinyCOBOL!!!!
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
2 - Como compilar no TinyCOBOL.
|
||||
|
||||
Assim como todos os demais compiladores COBOL, a compilação se dá por meio de
|
||||
um comando de disparo, que no caso do TinyCOBOL é o HTCOBOL. O HT no início do
|
||||
comando é herança do HandTerm, hardware criado pelo Rildo Pragana para onde foi
|
||||
desenvolvido o TinyCOBOL.
|
||||
A sintaxe básica de compilação é a seguinte:
|
||||
|
||||
htcobol [opções] programa_fonte
|
||||
|
||||
Opções especificas do Compilador:
|
||||
-h Mostra ajuda
|
||||
-a Cria biblioteca estática; pre-processa, compila, assembla e arquiva
|
||||
-B <modo> modo específico para aglutinação (estática/dinâmica)
|
||||
-c Compilação para um módulo de objeto estaticamente linkado
|
||||
-e <nome> Especifica o ponto de entrada (primeiro programa a executar)
|
||||
-E Saída do preprocessador para saída padrão apenas; não compila,
|
||||
assembla ou linka
|
||||
-g Gera saída de debug de compilação (para uso do "animator" DDD).
|
||||
-l <arquivo> Adiciona biblioteca na linkedição
|
||||
-L <diretorio> Adiciona diretório ao caminho de procura de bibliotecas
|
||||
-m <arquivo> Cria biblioteca dinâmica; pre-processa, compila, assembla e linka
|
||||
-M <opções> Especifica opção para identificação de programa principal(auto|first|none)
|
||||
-n Não executa nenhum comando, deve mostrar a compilação
|
||||
-o <arquivo> Especifica nome do executável (padrão de entrada x extensão)
|
||||
-S Preprocessa, compila(gera codigo assembler) somente; não assembla ou
|
||||
linka
|
||||
-v Gera saída do compilador verbosa
|
||||
-V Mostra informações da versao do compilador e sai
|
||||
-Wl,<opcoes> Passar opções separadas por virgula ao linkeditor
|
||||
-x Compilacao para criar um executável
|
||||
-z Gera saída do compilador verbosa
|
||||
Opcoes específicas do COBOL:
|
||||
-C Faz todas as chamadas dinâmicas COBOL
|
||||
-D Inclui linhas de debug no fonte
|
||||
-F Fonte de entrada esta em formato de coluna fixa padrão
|
||||
-I <diretorio> Define inclusão(copybooks) de caminhos de procura. (padrão -I./)
|
||||
O caminho pode ser um simples diretorio, ou uma lista de diretórios
|
||||
separados por um ':'
|
||||
-P Gera arquivo de saída listado
|
||||
-T <num> <Expande tabs para um número de espacos (padrao T=8)
|
||||
-X Arquivo de entrada esta em formato livre X/Open (formato padrao)
|
||||
|
||||
Exemplo: htcobol -x -F -P prog_fonte.cob
|
||||
O exemplo acima o htcobol irá compilar, (-x) criar executavel, (-F) programa
|
||||
escrito devera estar no formato fixo(obdecendo as colunas 8 e 72) e (-P) gera
|
||||
um arquivo de saida de erros e outras informações com extensão prog_fonte.lis .
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
3 - CBL2COB - Conversor automático de Sintaxe
|
||||
Para auxiliar na conversão de fontes escritos em outros “sabores” de COBOL,
|
||||
considerando que existem algumas diferenças de sintaxe em alguns comandos
|
||||
(geralmente causadas pela arquitetura proprietária de certos compiladores),
|
||||
foi criada uma ferramentas para corrigir estas diferenças de sintaxe
|
||||
automaticamente. Este programa é o CBL2COB, disponível como ferramenta de
|
||||
domínio público, desenvolvido pela InfoCont Sistemas Integrados em parceria
|
||||
com Hudson Reis. Este conversor, foi criado inicialmente para converter
|
||||
diferenças de sintaxe existentes entre o padrão MicroFocus e o TinyCOBOL,
|
||||
porém conta hoje com opção para conversão também de fontes COBOL MB,
|
||||
desenvolvido por Carlúcio Lopes. Todas estas rotinas foram totalmente
|
||||
desenvolvidas em COBOL e, por isso, servem também como exemplos de uso do
|
||||
TinyCOBOL. Por este motivo, a adaptação, por exemplo, da rotina CBL2COB para
|
||||
outros padrões é bastante simples. Esteja a vontade para realizar as adaptações
|
||||
necessárias para realizar a conversão dos seus Sistemas. Os fontes do CBL2COB
|
||||
estão disponíveis na pasta C:\TinyCOBOL\Tutorias\CBL2COB.
|
||||
|
||||
3.1 Alterações realizadas pelo CBL2COB:
|
||||
Até o presente momento o CBL2COB faz as seguintes ações:
|
||||
|
||||
- Adiciona IDENTIFICATION DIVISION se preciso.
|
||||
- Adiciona PROGRAM-ID se preciso.
|
||||
- Converte conte·do da PROGRAM-ID em min·sculo.
|
||||
- Retira clausulas LOCK MODE.
|
||||
- Retira clausulas DATA RECORD.
|
||||
- Retira clausulas VALUE OF FILE-ID.
|
||||
- Acerta caracteres de continuação de linha(simples ou duplos),
|
||||
modificando-os de estarem na coluna 9 para a coluna 12.
|
||||
- DISPLAY.
|
||||
- Substituir clausula DISPLAY AT LINE .. COLUMN .. por DISPLAY AT ....
|
||||
- Retirar clausulas BACKGROUND-COLOR, FOREGROUND-COLOR, BELL e PROMPT
|
||||
- Substituir parametro AUTO-SKIP por AUTO.
|
||||
- ACCEPT.
|
||||
- Substituir clausula DISPLAY AT LINE .. COLUMN .. por DISPLAY AT ....
|
||||
- Retirar clausulas BACKGROUND-COLOR, FOREGROUND-COLOR e PROMPT
|
||||
- Substituir parametro AUTO-SKIP por AUTO.
|
||||
- Remover clausula ACCEPT FROM ESCAPE KEY.
|
||||
- Insere CRT STATUS IS <VARIAVEL-TECLA>.
|
||||
- CALL e CANCEL
|
||||
- Transforma o conte·do entre aspas em lowercase
|
||||
- Remove funcoes X"AF".
|
||||
- Remove funcoes X"91".
|
||||
- SELECT.
|
||||
- Substitui ASSIGN TO <nome-arquivo> para ASSIGN TO EXTERNAL <nome-arquivo>
|
||||
- Substitui ASSIGN TO DISK por ASSIGN TO EXTERNAL <nome-arquivo>
|
||||
- Substitui ASSIGN TO PRINTER por ASSIGN TO EXTERNAL printer
|
||||
- Substitui "\" por "/" nas strings.
|
||||
- MOVE.
|
||||
- Retirar "$" nas strings.
|
||||
- Substituir "\" por "/" nas strings.
|
||||
- DELETE.
|
||||
- Remove a cláusula FILE, se usada junto com o DELETE.
|
||||
- Pre-processa(abre/fecha) fontes, com o verbo COPY.
|
||||
|
||||
3.2 Sintaxe de uso:
|
||||
cbl2cob -d mf -i programa.cbl -o programa.cob
|
||||
A opção "-d mf" indica que estaremos realizando uma conversão de fonte padrão
|
||||
MicroFocus. Poderá ser utilizada a opção "-d mb", para COBOL MB.
|
||||
A opção "-i" (input) indica o fonte original e a opção "-o" indica o novo
|
||||
fonte que deverá ser gerado.
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
4 - Tutoriais.
|
||||
Para facilitar o uso do TinyCOBOL com todos os seus recursos (Banco de Dados e
|
||||
Interface Gráfica) compõe esta instalação os seguintes tutoriais:
|
||||
4.1 TCL/TK:
|
||||
Disponível na pasta C:\TinyCOBOL\Tutoriais\TCL-TK, contém um pequeno programa de
|
||||
cadastro de contatos, incluindo ferramenta de busca, escrito em TCL/TK e integrado
|
||||
com o TinyCOBOL. Este programa faz a gravação dos dados em arquivos nativos. O
|
||||
arquivo LEIA-ME.TXT traz informações detalhadas sobre o mesmo.
|
||||
4.2 PostgreSQL:
|
||||
Disponível na pasta C:\TinyCOBOL\Tutoriais\PostgreSQL, contém um pequeno programa
|
||||
para cadastro de filiais, que faz acesso ao banco PostgreSQL através de uma rotina
|
||||
em C que acessa as APIs do Banco de Dados. O arquivo LEIA-ME.TXT traz informações
|
||||
detalhadas sobre o mesmo.
|
||||
4.3 Firebird:
|
||||
Disponível na pasta C:\TinyCOBOL\Tutoriais\Firebird, contém um pequeno programa
|
||||
para cadastro de filiais, que faz acesso ao banco Firebird através de EmbeddebSQL,
|
||||
onde as instruções SQL são transcritas diretamente no fonte do programa. O arquivo
|
||||
LEIA-ME.TXT traz informações detalhadas sobre o mesmo.
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
5 - Dúvidas e Sugestões.
|
||||
5.1 Dúvidas, críticas e sugestões envie para:
|
||||
* Clube Cobol (cobol@yahoogrupos.com.br): Grupo brasileiro de usuários COBOL
|
||||
* Lista Oficial de Desenvolvedores (tiny-cobol-users@lists.sourceforge.net):
|
||||
Grupo oficial de desenvolvedores e usuários (em inglês).
|
||||
|
||||
5.2 Material de apoio TC+TCL (ambiente gráfico) e TC+DDD (depuração).
|
||||
Estão disponíveis no grupo de programas TinyCOBOL a documentação escrita por Rildo
|
||||
Pragana referentes à integração do TinyCOBOL com TCL/TK e também sobre o uso do
|
||||
DDD, ferramenta para depuração que pode ser usada para "animar" os programas escritos
|
||||
e compilados em TinyCOBOL.
|
||||
|
||||
5.3 Informações adicionais sobre TinyCOBOL.
|
||||
http://br.tinycobol.org
|
||||
http://wiki.tinycobol.org
|
||||
|
||||
----------------------------------------------------------------------------------
|
||||
|
||||
6 - Agradecimentos.
|
||||
- Rildo Pragana <rildo@pragana.net> pela iniciativa no desenvolvimento do TinyCOBOL;
|
||||
- Walter Garrote <gaaw7@hotmail.com> por aceitar o desafio de manter o desenvolvimento
|
||||
do compilador;
|
||||
- Carlucio Lopes <carsanlo@terra.com.br> por nos auxiliar na criação deste pacote,
|
||||
cedendo parte dos tutoriais
|
||||
- Demais colaboradores do projeto;
|
||||
- A você que está lendo este material, que nos incentiva a manter o trabalho, construindo
|
||||
um compilador COBOL cada dia melhor.
|
||||
@@ -0,0 +1,43 @@
|
||||
@echo off
|
||||
set TCOB_OPTIONS_PATH=c:\tinycobol
|
||||
set TCOBRT_CONFIG_DIR=c:\tinycobol
|
||||
set PATH=c:\tinycobol;c:\tinycobol\bin;c:\tinycobol\include;%path%;
|
||||
set TCOB_LIBRARY_PATH=c:\tinycobol
|
||||
set TCOB_LD_LIBRARY_PATH=c:\tinycobol;c:\tinycobol\bin
|
||||
set TCL_LIBRARY=c:\tinycobol\bin\tcl8.4
|
||||
set TK_LIBRARY=c:\tinycobol\bin\tk8.4
|
||||
rem ATENCAO: A variavel acima (TCOB_LD_LIBRARY_PATH) eh referente ao
|
||||
rem diretorio onde estarao os executaveis e bibliotecas do seu programa.
|
||||
rem Altere-o para o diretorio correto, caso necessario.
|
||||
set LIBRARY_PATH=c:\tinycobol\lib
|
||||
doskey
|
||||
echo TinyCOBOL - O primeiro compilador COBOL livre e com sangue brasileiro!!!
|
||||
echo.
|
||||
echo Para alterar seu ambiente, edite o arquivo "c:\tinycobol\bin\tcobol.bat"
|
||||
echo.
|
||||
echo Para compilar o programa principal (chamador) digite:
|
||||
echo htcobol -vC programa (este comando ira gerar o programa.exe)
|
||||
echo.
|
||||
echo Para compilar os demais programas (chamados) digite:
|
||||
echo htcobol -mC programa (este comando ira gerar o programa.dll)
|
||||
echo.
|
||||
echo Para compilacao em free format (sem limite de margens), utilize a opcao -X
|
||||
echo Para compilacao em fixed format (respeitando as margens), utilize a opcao -F
|
||||
echo.
|
||||
echo Para maiores informacoes, digite htcobol -?
|
||||
echo.
|
||||
If Not Exist C:\WINNT\SYSTEM32\CMD.EXE GoTo Win98ouXP
|
||||
cmd
|
||||
GoTo Fim
|
||||
|
||||
:Win98ouXP
|
||||
If Not Exist C:\WINDOWS\SYSTEM32\CMD.EXE GoTo Win98
|
||||
cmd
|
||||
GoTo Fim
|
||||
|
||||
:Win98
|
||||
command
|
||||
GoTo Fim
|
||||
|
||||
:Fim
|
||||
exit
|
||||
Reference in New Issue
Block a user