version 0.73.0

master
Nilo Roberto C Paim 2023-07-14 12:15:30 -03:00
parent 110d8a0419
commit 945dd1a809
1466 changed files with 374820 additions and 0 deletions

78
.bash_history Normal file
View File

@ -0,0 +1,78 @@
cd cobroutines/
ls
make -f Makefile.Win32
ls
a.exe
cat xupeta.c
ls
vi mwindows.h
vi sql*
vi scr.c
ls
mv screen.c~ screen.c
ls
make -f Makefile.Win32
ls
file *]
exit
cd c:/mingw
grep -r -i euidaccess *
grep -r -i uname *
cd c:/
cd tiny-extras/Postgres/Release/
ls
pexports TCSql.dll
cd
ls
cd lib
ls
cd
ls
tconfig.mingw.sh
make clean
make
make clean
make
make install
make
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make
make install
make install
make
make install
make
make install

203
.cproject Normal file
View File

@ -0,0 +1,203 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.toolchain.gnu.mingw.base.402242580">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.mingw.base.402242580" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration buildProperties="" id="cdt.managedbuild.toolchain.gnu.mingw.base.402242580" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.mingw.base.402242580.1320208561" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.mingw.base.1262707568" name="cdt.managedbuild.toolchain.gnu.mingw.base" superClass="cdt.managedbuild.toolchain.gnu.mingw.base">
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.PE" id="cdt.managedbuild.target.gnu.platform.mingw.base.1427047998" name="Debug Platform" osList="win32" superClass="cdt.managedbuild.target.gnu.platform.mingw.base"/>
<builder buildPath="${workspace_loc:/super/Default}" id="cdt.managedbuild.tool.gnu.builder.mingw.base.1638854088" managedBuildOn="false" name="CDT Internal Builder.Default" superClass="cdt.managedbuild.tool.gnu.builder.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.assembler.mingw.base.565253693" name="GCC Assembler" superClass="cdt.managedbuild.tool.gnu.assembler.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.archiver.mingw.base.1443422135" name="GCC Archiver" superClass="cdt.managedbuild.tool.gnu.archiver.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base.1512919479" name="GCC C++ Compiler" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.c.compiler.mingw.base.1264266210" name="GCC C Compiler" superClass="cdt.managedbuild.tool.gnu.c.compiler.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.c.linker.mingw.base.1110778268" name="MinGW C Linker" superClass="cdt.managedbuild.tool.gnu.c.linker.mingw.base"/>
<tool id="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base.217177885" name="MinGW C++ Linker" superClass="cdt.managedbuild.tool.gnu.cpp.linker.mingw.base"/>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.config.gnu.mingw.exe.debug.644670507;cdt.managedbuild.config.gnu.mingw.exe.debug.644670507.;cdt.managedbuild.tool.gnu.c.compiler.mingw.exe.debug.151318451;cdt.managedbuild.tool.gnu.c.compiler.input.1019670029">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC"/>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="makefileGenerator">
<runAction arguments="-f ${project_name}_scd.mk" command="make" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/${specs_file}" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileCPP">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.cpp" command="g++" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
<profile id="org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfileC">
<buildOutputProvider>
<openAction enabled="true" filePath=""/>
<parser enabled="true"/>
</buildOutputProvider>
<scannerInfoProvider id="specsFile">
<runAction arguments="-E -P -v -dD ${plugin_state_location}/specs.c" command="gcc" useDefault="true"/>
<parser enabled="true"/>
</scannerInfoProvider>
</profile>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="super.null.989728871" name="super"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
</cproject>

5
.dep.inc Normal file
View File

@ -0,0 +1,5 @@
# This code depends on make tool being used
DEPFILES=$(wildcard $(addsuffix .d, ${OBJECTFILES}))
ifneq (${DEPFILES},)
include ${DEPFILES}
endif

0
.metadata/.lock Normal file
View File

Binary file not shown.

View File

@ -0,0 +1 @@
*** SESSION set 03, 2012 10:31:09.42 -------------------------------------------

View File

@ -0,0 +1 @@

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,4 @@
eclipse.preferences.version=1
spelling_locale_initialized=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
version=1

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.epp.usagedata.recording.last-upload=1346679081898

View File

@ -0,0 +1,14 @@
content_assist_proposals_background=255,255,255
content_assist_proposals_foreground=0,0,0
eclipse.preferences.version=1
fontPropagated=true
org.eclipse.jdt.internal.ui.navigator.layout=2
org.eclipse.jdt.ui.editor.tab.width=
org.eclipse.jdt.ui.formatterprofiles.version=12
org.eclipse.jdt.ui.javadoclocations.migrated=true
org.eclipse.jface.textfont=1|Consolas|10.0|0|WINDOWS|1|0|0|0|0|0|0|0|0|1|0|0|0|0|Consolas;
proposalOrderMigrated=true
spelling_locale_initialized=true
tabWidthPropagated=true
useAnnotationsPrefPage=true
useQuickDiffPrefPage=true

View File

@ -0,0 +1,2 @@
areThereWebServices=false
eclipse.preferences.version=1

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
mylyn.attention.migrated=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.mylyn.monitor.activity.tracking.enabled.checked=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
pref_first_startup=false

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.team.ui.first_time=false

View File

@ -0,0 +1,5 @@
PROBLEMS_FILTERS_MIGRATE=true
eclipse.preferences.version=1
platformState=1341602168725
quickStart=true
tipsAndTricks=true

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
showIntro=false

View File

@ -0,0 +1,3 @@
//org.eclipse.ui.commands/state/org.eclipse.wst.xml.views.XPathView.processor.xpathprocessor/org.eclipse.ui.commands.radioState=xpath10
ENABLED_DECORATORS=de.tobject.findbugs.decorators.WorkingSetBugCountDecorator\:true,de.tobject.findbugs.decorators.ProjectBugCountDecorator\:true,de.tobject.findbugs.decorators.FolderBugCountDecorator\:true,de.tobject.findbugs.decorators.FileBugCountDecorator\:true,org.eclipse.jst.ws.jaxws.dom.integration.navigator.WebServiceDecorator\:true,org.eclipse.wst.server.ui.decorator\:false,sf.eclipse.javacc.jjdecorator\:true,org.dyno.visual.swing.decorator\:true,org.eclipse.cdt.ui.indexedFiles\:false,org.eclipse.cdt.managedbuilder.ui.excludedFile\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.DependencyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ColumnDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.ForeignKeyDecoration\:true,org.eclipse.datatools.connectivity.sqm.core.internal.ui.explorer.IndexTriggerDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.bookmarkDecoration\:true,org.eclipse.datatools.connectivity.internal.core.ui.FilterNodeDecoration\:true,org.eclipse.datatools.connectivity.ui.decorator.contentextension\:false,org.eclipse.datatools.enablement.ingres.ui.providers.decorators.SynonymDecorationService\:true,org.eclipse.datatools.enablement.ingres.internal.ui.providers.decorators.ParameterDecorationService\:true,org.eclipse.datatools.enablement.sybase.asa.proxytabledecorator\:true,org.eclipse.datatools.enablement.sybase.ase.webservicetabledecorator\:true,org.eclipse.datatools.enablement.sybase.systemtabledecorator\:true,org.eclipse.jdt.ui.override.decorator\:true,org.eclipse.jdt.ui.interface.decorator\:false,org.eclipse.jdt.ui.buildpath.decorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_ejb\:true,org.eclipse.jst.j2ee.navigator.internal.J2EEProjectDecorator\:true,org.eclipse.jst.jee.ui.internal.navigator.ejb.BeanDecorator\:true,org.eclipse.jst.jee.navigator.internal.JEEProjectDecorator\:true,org.eclipse.jst.j2ee.internal.ui.util.AnnotationIconDecorator_servlet\:true,org.eclipse.jst.servlet.ui.Decorator\:true,org.eclipse.mylyn.context.ui.decorator.interest\:true,org.eclipse.mylyn.tasks.ui.decorators.task\:true,org.eclipse.mylyn.team.ui.changeset.decorator\:true,org.eclipse.pde.ui.binaryProjectDecorator\:false,org.eclipse.rse.core.virtualobject.decorator\:true,org.eclipse.rse.core.binary.executable.decorator\:true,org.eclipse.rse.core.script.executable.decorator\:true,org.eclipse.rse.core.java.executable.decorator\:true,org.eclipse.rse.core.library.decorator\:true,org.eclipse.rse.core.link.decorator\:true,org.eclipse.rse.subsystems.error.decorator\:true,org.eclipse.team.cvs.ui.decorator\:true,org.eclipse.team.svn.ui.decorator.SVNLightweightDecorator\:false,org.eclipse.ui.LinkedResourceDecorator\:true,org.eclipse.ui.VirtualResourceDecorator\:true,org.eclipse.ui.ContentTypeDecorator\:true,org.eclipse.ui.ResourceFilterDecorator\:false,org.eclipse.wst.jsdt.ui.override.decorator\:true,org.eclipse.wst.server.ui.navigatorDecorator\:true,
eclipse.preferences.version=1

View File

@ -0,0 +1,127 @@
what,kind,bundleId,bundleVersion,description,time
activated,perspective,org.eclipse.jst.j2ee.ui,,"org.eclipse.jst.j2ee.J2EEPerspective",1346679079785
started,bundle,org.eclipse.osgi,3.7.2.v20120110-1415,"org.eclipse.osgi",1346679079787
started,bundle,org.eclipse.equinox.simpleconfigurator,1.0.200.v20110815-1438,"org.eclipse.equinox.simpleconfigurator",1346679079798
started,bundle,com.ibm.icu,4.4.2.v20110823,"com.ibm.icu",1346679079815
started,bundle,org.eclipse.core.contenttype,3.4.100.v20110423-0524,"org.eclipse.core.contenttype",1346679079822
started,bundle,org.eclipse.core.databinding.observable,1.4.0.I20110222-0800,"org.eclipse.core.databinding.observable",1346679079836
started,bundle,org.eclipse.core.expressions,3.4.300.v20110228,"org.eclipse.core.expressions",1346679079850
started,bundle,org.eclipse.core.filebuffers,3.5.200.v20110928-1504,"org.eclipse.core.filebuffers",1346679079853
started,bundle,org.eclipse.core.filesystem,1.3.100.v20110423-0524,"org.eclipse.core.filesystem",1346679079871
started,bundle,org.eclipse.core.jobs,3.5.101.v20120113-1953,"org.eclipse.core.jobs",1346679079886
started,bundle,org.eclipse.core.net,1.2.100.I20110511-0800,"org.eclipse.core.net",1346679079893
started,bundle,org.eclipse.core.resources,3.7.101.v20120125-1505,"org.eclipse.core.resources",1346679079905
started,bundle,org.eclipse.core.runtime,3.7.0.v20110110,"org.eclipse.core.runtime",1346679079915
started,bundle,org.eclipse.core.runtime.compatibility,3.2.100.v20100505,"org.eclipse.core.runtime.compatibility",1346679079924
started,bundle,org.eclipse.core.runtime.compatibility.auth,3.2.200.v20110110,"org.eclipse.core.runtime.compatibility.auth",1346679079937
started,bundle,org.eclipse.emf.common,2.7.0.v20120127-1122,"org.eclipse.emf.common",1346679079937
started,bundle,org.eclipse.emf.common.ui,2.7.0.v20120130-0943,"org.eclipse.emf.common.ui",1346679079951
started,bundle,org.eclipse.emf.ecore,2.7.0.v20120127-1122,"org.eclipse.emf.ecore",1346679079951
started,bundle,org.eclipse.emf.ecore.xmi,2.7.0.v20120127-1122,"org.eclipse.emf.ecore.xmi",1346679079962
started,bundle,org.eclipse.emf.edit,2.7.2.v20120130-0943,"org.eclipse.emf.edit",1346679079978
started,bundle,org.eclipse.emf.edit.ui,2.7.0.v20120130-0943,"org.eclipse.emf.edit.ui",1346679079978
started,bundle,org.eclipse.epp.mpc.ui,1.1.1.I20110907-0947,"org.eclipse.epp.mpc.ui",1346679079978
started,bundle,org.eclipse.epp.usagedata.gathering,1.3.1.R201106061540,"org.eclipse.epp.usagedata.gathering",1346679079980
started,bundle,org.eclipse.epp.usagedata.recording,1.3.1.R201106061540,"org.eclipse.epp.usagedata.recording",1346679079993
started,bundle,org.eclipse.equinox.app,1.3.100.v20110321,"org.eclipse.equinox.app",1346679080001
started,bundle,org.eclipse.equinox.common,3.6.0.v20110523,"org.eclipse.equinox.common",1346679080016
started,bundle,org.eclipse.equinox.ds,1.3.1.R37x_v20110701,"org.eclipse.equinox.ds",1346679080028
started,bundle,org.eclipse.equinox.event,1.2.100.v20110502,"org.eclipse.equinox.event",1346679080044
started,bundle,org.eclipse.equinox.p2.core,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.core",1346679080057
started,bundle,org.eclipse.equinox.p2.directorywatcher,1.0.300.v20110815-1419,"org.eclipse.equinox.p2.directorywatcher",1346679080058
started,bundle,org.eclipse.equinox.p2.engine,2.1.1.R37x_v20111003,"org.eclipse.equinox.p2.engine",1346679080067
started,bundle,org.eclipse.equinox.p2.metadata,2.1.0.v20110815-1419,"org.eclipse.equinox.p2.metadata",1346679080084
started,bundle,org.eclipse.equinox.p2.metadata.repository,1.2.0.v20110815-1419,"org.eclipse.equinox.p2.metadata.repository",1346679080098
started,bundle,org.eclipse.equinox.p2.operations,2.1.1.R37x_v20111111,"org.eclipse.equinox.p2.operations",1346679080106
started,bundle,org.eclipse.equinox.p2.reconciler.dropins,1.1.100.v20110815-1419,"org.eclipse.equinox.p2.reconciler.dropins",1346679080112
started,bundle,org.eclipse.equinox.p2.repository,2.1.1.v20120113-1346,"org.eclipse.equinox.p2.repository",1346679080124
started,bundle,org.eclipse.equinox.p2.ui.sdk.scheduler,1.0.100.v20110815-1419,"org.eclipse.equinox.p2.ui.sdk.scheduler",1346679080138
started,bundle,org.eclipse.equinox.p2.updatechecker,1.1.200.v20110815-1419,"org.eclipse.equinox.p2.updatechecker",1346679080148
started,bundle,org.eclipse.equinox.preferences,3.4.2.v20120111-2020,"org.eclipse.equinox.preferences",1346679080156
started,bundle,org.eclipse.equinox.registry,3.5.101.R37x_v20110810-1611,"org.eclipse.equinox.registry",1346679080164
started,bundle,org.eclipse.equinox.security,1.1.1.R37x_v20110822-1018,"org.eclipse.equinox.security",1346679080181
started,bundle,org.eclipse.equinox.util,1.0.300.v20110502,"org.eclipse.equinox.util",1346679080189
started,bundle,org.eclipse.help,3.5.100.v20110426,"org.eclipse.help",1346679080201
started,bundle,org.eclipse.jdt.core,3.7.3.v20120119-1537,"org.eclipse.jdt.core",1346679080212
started,bundle,org.eclipse.jdt.core.manipulation,1.4.0.v20110928-1453,"org.eclipse.jdt.core.manipulation",1346679080223
started,bundle,org.eclipse.jdt.ui,3.7.2.v20120109-1427,"org.eclipse.jdt.ui",1346679080244
started,bundle,org.eclipse.jem.util,2.1.100.v201103021400,"org.eclipse.jem.util",1346679080252
started,bundle,org.eclipse.jface,3.7.0.v20110928-1505,"org.eclipse.jface",1346679080260
started,bundle,org.eclipse.jsch.core,1.1.300.I20110514-0800,"org.eclipse.jsch.core",1346679080273
started,bundle,org.eclipse.jst.j2ee.ui,1.1.503.v201201190400,"org.eclipse.jst.j2ee.ui",1346679080281
started,bundle,org.eclipse.jst.j2ee.webservice,1.1.400.v201004110600,"org.eclipse.jst.j2ee.webservice",1346679080298
started,bundle,org.eclipse.jst.j2ee.webservice.ui,1.1.500.v201105122000,"org.eclipse.jst.j2ee.webservice.ui",1346679080310
started,bundle,org.eclipse.jst.ws.jaxws.utils,1.0.100.v201201031437,"org.eclipse.jst.ws.jaxws.utils",1346679080321
started,bundle,org.eclipse.ltk.core.refactoring,3.5.201.r372_v20111101-0700,"org.eclipse.ltk.core.refactoring",1346679080335
started,bundle,org.eclipse.mylyn.bugzilla.core,3.6.5.v20120123-0100,"org.eclipse.mylyn.bugzilla.core",1346679080347
started,bundle,org.eclipse.mylyn.bugzilla.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.bugzilla.ui",1346679080352
started,bundle,org.eclipse.mylyn.commons.identity,0.8.0.v20110608-1400,"org.eclipse.mylyn.commons.identity",1346679080362
started,bundle,org.eclipse.mylyn.commons.net,3.6.0.v20110608-1400,"org.eclipse.mylyn.commons.net",1346679080362
started,bundle,org.eclipse.mylyn.commons.ui,3.6.1.v20110720-0100,"org.eclipse.mylyn.commons.ui",1346679080371
started,bundle,org.eclipse.mylyn.context.core,3.6.1.v20110720-0100,"org.eclipse.mylyn.context.core",1346679080382
started,bundle,org.eclipse.mylyn.context.ui,3.6.1.v20120112-0100,"org.eclipse.mylyn.context.ui",1346679080390
started,bundle,org.eclipse.mylyn.monitor.ui,3.6.0.v20110608-1400,"org.eclipse.mylyn.monitor.ui",1346679080400
started,bundle,org.eclipse.mylyn.tasks.ui,3.6.5.v20120215-0100,"org.eclipse.mylyn.tasks.ui",1346679080420
started,bundle,org.eclipse.mylyn.team.ui,3.6.1.v20110825-0100,"org.eclipse.mylyn.team.ui",1346679080436
started,bundle,org.eclipse.search,3.7.0.v20110928-1504,"org.eclipse.search",1346679080448
started,bundle,org.eclipse.team.core,3.6.0.I20110525-0800,"org.eclipse.team.core",1346679080460
started,bundle,org.eclipse.team.cvs.core,3.3.400.I20110510-0800,"org.eclipse.team.cvs.core",1346679080470
started,bundle,org.eclipse.team.cvs.ui,3.3.401.v20120126-1227,"org.eclipse.team.cvs.ui",1346679080479
started,bundle,org.eclipse.team.ui,3.6.101.R37x_v20111109-0800,"org.eclipse.team.ui",1346679080493
started,bundle,org.eclipse.ui,3.7.0.v20110928-1505,"org.eclipse.ui",1346679080503
started,bundle,org.eclipse.ui.console,3.5.100.v20111007_r372,"org.eclipse.ui.console",1346679080508
started,bundle,org.eclipse.ui.editors,3.7.0.v20110928-1504,"org.eclipse.ui.editors",1346679080520
started,bundle,org.eclipse.ui.forms,3.5.101.v20111011-1919,"org.eclipse.ui.forms",1346679080533
started,bundle,org.eclipse.ui.ide,3.7.0.v20110928-1505,"org.eclipse.ui.ide",1346679080549
started,bundle,org.eclipse.ui.intro,3.4.100.v20110425,"org.eclipse.ui.intro",1346679080564
started,bundle,org.eclipse.ui.intro.universal,3.2.500.v20110510,"org.eclipse.ui.intro.universal",1346679080564
started,bundle,org.eclipse.ui.navigator,3.5.101.v20120106-1355,"org.eclipse.ui.navigator",1346679080612
started,bundle,org.eclipse.ui.navigator.resources,3.4.300.v20110928-1505,"org.eclipse.ui.navigator.resources",1346679080624
started,bundle,org.eclipse.ui.net,1.2.100.v20111208-1155,"org.eclipse.ui.net",1346679080639
started,bundle,org.eclipse.ui.views,3.6.0.v20110928-1505,"org.eclipse.ui.views",1346679080650
started,bundle,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"org.eclipse.ui.workbench",1346679080661
started,bundle,org.eclipse.ui.workbench.texteditor,3.7.0.v20110928-1504,"org.eclipse.ui.workbench.texteditor",1346679080675
started,bundle,org.eclipse.update.configurator,3.3.100.v20100512,"org.eclipse.update.configurator",1346679080685
started,bundle,org.eclipse.update.core,3.2.500.v20110330,"org.eclipse.update.core",1346679080703
started,bundle,org.eclipse.update.scheduler,3.2.300.v20100512,"org.eclipse.update.scheduler",1346679080716
started,bundle,org.eclipse.wst.common.emf,1.2.100.v201101101900,"org.eclipse.wst.common.emf",1346679080728
started,bundle,org.eclipse.wst.common.emfworkbench.integration,1.2.101.v201107140600,"org.eclipse.wst.common.emfworkbench.integration",1346679080758
started,bundle,org.eclipse.wst.common.frameworks,1.2.102.v201201190400,"org.eclipse.wst.common.frameworks",1346679080768
started,bundle,org.eclipse.wst.common.project.facet.core,1.4.201.v201201101553,"org.eclipse.wst.common.project.facet.core",1346679080768
started,bundle,org.eclipse.wst.web,1.1.501.v201201190400,"org.eclipse.wst.web",1346679080777
started,bundle,org.eclipse.cdt.codan.ui.cxx,2.0.0.201202111925,"org.eclipse.cdt.codan.ui.cxx",1346679080791
started,bundle,org.eclipse.cdt.core,5.3.2.201202111925,"org.eclipse.cdt.core",1346679080807
started,bundle,org.eclipse.cdt.make.core,7.1.2.201202111925,"org.eclipse.cdt.make.core",1346679080827
started,bundle,org.eclipse.cdt.make.ui,7.1.2.201202111925,"org.eclipse.cdt.make.ui",1346679080837
started,bundle,org.eclipse.cdt.managedbuilder.core,8.0.2.201202111925,"org.eclipse.cdt.managedbuilder.core",1346679080851
started,bundle,org.eclipse.cdt.ui,5.3.2.201202111925,"org.eclipse.cdt.ui",1346679080869
os,sysinfo,,,"win32",1346679080875
arch,sysinfo,,,"x86",1346679080875
ws,sysinfo,,,"win32",1346679080875
locale,sysinfo,,,"pt_BR",1346679080875
processors,sysinfo,,,"4",1346679080875
java.runtime.name,sysinfo,,,"Java(TM) SE Runtime Environment",1346679080875
java.runtime.version,sysinfo,,,"1.7.0_05-b05",1346679080875
java.specification.name,sysinfo,,,"Java Platform API Specification",1346679080875
java.specification.vendor,sysinfo,,,"Oracle Corporation",1346679080875
java.specification.version,sysinfo,,,"1.7",1346679080875
java.vendor,sysinfo,,,"Oracle Corporation",1346679080875
java.version,sysinfo,,,"1.7.0_05",1346679080875
java.vm.info,sysinfo,,,"mixed mode, sharing",1346679080875
java.vm.name,sysinfo,,,"Java HotSpot(TM) Client VM",1346679080875
java.vm.specification.name,sysinfo,,,"Java Virtual Machine Specification",1346679080876
java.vm.specification.vendor,sysinfo,,,"Oracle Corporation",1346679080876
java.vm.specification.version,sysinfo,,,"1.7",1346679080876
java.vm.vendor,sysinfo,,,"Oracle Corporation",1346679080876
java.vm.version,sysinfo,,,"23.1-b03",1346679080876
activated,view,org.eclipse.ui.navigator.resources,3.4.300.v20110928-1505,"org.eclipse.ui.navigator.ProjectExplorer",1346679080998
activated,view,org.eclipse.ui.navigator.resources,3.4.300.v20110928-1505,"org.eclipse.ui.navigator.ProjectExplorer",1346679081044
closed,view,org.eclipse.ui,3.7.0.v20110928-1505,"org.eclipse.ui.internal.introview",1346679081073
started,bundle,org.eclipse.cdt.codan.core.cxx,1.0.0.201202111925,"org.eclipse.cdt.codan.core.cxx",1346679081307
started,bundle,org.eclipse.cdt.codan.core,2.0.0.201202111925,"org.eclipse.cdt.codan.core",1346679081325
started,bundle,org.eclipse.cdt.codan.checkers,1.0.1.201202111925,"org.eclipse.cdt.codan.checkers",1346679081384
deactivated,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1346679084397
activated,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1346679086387
closed,workbench,org.eclipse.ui.workbench,3.7.1.v20120104-1859,"",1346679086454
started,bundle,org.eclipse.compare.core,3.5.200.I20110208-0800,"org.eclipse.compare.core",1346679087321
started,bundle,org.eclipse.compare,3.5.202.R37x_v20111109-0800,"org.eclipse.compare",1346679087364
1 what kind bundleId bundleVersion description time
2 activated perspective org.eclipse.jst.j2ee.ui org.eclipse.jst.j2ee.J2EEPerspective 1346679079785
3 started bundle org.eclipse.osgi 3.7.2.v20120110-1415 org.eclipse.osgi 1346679079787
4 started bundle org.eclipse.equinox.simpleconfigurator 1.0.200.v20110815-1438 org.eclipse.equinox.simpleconfigurator 1346679079798
5 started bundle com.ibm.icu 4.4.2.v20110823 com.ibm.icu 1346679079815
6 started bundle org.eclipse.core.contenttype 3.4.100.v20110423-0524 org.eclipse.core.contenttype 1346679079822
7 started bundle org.eclipse.core.databinding.observable 1.4.0.I20110222-0800 org.eclipse.core.databinding.observable 1346679079836
8 started bundle org.eclipse.core.expressions 3.4.300.v20110228 org.eclipse.core.expressions 1346679079850
9 started bundle org.eclipse.core.filebuffers 3.5.200.v20110928-1504 org.eclipse.core.filebuffers 1346679079853
10 started bundle org.eclipse.core.filesystem 1.3.100.v20110423-0524 org.eclipse.core.filesystem 1346679079871
11 started bundle org.eclipse.core.jobs 3.5.101.v20120113-1953 org.eclipse.core.jobs 1346679079886
12 started bundle org.eclipse.core.net 1.2.100.I20110511-0800 org.eclipse.core.net 1346679079893
13 started bundle org.eclipse.core.resources 3.7.101.v20120125-1505 org.eclipse.core.resources 1346679079905
14 started bundle org.eclipse.core.runtime 3.7.0.v20110110 org.eclipse.core.runtime 1346679079915
15 started bundle org.eclipse.core.runtime.compatibility 3.2.100.v20100505 org.eclipse.core.runtime.compatibility 1346679079924
16 started bundle org.eclipse.core.runtime.compatibility.auth 3.2.200.v20110110 org.eclipse.core.runtime.compatibility.auth 1346679079937
17 started bundle org.eclipse.emf.common 2.7.0.v20120127-1122 org.eclipse.emf.common 1346679079937
18 started bundle org.eclipse.emf.common.ui 2.7.0.v20120130-0943 org.eclipse.emf.common.ui 1346679079951
19 started bundle org.eclipse.emf.ecore 2.7.0.v20120127-1122 org.eclipse.emf.ecore 1346679079951
20 started bundle org.eclipse.emf.ecore.xmi 2.7.0.v20120127-1122 org.eclipse.emf.ecore.xmi 1346679079962
21 started bundle org.eclipse.emf.edit 2.7.2.v20120130-0943 org.eclipse.emf.edit 1346679079978
22 started bundle org.eclipse.emf.edit.ui 2.7.0.v20120130-0943 org.eclipse.emf.edit.ui 1346679079978
23 started bundle org.eclipse.epp.mpc.ui 1.1.1.I20110907-0947 org.eclipse.epp.mpc.ui 1346679079978
24 started bundle org.eclipse.epp.usagedata.gathering 1.3.1.R201106061540 org.eclipse.epp.usagedata.gathering 1346679079980
25 started bundle org.eclipse.epp.usagedata.recording 1.3.1.R201106061540 org.eclipse.epp.usagedata.recording 1346679079993
26 started bundle org.eclipse.equinox.app 1.3.100.v20110321 org.eclipse.equinox.app 1346679080001
27 started bundle org.eclipse.equinox.common 3.6.0.v20110523 org.eclipse.equinox.common 1346679080016
28 started bundle org.eclipse.equinox.ds 1.3.1.R37x_v20110701 org.eclipse.equinox.ds 1346679080028
29 started bundle org.eclipse.equinox.event 1.2.100.v20110502 org.eclipse.equinox.event 1346679080044
30 started bundle org.eclipse.equinox.p2.core 2.1.1.v20120113-1346 org.eclipse.equinox.p2.core 1346679080057
31 started bundle org.eclipse.equinox.p2.directorywatcher 1.0.300.v20110815-1419 org.eclipse.equinox.p2.directorywatcher 1346679080058
32 started bundle org.eclipse.equinox.p2.engine 2.1.1.R37x_v20111003 org.eclipse.equinox.p2.engine 1346679080067
33 started bundle org.eclipse.equinox.p2.metadata 2.1.0.v20110815-1419 org.eclipse.equinox.p2.metadata 1346679080084
34 started bundle org.eclipse.equinox.p2.metadata.repository 1.2.0.v20110815-1419 org.eclipse.equinox.p2.metadata.repository 1346679080098
35 started bundle org.eclipse.equinox.p2.operations 2.1.1.R37x_v20111111 org.eclipse.equinox.p2.operations 1346679080106
36 started bundle org.eclipse.equinox.p2.reconciler.dropins 1.1.100.v20110815-1419 org.eclipse.equinox.p2.reconciler.dropins 1346679080112
37 started bundle org.eclipse.equinox.p2.repository 2.1.1.v20120113-1346 org.eclipse.equinox.p2.repository 1346679080124
38 started bundle org.eclipse.equinox.p2.ui.sdk.scheduler 1.0.100.v20110815-1419 org.eclipse.equinox.p2.ui.sdk.scheduler 1346679080138
39 started bundle org.eclipse.equinox.p2.updatechecker 1.1.200.v20110815-1419 org.eclipse.equinox.p2.updatechecker 1346679080148
40 started bundle org.eclipse.equinox.preferences 3.4.2.v20120111-2020 org.eclipse.equinox.preferences 1346679080156
41 started bundle org.eclipse.equinox.registry 3.5.101.R37x_v20110810-1611 org.eclipse.equinox.registry 1346679080164
42 started bundle org.eclipse.equinox.security 1.1.1.R37x_v20110822-1018 org.eclipse.equinox.security 1346679080181
43 started bundle org.eclipse.equinox.util 1.0.300.v20110502 org.eclipse.equinox.util 1346679080189
44 started bundle org.eclipse.help 3.5.100.v20110426 org.eclipse.help 1346679080201
45 started bundle org.eclipse.jdt.core 3.7.3.v20120119-1537 org.eclipse.jdt.core 1346679080212
46 started bundle org.eclipse.jdt.core.manipulation 1.4.0.v20110928-1453 org.eclipse.jdt.core.manipulation 1346679080223
47 started bundle org.eclipse.jdt.ui 3.7.2.v20120109-1427 org.eclipse.jdt.ui 1346679080244
48 started bundle org.eclipse.jem.util 2.1.100.v201103021400 org.eclipse.jem.util 1346679080252
49 started bundle org.eclipse.jface 3.7.0.v20110928-1505 org.eclipse.jface 1346679080260
50 started bundle org.eclipse.jsch.core 1.1.300.I20110514-0800 org.eclipse.jsch.core 1346679080273
51 started bundle org.eclipse.jst.j2ee.ui 1.1.503.v201201190400 org.eclipse.jst.j2ee.ui 1346679080281
52 started bundle org.eclipse.jst.j2ee.webservice 1.1.400.v201004110600 org.eclipse.jst.j2ee.webservice 1346679080298
53 started bundle org.eclipse.jst.j2ee.webservice.ui 1.1.500.v201105122000 org.eclipse.jst.j2ee.webservice.ui 1346679080310
54 started bundle org.eclipse.jst.ws.jaxws.utils 1.0.100.v201201031437 org.eclipse.jst.ws.jaxws.utils 1346679080321
55 started bundle org.eclipse.ltk.core.refactoring 3.5.201.r372_v20111101-0700 org.eclipse.ltk.core.refactoring 1346679080335
56 started bundle org.eclipse.mylyn.bugzilla.core 3.6.5.v20120123-0100 org.eclipse.mylyn.bugzilla.core 1346679080347
57 started bundle org.eclipse.mylyn.bugzilla.ui 3.6.0.v20110608-1400 org.eclipse.mylyn.bugzilla.ui 1346679080352
58 started bundle org.eclipse.mylyn.commons.identity 0.8.0.v20110608-1400 org.eclipse.mylyn.commons.identity 1346679080362
59 started bundle org.eclipse.mylyn.commons.net 3.6.0.v20110608-1400 org.eclipse.mylyn.commons.net 1346679080362
60 started bundle org.eclipse.mylyn.commons.ui 3.6.1.v20110720-0100 org.eclipse.mylyn.commons.ui 1346679080371
61 started bundle org.eclipse.mylyn.context.core 3.6.1.v20110720-0100 org.eclipse.mylyn.context.core 1346679080382
62 started bundle org.eclipse.mylyn.context.ui 3.6.1.v20120112-0100 org.eclipse.mylyn.context.ui 1346679080390
63 started bundle org.eclipse.mylyn.monitor.ui 3.6.0.v20110608-1400 org.eclipse.mylyn.monitor.ui 1346679080400
64 started bundle org.eclipse.mylyn.tasks.ui 3.6.5.v20120215-0100 org.eclipse.mylyn.tasks.ui 1346679080420
65 started bundle org.eclipse.mylyn.team.ui 3.6.1.v20110825-0100 org.eclipse.mylyn.team.ui 1346679080436
66 started bundle org.eclipse.search 3.7.0.v20110928-1504 org.eclipse.search 1346679080448
67 started bundle org.eclipse.team.core 3.6.0.I20110525-0800 org.eclipse.team.core 1346679080460
68 started bundle org.eclipse.team.cvs.core 3.3.400.I20110510-0800 org.eclipse.team.cvs.core 1346679080470
69 started bundle org.eclipse.team.cvs.ui 3.3.401.v20120126-1227 org.eclipse.team.cvs.ui 1346679080479
70 started bundle org.eclipse.team.ui 3.6.101.R37x_v20111109-0800 org.eclipse.team.ui 1346679080493
71 started bundle org.eclipse.ui 3.7.0.v20110928-1505 org.eclipse.ui 1346679080503
72 started bundle org.eclipse.ui.console 3.5.100.v20111007_r372 org.eclipse.ui.console 1346679080508
73 started bundle org.eclipse.ui.editors 3.7.0.v20110928-1504 org.eclipse.ui.editors 1346679080520
74 started bundle org.eclipse.ui.forms 3.5.101.v20111011-1919 org.eclipse.ui.forms 1346679080533
75 started bundle org.eclipse.ui.ide 3.7.0.v20110928-1505 org.eclipse.ui.ide 1346679080549
76 started bundle org.eclipse.ui.intro 3.4.100.v20110425 org.eclipse.ui.intro 1346679080564
77 started bundle org.eclipse.ui.intro.universal 3.2.500.v20110510 org.eclipse.ui.intro.universal 1346679080564
78 started bundle org.eclipse.ui.navigator 3.5.101.v20120106-1355 org.eclipse.ui.navigator 1346679080612
79 started bundle org.eclipse.ui.navigator.resources 3.4.300.v20110928-1505 org.eclipse.ui.navigator.resources 1346679080624
80 started bundle org.eclipse.ui.net 1.2.100.v20111208-1155 org.eclipse.ui.net 1346679080639
81 started bundle org.eclipse.ui.views 3.6.0.v20110928-1505 org.eclipse.ui.views 1346679080650
82 started bundle org.eclipse.ui.workbench 3.7.1.v20120104-1859 org.eclipse.ui.workbench 1346679080661
83 started bundle org.eclipse.ui.workbench.texteditor 3.7.0.v20110928-1504 org.eclipse.ui.workbench.texteditor 1346679080675
84 started bundle org.eclipse.update.configurator 3.3.100.v20100512 org.eclipse.update.configurator 1346679080685
85 started bundle org.eclipse.update.core 3.2.500.v20110330 org.eclipse.update.core 1346679080703
86 started bundle org.eclipse.update.scheduler 3.2.300.v20100512 org.eclipse.update.scheduler 1346679080716
87 started bundle org.eclipse.wst.common.emf 1.2.100.v201101101900 org.eclipse.wst.common.emf 1346679080728
88 started bundle org.eclipse.wst.common.emfworkbench.integration 1.2.101.v201107140600 org.eclipse.wst.common.emfworkbench.integration 1346679080758
89 started bundle org.eclipse.wst.common.frameworks 1.2.102.v201201190400 org.eclipse.wst.common.frameworks 1346679080768
90 started bundle org.eclipse.wst.common.project.facet.core 1.4.201.v201201101553 org.eclipse.wst.common.project.facet.core 1346679080768
91 started bundle org.eclipse.wst.web 1.1.501.v201201190400 org.eclipse.wst.web 1346679080777
92 started bundle org.eclipse.cdt.codan.ui.cxx 2.0.0.201202111925 org.eclipse.cdt.codan.ui.cxx 1346679080791
93 started bundle org.eclipse.cdt.core 5.3.2.201202111925 org.eclipse.cdt.core 1346679080807
94 started bundle org.eclipse.cdt.make.core 7.1.2.201202111925 org.eclipse.cdt.make.core 1346679080827
95 started bundle org.eclipse.cdt.make.ui 7.1.2.201202111925 org.eclipse.cdt.make.ui 1346679080837
96 started bundle org.eclipse.cdt.managedbuilder.core 8.0.2.201202111925 org.eclipse.cdt.managedbuilder.core 1346679080851
97 started bundle org.eclipse.cdt.ui 5.3.2.201202111925 org.eclipse.cdt.ui 1346679080869
98 os sysinfo win32 1346679080875
99 arch sysinfo x86 1346679080875
100 ws sysinfo win32 1346679080875
101 locale sysinfo pt_BR 1346679080875
102 processors sysinfo 4 1346679080875
103 java.runtime.name sysinfo Java(TM) SE Runtime Environment 1346679080875
104 java.runtime.version sysinfo 1.7.0_05-b05 1346679080875
105 java.specification.name sysinfo Java Platform API Specification 1346679080875
106 java.specification.vendor sysinfo Oracle Corporation 1346679080875
107 java.specification.version sysinfo 1.7 1346679080875
108 java.vendor sysinfo Oracle Corporation 1346679080875
109 java.version sysinfo 1.7.0_05 1346679080875
110 java.vm.info sysinfo mixed mode, sharing 1346679080875
111 java.vm.name sysinfo Java HotSpot(TM) Client VM 1346679080875
112 java.vm.specification.name sysinfo Java Virtual Machine Specification 1346679080876
113 java.vm.specification.vendor sysinfo Oracle Corporation 1346679080876
114 java.vm.specification.version sysinfo 1.7 1346679080876
115 java.vm.vendor sysinfo Oracle Corporation 1346679080876
116 java.vm.version sysinfo 23.1-b03 1346679080876
117 activated view org.eclipse.ui.navigator.resources 3.4.300.v20110928-1505 org.eclipse.ui.navigator.ProjectExplorer 1346679080998
118 activated view org.eclipse.ui.navigator.resources 3.4.300.v20110928-1505 org.eclipse.ui.navigator.ProjectExplorer 1346679081044
119 closed view org.eclipse.ui 3.7.0.v20110928-1505 org.eclipse.ui.internal.introview 1346679081073
120 started bundle org.eclipse.cdt.codan.core.cxx 1.0.0.201202111925 org.eclipse.cdt.codan.core.cxx 1346679081307
121 started bundle org.eclipse.cdt.codan.core 2.0.0.201202111925 org.eclipse.cdt.codan.core 1346679081325
122 started bundle org.eclipse.cdt.codan.checkers 1.0.1.201202111925 org.eclipse.cdt.codan.checkers 1346679081384
123 deactivated workbench org.eclipse.ui.workbench 3.7.1.v20120104-1859 1346679084397
124 activated workbench org.eclipse.ui.workbench 3.7.1.v20120104-1859 1346679086387
125 closed workbench org.eclipse.ui.workbench 3.7.1.v20120104-1859 1346679086454
126 started bundle org.eclipse.compare.core 3.5.200.I20110208-0800 org.eclipse.compare.core 1346679087321
127 started bundle org.eclipse.compare 3.5.202.R37x_v20111109-0800 org.eclipse.compare 1346679087364

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<typeInfoHistroy/>

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<qualifiedTypeNameHistroy/>

View File

@ -0,0 +1,3 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
</section>

View File

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<workbench progressCount="48" version="2.0">
<workbenchAdvisor/>
<window height="738" maximized="true" width="1024" x="175" y="0">
<fastViewData fastViewLocation="1024"/>
<perspectiveBar>
<itemSize x="160"/>
</perspectiveBar>
<coolbarLayout>
<coolItem id="group.file" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="122" y="22"/>
<coolItem id="additions" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="129" y="22"/>
<coolItem id="org.eclipse.jst.j2ee.J2eeMainActionSet" itemType="typeToolBarContribution" x="91" y="22"/>
<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="99" y="22"/>
<coolItem id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet" itemType="typeToolBarContribution" x="38" y="22"/>
<coolItem id="org.eclipse.wst.ws.explorer.explorer" itemType="typeToolBarContribution" x="38" y="22"/>
<coolItem id="org.eclipse.wst.xml.ui.perspective.NewFileToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="org.eclipse.wst.xml.ui.design.DesignToolBar" itemType="typeToolBarContribution" x="-1" y="-1"/>
<coolItem id="group.nav" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="190" y="22"/>
<coolItem id="group.editor" itemType="typeGroupMarker"/>
<coolItem id="group.help" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
</coolbarLayout>
<page focus="true" label="Workspace - Java EE">
<editors>
<editorArea activeWorkbook="DefaultEditorWorkbook">
<info part="DefaultEditorWorkbook">
<folder appearance="1" expanded="2">
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
</folder>
</info>
</editorArea>
</editors>
<views>
<view id="org.eclipse.ui.navigator.ProjectExplorer" partName="Project Explorer">
<viewState CommonNavigator.LINKING_ENABLED="0" org.eclipse.cdt.ui.cview.groupincludes="false" org.eclipse.cdt.ui.cview.groupmacros="false" org.eclipse.cdt.ui.editor.CUChildren="true" org.eclipse.ui.navigator.resources.workingSets.showTopLevelWorkingSets="0"/>
</view>
<view id="org.eclipse.ui.views.AllMarkersView" partName="Markers">
<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.allSeverityField" categoryGroup="org.eclipse.ui.ide.type" markerContentGenerator="org.eclipse.ui.ide.allMarkersGenerator" partName="Markers">
<columnWidths org.eclipse.ui.ide.allSeverityField="300" org.eclipse.ui.ide.locationField="90" org.eclipse.ui.ide.markerType="90" org.eclipse.ui.ide.pathField="120" org.eclipse.ui.ide.resourceField="90"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.allSeverityField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.locationField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>
</viewState>
</view>
<view id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" partName="Snippets"/>
<view id="org.eclipse.ui.views.PropertySheet" partName="Properties"/>
<view id="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" partName="Data Source Explorer"/>
<view id="org.eclipse.mylyn.tasks.ui.views.tasks" partName="Task List"/>
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
<viewState/>
</view>
<view id="org.eclipse.wst.server.ui.ServersView" partName="Servers"/>
</views>
<perspectives activePart="org.eclipse.ui.navigator.ProjectExplorer" activePerspective="org.eclipse.jst.j2ee.J2EEPerspective">
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
<descriptor class="org.eclipse.jst.j2ee.internal.perspective.J2EEPerspective" id="org.eclipse.jst.j2ee.J2EEPerspective" label="Java EE"/>
<alwaysOnActionSet id="org.eclipse.mylyn.context.ui.actionSet"/>
<alwaysOnActionSet id="org.eclipse.mylyn.doc.actionSet"/>
<alwaysOnActionSet id="org.eclipse.mylyn.tasks.ui.navigation"/>
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
<alwaysOnActionSet id="org.eclipse.rse.core.search.searchActionSet"/>
<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.annotationNavigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.navigation"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
<alwaysOnActionSet id="org.eclipse.ui.externaltools.ExternalToolsSet"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
<alwaysOnActionSet id="org.eclipse.jst.j2ee.J2eeMainActionSet"/>
<alwaysOnActionSet id="org.eclipse.jdt.ui.JavaActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.debugActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
<alwaysOnActionSet id="org.eclipse.wst.server.ui.internal.webbrowser.actionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
<alwaysOnActionSet id="org.eclipse.wst.ws.explorer.explorer"/>
<show_view_action id="org.eclipse.ui.navigator.ProjectExplorer"/>
<show_view_action id="org.eclipse.wst.server.ui.ServersView"/>
<show_view_action id="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator"/>
<show_view_action id="org.eclipse.ui.views.BookmarkView"/>
<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
<show_view_action id="org.eclipse.ui.views.PropertySheet"/>
<show_view_action id="org.eclipse.ui.views.ResourceNavigator"/>
<show_view_action id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
<show_view_action id="org.eclipse.ui.views.AllMarkersView"/>
<show_view_action id="org.eclipse.mylyn.tasks.ui.views.tasks"/>
<show_view_action id="org.eclipse.search.ui.views.SearchView"/>
<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
<new_wizard_action id="org.eclipse.jpt.jpa.ui.wizard.newJpaProject"/>
<new_wizard_action id="org.eclipse.jst.j2ee.ui.project.facet.EarProjectWizard"/>
<new_wizard_action id="org.eclipse.jst.servlet.ui.project.facet.WebProjectWizard"/>
<new_wizard_action id="org.eclipse.jst.ejb.ui.project.facet.EjbProjectWizard"/>
<new_wizard_action id="org.eclipse.jst.j2ee.jca.ui.internal.wizard.ConnectorProjectWizard"/>
<new_wizard_action id="org.eclipse.jst.j2ee.ui.project.facet.appclient.AppClientProjectWizard"/>
<new_wizard_action id="org.eclipse.wst.web.ui.internal.wizards.SimpleWebProjectWizard"/>
<new_wizard_action id="org.eclipse.jpt.ui.wizard.newJpaProject"/>
<new_wizard_action id="org.eclipse.jst.servlet.ui.internal.wizard.AddServletWizard"/>
<new_wizard_action id="org.eclipse.jst.ejb.ui.internal.wizard.AddSessionBeanWizard"/>
<new_wizard_action id="org.eclipse.jst.ejb.ui.internal.wizard.AddMessageDrivenBeanWizard"/>
<new_wizard_action id="org.eclipse.jpt.ui.wizard.newEntity"/>
<new_wizard_action id="org.eclipse.jst.ws.creation.ui.wizard.serverwizard"/>
<new_wizard_action id="org.eclipse.ui.wizards.new.folder"/>
<new_wizard_action id="org.eclipse.ui.wizards.new.file"/>
<perspective_action id="org.eclipse.jpt.ui.jpaPerspective"/>
<perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>
<perspective_action id="org.eclipse.jdt.ui.JavaPerspective"/>
<perspective_action id="org.eclipse.ui.resourcePerspective"/>
<perspective_action id="org.eclipse.wst.web.ui.webDevPerspective"/>
<hide_toolbar_item_id id="org.eclipse.jdt.ui.actions.OpenProjectWizard"/>
<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
<view id="org.eclipse.ui.navigator.ProjectExplorer"/>
<view id="org.eclipse.ui.views.AllMarkersView"/>
<view id="org.eclipse.ui.views.PropertySheet"/>
<view id="org.eclipse.wst.server.ui.ServersView"/>
<view id="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator"/>
<view id="org.eclipse.wst.common.snippets.internal.ui.SnippetsView"/>
<view id="org.eclipse.ui.views.ContentOutline"/>
<view id="org.eclipse.mylyn.tasks.ui.views.tasks"/>
<fastViewBars/>
<layout>
<mainWindow>
<info folder="true" part="topLeft">
<folder activePageID="org.eclipse.ui.navigator.ProjectExplorer" appearance="2" expanded="2">
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
<page content="org.eclipse.ui.views.ResourceNavigator" label="LabelNotFound"/>
<page content="org.eclipse.jdt.ui.TypeHierarchy" label="LabelNotFound"/>
<page content="org.eclipse.jdt.ui.PackagesView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
</presentation>
</folder>
</info>
<info folder="true" part="org.eclipse.ui.internal.ViewStack@1675800" ratio="0.75" ratioLeft="750" ratioRight="250" relationship="2" relative="topLeft">
<folder appearance="2" expanded="2">
<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
</folder>
</info>
<info part="org.eclipse.ui.editorss" ratio="0.25" ratioLeft="250" ratioRight="750" relationship="2" relative="topLeft"/>
<info folder="true" part="bottomRight" ratio="0.69854134" ratioLeft="431" ratioRight="186" relationship="4" relative="org.eclipse.ui.editorss">
<folder activePageID="org.eclipse.ui.views.AllMarkersView" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.AllMarkersView" label="Markers"/>
<page content="org.eclipse.ui.views.PropertySheet" label="Properties"/>
<page content="org.eclipse.wst.server.ui.ServersView" label="Servers"/>
<page content="org.eclipse.datatools.connectivity.DataSourceExplorerNavigator" label="Data Source Explorer"/>
<page content="org.eclipse.wst.common.snippets.internal.ui.SnippetsView" label="Snippets"/>
<page content="org.eclipse.ui.views.ProblemView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.TaskList" label="LabelNotFound"/>
<page content="org.eclipse.ui.console.ConsoleView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.BookmarkView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.ProgressView" label="LabelNotFound"/>
<page content="org.eclipse.search.ui.views.SearchView" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
<part id="2"/>
<part id="3"/>
<part id="4"/>
</presentation>
</folder>
</info>
<info folder="true" part="topRight" ratio="0.7" ratioLeft="525" ratioRight="225" relationship="2" relative="org.eclipse.ui.editorss">
<folder activePageID="org.eclipse.ui.views.ContentOutline" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
<page content="org.eclipse.mylyn.tasks.ui.views.tasks" label="Task List"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
</presentation>
</folder>
</info>
</mainWindow>
</layout>
</perspective>
</perspectives>
<workingSets/>
<navigationHistory/>
<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
</page>
<workbenchWindowAdvisor/>
<actionBarAdvisor/>
<trimLayout>
<trimArea IMemento.internal.id="128">
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
<trimItem IMemento.internal.id="org.eclipse.mylyn.tasks.ui.trim.container"/>
</trimArea>
<trimArea IMemento.internal.id="1024">
<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
</trimArea>
</trimLayout>
</window>
<mruList/>
</workbench>

1
.metadata/version.ini Normal file
View File

@ -0,0 +1 @@
org.eclipse.core.runtime=1

70
.project Normal file
View File

@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>tinycobol</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
<dictionary>
<key>?name?</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.append_environment</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildArguments</key>
<value></value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildCommand</key>
<value>make</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.buildLocation</key>
<value>${workspace_loc:/tiny/Default}</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.contents</key>
<value>org.eclipse.cdt.make.core.activeConfigSettings</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
<value>false</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.stopOnError</key>
<value>true</value>
</dictionary>
<dictionary>
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
<value>true</value>
</dictionary>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,67 @@
#Thu Nov 17 11:51:18 BRST 2011
eclipse.preferences.version=1
org.eclipse.cdt.codan.checkers.errnoreturn=Warning
org.eclipse.cdt.codan.checkers.errnoreturn.params={implicit\=>false}
org.eclipse.cdt.codan.checkers.errreturnvalue=Error
org.eclipse.cdt.codan.checkers.errreturnvalue.params={}
org.eclipse.cdt.codan.checkers.noreturn=Error
org.eclipse.cdt.codan.checkers.noreturn.params={implicit\=>false}
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={}
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={}
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Info
org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={no_break_comment\=>"no break",last_case_param\=>true,empty_case_param\=>false}
org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={unknown\=>false,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={}
org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={}
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={}
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={macro\=>true,exceptions\=>()}
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={paramNot\=>false}
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={else\=>false,afterelse\=>false}
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={macro\=>true}
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={macro\=>true,exceptions\=>("@(\#)","$Id")}
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>false,RUN_ON_INC_BUILD\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
useParentScope=false

280
ANNOUNCE Normal file
View File

@ -0,0 +1,280 @@
TC-main:
TinyCOBOL is an effort to create a free COBOL 85 compiler.
It generates GNU assembler for the IA32 (i386) Linux, BeOS, FreeBSD,
Win32 platforms. A executable binary can then be created using the GNU
assembler and linker.
The project is approaching the first beta release with many statements
already implemented.
0.62:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler and run-time.
The pre-processor has been integrated back into the main compiler.
Improvemnents to error detection, reporting and parser recovery.
Support for dynamic loading of DLL's for the Win32 platform.
0.61:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler and run-time.
0.60:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler and run-time.
Improvemnents have been made in the following areas: locking for
relative files, better support of print files (write after and
before advancing) and better compatibility with 85 Standard for
some indexed file I/O operations.
0.59:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler and run-time.
Support for internationalization (en, pr_BR, it, fr) has been added.
Improvemnents have been made in the following areas: multi-line
comment entries in the identification division, run-time error
reporting, and plenty of new intrinsics.
Finally, there is now only one library, shared by default.
0.58:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler, run-time, the regression
and NIST test suites.
Support for inline comments, DEBUGGING lines, declaratives (preliminary),
intrinsic functions (preliminary), INSPECT CONVERTING, concatenation
(preliminary), have been added to the compiler.
The compiler front end and resource options have been enhanced
to define the default compiler action (create executable or library).
The compiler can also create an static/shared libraries, from COBOL sources,
directly from the command line.
And finally, embedded SQL can be used with TC, by using a vendor supplied
SQL pre-processor and libraries.
0.57:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler, run-time, the regression
and NIST test suites.
Support for the ADD/SUBTRACT CORRESPONDING, RENAMES, statements
have been added to the compiler.
The compiler front end and resource options have been enhanced to
enable TC to create an executable directly using the command line.
The compiler will now auto detect the TC auxiliary libraries required,
and include them in the link step.
0.56:
This release contains mainly bugs fixes, and some enhancements.
It includes updates to the main compiler, run-time, the regression
test suite.
Support for the CHAIN, GOBACK statements, BLANK WHEN ZERO,
INITIAL (preliminary), SPECIAL-NAMES (preliminary) clauses,
COMPUTATIONAL-X type, have been added to the compiler.
The compiler front end has been enhanced to enable TC to create
an executable directly using the command line.
The command line options have been changed to more closely reflect
the GCC options.
Preliminary support for the Win32 (native, no emulation layer required)
platform using the MinGW (Mingw32) tool chain.
A set of utilities have been added to enable TC testing
for COBOL standard compatibility using the NIST test suite.
General notes:
Bison is the default parser, Berkeley's YACC (byacc) version 1.9.3
is now an option.
The configure script will now handle multiple versions library DB and
C compilers depending on the options selected.
Important note:
Effective with version 0.56, the command line options have been changed
to more closely reflect the GCC options.
The default action when no appropriate command line option is given,
defaults to 'x', create an executable (preprocess, compile, assemble and link).
Previous version defaulted to 'S', generate assembler code (preprocess, compile).
0.55:
This release contains mainly bugs fixes, and enhancements.
It includes updates to the main compiler, run-time,
the regression test suite.
The grammar was modified to enable compilation with Bison.
The MOVE run-time routines have been updated and improved.
ScreenIO has been updated to handle screen status and function keys.
Support for [SIGN IS] {LEADING/TRAILING} [SEPARATE] clauses,
have been added to the compiler run-time.
Preliminary work as started on the NIST test programs.
Important note:
Effective with version 0.55, to compile the TinyCOBOL compiler
will require Berkeley's YACC (byacc) version 1.9.3 or Bison.
Version 1.9.3 of YACC (byacc), only available on the snapshots web
page, has been modified to handle huge grammars such as COBOL.
Using previous versions of Berkeley's YACC on the TinyCOBOL grammar,
will result in an abort on a table overflow error.
0.54:
This release contains mainly bugs fixes, and enhancements.
It includes updates to the preprocessor, main compiler, RTS,
the regression test suite, EVALUATE, GOTO, READ, WRITE, RETURN,
DELETE, START, REWRITE statements.
Support for multiple WHEN clauses in SEARCH statement,
[SIGN IS] {LEADING/TRAILING} [SEPARATE] clauses,
FLOAT-LONG (COMP-2) FLOAT-SHORT (COMP-1) floating point types,
INSPECT...CONVERTING clause, have been added to the compiler.
0.53:
This release contains mainly bugs fixes, and enhancements.
It includes updates to the preprocessor, math verbs,
the regression test suite, gdb debug stabs,
STRING/UNSTRING statements, ACCEPT from COMMAND-LINE and
ENVIRONMENT-VARIABLE statements.
Support for the dynamic CALL statement,
ACCEPT DAY, DAY-OF-WEEK, ON EXCEPTION and ERASE clauses,
ADD and SUBTRACT (CORRESPONDING option) statements,
EXTERNAL clause in the SELECT statement, BINARY-CHAR,
BINARY-SHORT, BINARY-LONG, BINARY-DOUBLE and
COMP-1/COMP-2 (preliminary) floating point types,
support for the Debian package format
have been added to the compiler.
0.52:
This release contains bugs fixes, and enhancements,
including updates to the preprocessor, math verbs,
MOVE (CORRESPONDING option) statement, COMPUTE (exponent operator) statement,
enhancements to the regression test suite.
Support for the BLANK WHEN ZERO clause, SYNC clause, qualification,
OCCURS...DEPENDING ON... clause (variable-sized tables),
RECORD VARYING ... DEPENDING ON ... (variable-sized records) clause,
multiple record defines for FD entries, sequence of source programs,
have been added to the compiler.
0.51:
This release contains bugs fixes, and enhancements,
including updates to the math verbs, the STRING statement,
file IO READ/WRITE statements, DISPLAY/ACCEPT statements,
SET statement, abbreviated conditional expressions.
Reference modification, pointer types, EXTERNAL semantics (preliminary)
have been added to the compiler.
The new pre-processor will now execute by default.
The Win32 (preliminary) platform, using the Cygwin emulation layer,
is now supported.
0.50:
This release contains bugs fixes, and code enhancements,
including updates to the math verbs, the EVALUATE statement,
file OPEN/CLOSE statements, file LINE SEQUENTIAL IO.
The CALL BY CONTENT, JUSTIFIED RIGHT, and REPORT SECTION (preliminary)
statements has been added to the COBOL grammar.
The DISPLAY/ACCEPT LINE/POSITION statements have been added, as an
extension to the standard COBOL grammar.
Sample programs with CGI, SQL, and GUI interfaces have been added
to the source distribution.
0.4:
This release contains bugs fixes, and code enhancements,
including updates to the GO TO statement, the screen I/O
statements, SORT statements. A preprocessor has been added
to handle fixed and free syntax, and all COPY statements.
Support for external file name assignment in SELECT and
FD statements has been added as an extension to the standard
COBOL 85 grammar.
0.3:
This release contains bugs fixes, and major modifications.
It includes an update to the IF/ELSE statements to include
abbreviated conditional expressions. The addition of static variables,
the EVALUATE statements, variable length (1, 2, 4, 8) binary fields,
the screen I/O statements. The CALL BY ... RETURNING variable has been
added, as an extension to the standard COBOL 85 grammar.
0.2:
This release contains bugs fixes, and code enhancements,
including updates to the IF/ELSE relational, class, name,
sign conditionals statements. The CALL BY VALUE has been
added, as an extension to the standard COBOL grammar.
0.1.5.5:
This minor release contains some bugs fixes, and some
code enhancements, including updates to the PERFORM
statements. With this release all PERFORM statements
are functional and conform to the COBOL 85 standard.
0.1.5.3:
In this release, along with some bug fixes, the
INITIALIZE, CURRENCY, PERFORM WITH TEST BEFORE/AFTER
option statements have been added to the COBOL
grammar.
0.1.5.0:
This release contains some additions to the COBOL 85
grammar and some bug fixes.
0.1.0.1:
bug fix release.
20000507:
An implemented SEARCH statement for tables, and more
bug fixes.
20000302:
Better configuration/installing, a new ability to read
environment variables using the ACCEPT verb, use of
library DB version 2.xx+, implementation of START ...
GREATER THAN or Relative files, an enhanced DISPLAY
verb to enable to direct output to stdout/stderr, and
many bug fixes.
991210:
Ability to use GDB for debugging, with COBOL source
lines listing, breakpoints, and variable
display/modifying, 32-bit binary storage and
operations on variables with "USAGE IS COMP", and
table access support using the SET statement.
991103:
The following features are implemented: ACCEPT from
time/date, DISPLAY, and file input/output (READ,
WRITE, REWRITE, START) for indexed, relative, line and
line sequential files. The functions for STRING,
UNSTRING, INSPECT, SET and ALTERNATE KEYS are
currently in development.
991028:
Initial release.

46
AUTHORS Normal file
View File

@ -0,0 +1,46 @@
List is in alphabetic order.
Author:
-------------------------------------------------------------------------------
Rildo Pragana <rpragana@acm.org>.
Maintained-by:
-------------------------------------------------------------------------------
Andrew Cameron
Bernard Giroud
Ferran Pegueroles
Jeff Smith
Rildo Pragana
Contributors: Contribution:
-------------------------------------------------------------------------------
Alain Lucari - Fixes for write with advancing.
Alan Cox - Initial code to generate GNU assembler.
Bernard Giroud - Declaratives, Intrinsic functions, CALL statements.
David Douthitt - Produced libc6 RPM packages for releases.
David Essex - Preprocessor, internationalization, core compiler.
David Billsbrough - Sample spec file for RPM version 4 format.
Ferran Pegueroles - Created Debian package release and man files,
Screen status and function keys for screenIO,
Intrinsic functions.
Fred Mobach - Resident COBOL standard expert.
Gerard Hollard - Qualification problem fix.
Glen Colbert - Initial code for both command line front end and
regression test suite
Hudson Reis - Portuguese version of man files.
Jim Morcombe - External file MF compatibility option.
Jim Noeth - Move routines in RTS (Run Time System).
Jonathan Riddell - Docs: Introduction to COBOL and TinyCOBOL.
Jose de Souza - Several bug fixes in compiler and RTL.
Keiichi Takahashi - Created libc6 RPM packages.
Keisuke Nishida - Bison patch and misc. fixes.
Laura Tweedy - Initial lex code for preprocessor and cobf2f utility.
Leonardo Epifani - Several RTS patches.
Luciano D. C. Manzo - Initial spec file to create RPMs.
Mariusz Stakowski - INSPECT TALLYING.
Matt Verran - BeOS configuration.
Paolo Bizzarri - Several RTS patches.
Sean Bufford - Patch to fix indexed file index file I/O offset
calculation
Stephen Connolly

91
BUGS Normal file
View File

@ -0,0 +1,91 @@
BUGS:
Note: This list is NOT up of date.
----------------------------------------------------------------------------
From - Thu Mar 15 05:02:26 2001
From: Mark Purtill <purtill@alum.mit.edu>
Subject: [Tiny-cobol-users] Bug: Qualified array core dump
Date: Wed, 14 Mar 2001 11:17:57 -0800 (PST)
I'm running tinycobol-0.50 (from the RPM) on a RedHat 5.1
system.
The following program, when compiled, causes htcobol to
crash.
WORKING-STORAGE SECTION.
01 BUG1.
05 BUG2.
10 COMMON PIC 999 VALUE 6.
05 BUG3 OCCURS 28 TIMES.
10 COMMON PIC 999.
05 BUG4 PIC 999.
05 BUG5 PIC 999.
PROCEDURE DIVISION.
* This line works:
MOVE COMMON OF BUG2 TO BUG5.
* This line dumps core, after giving this message:
* *!ERROR!* 256 : line 24, symbol ): "" is not child of "" ***
MOVE COMMON OF BUG3(BUG5) TO BUG5.
----------------------------------------------------------------------------
error:
In htcobgen.c yyparse(), seams to be writing a lot(230) of blanks lines
for no apparent reason.
Beginning compile process ...
.... <-
Lines compiled: 231
cause: unknown.
location: unknown.
printf("Beginning compile process ...\n");
-> yyparse();
printf("Lines compiled: %4d\n",lineno);
----------------------------------------------------------------------------
error:
01 TABEL-C.
05 TAB-C1 OCCURS 10 TIMES INDEXED BY C1.
10 TAB-C2 OCCURS 20 TIMES INDEXED BY C2.
15 TAB-C3 OCCURS 300 TIMES INDEXED BY C3.
25 TAB-C4 PIC 9(05).
25 TAB-C5 PIC 9(05).
* SET C1 TO 1.
MOVE 1 TO C1.
cause:
Implicit variables defined by INDEXED BY clause must be set by the
'SET var [ TO | UP BY | DOWN BY ] integer' clause. It should not be
set using MOVE, ADD, SUB verbs, thus should be flagged as an error.
location: unknown.
----------------------------------------------------------------------------
error:
01 W01-COMPUTE PIC 9(8).
05 W05-HOUR PIC 9(2).
05 W05-MIN PIC 9(2).
05 W05-SEC PIC 9(2).
cause:
Caused by using level 01 variable with PIC clause. Should be syntax error.
location: unknown.

253
CHANGES Normal file
View File

@ -0,0 +1,253 @@
November 29, 1999 (Andrew)
Added code to fileio.c to return the correct ANSI 74 Error codes
for files that are accessed but not open etc.
November 25, 1999 (Andrew)
Change fileio.c for write advancing.
Change htcobgen.c for write advancing.
November 25, 1999 (Rildo)
Modified again the copy...replace list of replacements, so that all
replacements are appended only when switching the input file. (scan.l)
November 23, 1999 (Andrew)
Fixed up rewrite for relative files.
Added code for write advancing.
November 24, 1999 (Rildo)
Modified YY_INPUT and added several functions to do the preprocessing online
for the "copy" statement. The source is now yyin to be better flex compatible.
November 23, 1999 (Rildo)
Fixed install and lookup functions for non-ASCII literals (high/low values).
Update "move" at the library to cope with quoted literals \0 and \xXX.
November 22, 1999 (Andrew)
Change htcobgen.c (gen_rewrite) to handle relative rewrites.
Change fileio.c to handle rewrite.
November 21, 1999 (Rildo)
Changes in picture processing (P assumes V).
Introduction of a variable decimal_comma in compile-time and run-time
to swap '.' and ',' interpretation.
November 20, 1999 (Rildo)
Applied changes at the "main" suggested by Glen, regarding file names.
Implemented "ALL literal" at the parser,scanner,codegen and library (mcmove.c),
with just small changes at this last, function "move". Also, high-values,
low-values, quotes.
November 19, 1999 (Andrew)
Added routine for "rewrite" to fileio.c. Cleaned up the code to remove
compile warnings.
November 18, 1999 (Rildo)
Added several functions to manage multi-subscripted variables, including
relative references.
November 15, 1999 (Rildo)
Merged with Andrew's changes.
Changed lookup_var (htcobgen.c) to make sure a field is fully qualified.
November 15, 1999 (Andrew)
Added code to fileio.c to allow read and write to handle line sequential io.
November 15, 1999 (Rildo)
Added "varying" clause to "perform".
Corrected my mistake on the syntax of "perform".
Changed "perform_range" to be better generalized (with/without "thru"). Now
inherited attributes hold what kind of perform to do.
November 14, 1999 (Andrew)
Finished off the first version of the sort routines. These routines handle
duplicate keys. I have also added some of the code to the library for
read next. All changes have been made to fileio.c.
November 13, 1999 (Rildo)
Changed "lookup_label" and added a forced-cloning option to "install".
Update listing generator (htcobgen.c) for the cloned paragraphs,
and also to accommodate the (compound) variable names.
Added "perform var/literal times paragraph_range" to our syntax. Now we can see
why we don't need to backtrack!
Routines added to htcobgen.c: gen_push_int, gen_perform_times, merged with the
previous semantics of perform.
November 12, 1999 (Rildo)
Added more states to the scanner for accounting to redefined variables and
file variables (FD or SD).
Modified (again) "install" (htcobgen.c) to avoid cloning when not desired.
November 12, 1999. (v991111): (David Essex)
Moved termios.h header to basicio.c file, to avoid any potential ECHO
redefinition.
Enhanced INSTALL instructions, and renamed Readme.txt file to README.
Changed output of scanner(scan.l) very slightly to have \n at end.
Changed Makefile so that htversion.h is created using directory name
and current date, instead of Version.txt file.
November 11, 1999 (v991111a): (Rildo)
Added code (htcobgen.c) to take care of clones both for variables and
paragraphs.
Modified parsing to accept "var of parent of ...".
Started implementing of "inspect".
November 11, 1999. (v991111): (David Essex)
Changed working storage fields parsing(htcobol.y), and added implicit
variable index creation code(htcobgen.c), so that 'INDEXED BY index'
clause will work.
Added error counter(on yerror()) which is used by htcobgen.c to set
the return code. This enables make to work properly.
Added the ability to use a full name when calling the compiler. Now
htcobol will try to open filename, then try filename.cob before aborting.
November 06, 1999 (Rildo)
Modified scan/parse to detect already defined variables (token VARIABLE). Now
labels, literals and variables are separate entities.
November 05, 1999 (Andrew)
Modified the sort_release in fileio.c to handle a combination of Ascending
and Descending sort keys.
November 04, 1999 (Rildo)
Modified hash() (htcobgen.c) to calculate the hashing with uppercased chars.
Modified code for the lookup of reserved words, for not buffering and
converting the string being tested (strcasecmp is used instead).
Added states to scan.l to simplify the parsing of all commenting statements
of the identification division. Now everything (except environment division
decl) is ignored.
The variable curr_division is used now in the parser to switch states of the
lexer (parser feedback).
November 04, 1999 (Rildo)
Eliminated VALUES state (scan.l) and some general simplifying.
Corrected a bug with LABELSTR recognizing (if use "-" should be followed by at
least another char).
November 03, 1999 (Rildo)
All functions named XXX_from and XXX_into are similar with their suffix-less
counterparts. Example cob_read_into == cob_read, cob_write_from == cob_write,
and so on. In place of the record pointer, there will be a buffer pointer.
November 02, 1999 (Rildo)
Modified gen_cobwrite (htcobgen.c) so that for both "write" and "write from"
the same "call cob_write" is output, changing only the arguments.
Merged with last release of Andrew.
November 02, 1999 (Andrew)
Written the basic Sort Library (fileio.c)
Provided test program t08 to test the sort library.
Sort with Duplicates still needs to be completed.
October 30, 1999 (Rildo)
Moved file description generation to the end of data division, so we can
use a variable as filename container. Only cob_open runtime was changed to
accommodate such modification. Now there is a list (files_list) that accumulates
all file variables.
Eliminated old debug code and all o_deb references (htcobol.y, htcobgen.c),
including all line_info() calls.
Added stack frame cleaning (auto-magically) functions (htcobgen.c), and also
push_eax and push_ebx to use instead of writing directly to o_src. This should
make more error prone our code generation.
October 30, 1999 (Andrew)
Started sort routines (fileio.c)
Modified htcobgen.c for sort commands. (?I think?)
October 29, 1999 (Rildo)
Eliminated struct var_fd and moved open_mode to struct file_desc.
Now file functions receive a pointer to the record itself.
Sequential files save the file handle into dbp (instead of a db pointer).
All state information (only needed in indexed and relative files) are
saved at the libdb structs now.
October 28, 1999 (Rildo)
Modified string recognizer in scan.l to allow 1-char strings.
Eliminated call_list in htcobgen.c (used to gen externals).
Corrected the syntax for filenames (now is in select statement, see t06).
Added cob_read, cob_write for relative files.
Fixed gen_write (htcobgen.c) for relative files.
October 27, 1999. (v991027): (David Essex)
Added fix for lower case input in lex scanner(scan.l).
Added code for version number (Makefile htcobgen.c htversion.h).
Moved basic I/O routines from general.c to basicio.c file.
Added SP fix in gen_accept function (htcobgen.c).
Added function definitions and removed includes in (htcoblib.h).
Added fix for USAGE IS in lex scanner(scan.l).
Changed input file name and Makefile in directory test.code/tdb01. For some
reason, my version of GCC(2.7.2) refused to compile it with the file name main.c.
October 26, 1999: (Rildo Pragana)
Changed all file functions to "cob_", to avoid name clashes.
Removed RUNNING-TERMINALS clause from both parser and scanner.
Corrected wrong label at gen_not (htcobgen.c).
Eliminated "short" expressions in "jmp short L%d" (htcobgen.c).
October 24, 1999 (Rildo):
Removed all debugging compilation, as this was for an old prolog-based debugger
and the tracking of ip locations is hard to do now, because of .align
instructions. Instead, we should use gdb with #line directives.
Modified several miscalculated stack cleaning instructions (addl $n,%esp).
Modified function calling: each parameter required is passed as two pointers,
(1) the fld_desc of the parameter and (2) the parameter storage.
Added file handling routines (yet unfinished): mc_open, mc_write, mc_close,
save_status.
Added a picture expand routine (mc_picexpand) in the library.
October 23, 1999:
Added ACCEPT function in RTL(basicio.c).
Added fix to remove comma as decimal delimiter in lex scanner(scan.l).
October 22, 1999:
October 21, 1999:
Changed run header info in (htcobgen.c).
Added cobpp program utility in util directory. It will convert from
fixed to/from free-form COBOL formats.
Added new fix for program flow control at stop-run(htcobgen.c).
Added Rildo Pragana's fix for program flow control(htcobgen.c mccntrl.s).
Added fix for for period/comma in PIC and VALUE in lex scanner(scan.l).
October 19, 1999:
Removed .fill and other junk at end.
Added id section. Removed prg-id as main label and replaced with main.
Added Rildo Pragana's indexed file I/O source in test.code/t04 directory.
October 18, 1999:
Make some small changes in lex scanner(scan.l), while checking COPY code.
October 13, 1999:
Merged David Essex's and Andrew Cameron's versions, using Andrew Cameron
October 12, 1999 release as a base.
Added code(htcobgen.c) for return code. Program return code is stored in
register %eax. Since COBOL-74 does not support the statement RETURN-CODE,
the program return code is permanently set to zero.
Added fix for for comment line (^"*".*$) in lex scanner(scan.l).
October 12, 1999:
Andrew Cameron releases his latest version.
Added math functions to lib. Started on file functions.
October 11, 1999:
Andrew Cameron releases his latest version, based on Alan Cox's June 23, 1999
version.
Added new basic I/O functions in RTL. Removed ncurses as basic I/O.
October 3, 1999:
David Essex begins new version.
Changed COBOL generation to look like GCC assembler generation(htcobgen.c).
Enhanced debugging information for assembler in COBOL generation(htcobgen.c).
Added fix for for PIC with VALUE in lex scanner(scan.l).
Started work on process control.
September 23, 1999:
Alan Cox releases his latest version to David Essex.
June 23, 1999:
Alan Cox, releases his changes. It now generates GNU GAS assembler.
June 11, 1999:
Rildo Pragana, releases his COBOL compiler (for msdos) under the GPL.

339
COPYING Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

482
COPYING.LIB Normal file
View File

@ -0,0 +1,482 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
MA 02111-1307, USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

14
COPYRIGHT Normal file
View File

@ -0,0 +1,14 @@
These files are part of the Tiny COBOL compiler.
Copyright (C) 2001, 2000 Rildo Pragana, Alan Cox, Andrew Cameron,
David Essex, Glen Colbert, Jim Noeth.
Copyright (C) 1999 Rildo Pragana, Alan Cox, Andrew Cameron, David Essex.
Copyright (C) 1991, 1993 Rildo Pragana.
The Tiny COBOL compiler is licensed under the GNU General Public License.
See COPYING for details.
The Tiny COBOL compiler run time library is licensed under the GNU Library
General Public License. See COPYING.LIB for details.

8897
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

24
Debug/cobpp/subdir.mk Normal file
View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../cobpp/cobpp.c
OBJS += \
./cobpp/cobpp.o
C_DEPS += \
./cobpp/cobpp.d
# Each subdirectory must supply rules for building sources it contributes
cobpp/%.o: ../cobpp/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,90 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
O_SRCS += \
../cobroutines/dir.o \
../cobroutines/files.o \
../cobroutines/globals.o \
../cobroutines/screen.o \
../cobroutines/sql_clear_query.o \
../cobroutines/sql_connect_db.o \
../cobroutines/sql_disconnect_db.o \
../cobroutines/sql_exec_query.o \
../cobroutines/sql_free_memory.o \
../cobroutines/sql_get_tuple.o \
../cobroutines/sql_get_value.o \
../cobroutines/sql_max_field.o \
../cobroutines/sql_max_tuple.o \
../cobroutines/sql_status_message.o \
../cobroutines/system.o \
../cobroutines/tctcl.o
C_SRCS += \
../cobroutines/case.c \
../cobroutines/dir.c \
../cobroutines/files.c \
../cobroutines/globals.c \
../cobroutines/screen.c \
../cobroutines/sql_clear_query.c \
../cobroutines/sql_connect_db.c \
../cobroutines/sql_disconnect_db.c \
../cobroutines/sql_exec_query.c \
../cobroutines/sql_free_memory.c \
../cobroutines/sql_get_tuple.c \
../cobroutines/sql_get_value.c \
../cobroutines/sql_max_field.c \
../cobroutines/sql_max_tuple.c \
../cobroutines/sql_status_message.c \
../cobroutines/system.c \
../cobroutines/tctcl.c
OBJS += \
./cobroutines/case.o \
./cobroutines/dir.o \
./cobroutines/files.o \
./cobroutines/globals.o \
./cobroutines/screen.o \
./cobroutines/sql_clear_query.o \
./cobroutines/sql_connect_db.o \
./cobroutines/sql_disconnect_db.o \
./cobroutines/sql_exec_query.o \
./cobroutines/sql_free_memory.o \
./cobroutines/sql_get_tuple.o \
./cobroutines/sql_get_value.o \
./cobroutines/sql_max_field.o \
./cobroutines/sql_max_tuple.o \
./cobroutines/sql_status_message.o \
./cobroutines/system.o \
./cobroutines/tctcl.o
C_DEPS += \
./cobroutines/case.d \
./cobroutines/dir.d \
./cobroutines/files.d \
./cobroutines/globals.d \
./cobroutines/screen.d \
./cobroutines/sql_clear_query.d \
./cobroutines/sql_connect_db.d \
./cobroutines/sql_disconnect_db.d \
./cobroutines/sql_exec_query.d \
./cobroutines/sql_free_memory.d \
./cobroutines/sql_get_tuple.d \
./cobroutines/sql_get_value.d \
./cobroutines/sql_max_field.d \
./cobroutines/sql_max_tuple.d \
./cobroutines/sql_status_message.d \
./cobroutines/system.d \
./cobroutines/tctcl.d
# Each subdirectory must supply rules for building sources it contributes
cobroutines/%.o: ../cobroutines/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

27
Debug/cobrun/subdir.mk Normal file
View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
O_SRCS += \
../cobrun/htcobrun.o
C_SRCS += \
../cobrun/htcobrun.c
OBJS += \
./cobrun/htcobrun.o
C_DEPS += \
./cobrun/htcobrun.d
# Each subdirectory must supply rules for building sources it contributes
cobrun/%.o: ../cobrun/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

59
Debug/compiler/subdir.mk Normal file
View File

@ -0,0 +1,59 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
O_SRCS += \
../compiler/htcobemt.o \
../compiler/htcobgen.o \
../compiler/htcobol.o \
../compiler/htcobol.tab.o \
../compiler/htglobals.o \
../compiler/pp_parser.tab.o \
../compiler/pp_scanner.o \
../compiler/reswords.o \
../compiler/scan.o
C_SRCS += \
../compiler/htcobemt.c \
../compiler/htcobgen.c \
../compiler/htcobol.c \
../compiler/htcobol.tab.c \
../compiler/htglobals.c \
../compiler/pp_parser.tab.c \
../compiler/pp_scanner.c \
../compiler/reswords.c \
../compiler/scan.c
OBJS += \
./compiler/htcobemt.o \
./compiler/htcobgen.o \
./compiler/htcobol.o \
./compiler/htcobol.tab.o \
./compiler/htglobals.o \
./compiler/pp_parser.tab.o \
./compiler/pp_scanner.o \
./compiler/reswords.o \
./compiler/scan.o
C_DEPS += \
./compiler/htcobemt.d \
./compiler/htcobgen.d \
./compiler/htcobol.d \
./compiler/htcobol.tab.d \
./compiler/htglobals.d \
./compiler/pp_parser.tab.d \
./compiler/pp_scanner.d \
./compiler/reswords.d \
./compiler/scan.d
# Each subdirectory must supply rules for building sources it contributes
compiler/%.o: ../compiler/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

110
Debug/lib/subdir.mk Normal file
View File

@ -0,0 +1,110 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
O_SRCS += \
../lib/basicio.o \
../lib/cobmove.o \
../lib/cobmove_9_.o \
../lib/cobmove_b_.o \
../lib/cobmove_c_.o \
../lib/cobmove_e_.o \
../lib/cobmove_f_.o \
../lib/cobmove_x_.o \
../lib/config.o \
../lib/dyncall.o \
../lib/fileio.o \
../lib/flckclient.o \
../lib/general.o \
../lib/htcobolrt.o \
../lib/intrinsic.o \
../lib/mcmath.o \
../lib/pictures.o \
../lib/rterrors.o \
../lib/scr_curses.o \
../lib/screenio.o \
../lib/strings.o
C_SRCS += \
../lib/basicio.c \
../lib/cobmove.c \
../lib/cobmove_9_.c \
../lib/cobmove_b_.c \
../lib/cobmove_c_.c \
../lib/cobmove_e_.c \
../lib/cobmove_f_.c \
../lib/cobmove_x_.c \
../lib/config.c \
../lib/dyncall.c \
../lib/fileio.c \
../lib/filesql.c \
../lib/flckclient.c \
../lib/general.c \
../lib/intrinsic.c \
../lib/mcmath.c \
../lib/pictures.c \
../lib/rterrors.c \
../lib/scr_curses.c \
../lib/screen.c \
../lib/screenio.c \
../lib/strings.c
OBJS += \
./lib/basicio.o \
./lib/cobmove.o \
./lib/cobmove_9_.o \
./lib/cobmove_b_.o \
./lib/cobmove_c_.o \
./lib/cobmove_e_.o \
./lib/cobmove_f_.o \
./lib/cobmove_x_.o \
./lib/config.o \
./lib/dyncall.o \
./lib/fileio.o \
./lib/filesql.o \
./lib/flckclient.o \
./lib/general.o \
./lib/intrinsic.o \
./lib/mcmath.o \
./lib/pictures.o \
./lib/rterrors.o \
./lib/scr_curses.o \
./lib/screen.o \
./lib/screenio.o \
./lib/strings.o
C_DEPS += \
./lib/basicio.d \
./lib/cobmove.d \
./lib/cobmove_9_.d \
./lib/cobmove_b_.d \
./lib/cobmove_c_.d \
./lib/cobmove_e_.d \
./lib/cobmove_f_.d \
./lib/cobmove_x_.d \
./lib/config.d \
./lib/dyncall.d \
./lib/fileio.d \
./lib/filesql.d \
./lib/flckclient.d \
./lib/general.d \
./lib/intrinsic.d \
./lib/mcmath.d \
./lib/pictures.d \
./lib/rterrors.d \
./lib/scr_curses.d \
./lib/screen.d \
./lib/screenio.d \
./lib/strings.d
# Each subdirectory must supply rules for building sources it contributes
lib/%.o: ../lib/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../lockserver/lockserver.c
OBJS += \
./lockserver/lockserver.o
C_DEPS += \
./lockserver/lockserver.d
# Each subdirectory must supply rules for building sources it contributes
lockserver/%.o: ../lockserver/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

63
Debug/makefile Normal file
View File

@ -0,0 +1,63 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
-include ../makefile.init
RM := rm -rf
# All of the sources participating in the build are defined here
-include sources.mk
-include subdir.mk
-include utils/cobf2f/subdir.mk
-include test_suite/call_tests/subdir.mk
-include test.code/tgui02/subdir.mk
-include test.code/tgui01/subdir.mk
-include test.code/tdb03/subdir.mk
-include test.code/tdb02/subdir.mk
-include test.code/tdb01/subdir.mk
-include test.code/t33/subdir.mk
-include test.code/t25/subdir.mk
-include test.code/t15/subdir.mk
-include test.code/t08/subdir.mk
-include test.code/t07/subdir.mk
-include test.code/ReportGen/subdir.mk
-include test.code/00_FernandoWuthstrack/tcl/subdir.mk
-include lockserver/subdir.mk
-include lib/subdir.mk
-include compiler/subdir.mk
-include cobrun/subdir.mk
-include cobroutines/subdir.mk
-include cobpp/subdir.mk
-include objects.mk
ifneq ($(MAKECMDGOALS),clean)
ifneq ($(strip $(C_DEPS)),)
-include $(C_DEPS)
endif
endif
-include ../makefile.defs
# Add inputs and outputs from these tool invocations to the build variables
# All Target
all: tinycobol.exe
# Tool invocations
tinycobol.exe: $(OBJS) $(USER_OBJS)
@echo 'Building target: $@'
@echo 'Invoking: MinGW C Linker'
gcc -o"tinycobol.exe" $(OBJS) $(USER_OBJS) $(LIBS)
@echo 'Finished building target: $@'
@echo ' '
# Other Targets
clean:
-$(RM) $(OBJS)$(C_DEPS)$(EXECUTABLES) tinycobol.exe
-@echo ' '
.PHONY: all clean dependents
.SECONDARY:
-include ../makefile.targets

7
Debug/objects.mk Normal file
View File

@ -0,0 +1,7 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
USER_OBJS :=
LIBS :=

36
Debug/sources.mk Normal file
View File

@ -0,0 +1,36 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
O_SRCS :=
C_SRCS :=
S_UPPER_SRCS :=
OBJ_SRCS :=
ASM_SRCS :=
OBJS :=
C_DEPS :=
EXECUTABLES :=
# Every subdirectory with source files must be described here
SUBDIRS := \
utils/cobf2f \
test_suite/call_tests \
test.code/tgui02 \
test.code/tgui01 \
test.code/tdb03 \
test.code/tdb02 \
test.code/tdb01 \
test.code/t33 \
test.code/t25 \
test.code/t15 \
test.code/t08 \
test.code/t07 \
test.code/ReportGen \
test.code/00_FernandoWuthstrack/tcl \
lockserver \
lib \
compiler \
cobrun \
cobroutines \
cobpp \

View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/00_FernandoWuthstrack/tcl/tctcl.c \
../test.code/00_FernandoWuthstrack/tcl/teste.c
OBJS += \
./test.code/00_FernandoWuthstrack/tcl/tctcl.o \
./test.code/00_FernandoWuthstrack/tcl/teste.o
C_DEPS += \
./test.code/00_FernandoWuthstrack/tcl/tctcl.d \
./test.code/00_FernandoWuthstrack/tcl/teste.d
# Each subdirectory must supply rules for building sources it contributes
test.code/00_FernandoWuthstrack/tcl/%.o: ../test.code/00_FernandoWuthstrack/tcl/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/ReportGen/tclwrapper.c
OBJS += \
./test.code/ReportGen/tclwrapper.o
C_DEPS += \
./test.code/ReportGen/tclwrapper.d
# Each subdirectory must supply rules for building sources it contributes
test.code/ReportGen/%.o: ../test.code/ReportGen/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/t07/subrot.c
OBJS += \
./test.code/t07/subrot.o
C_DEPS += \
./test.code/t07/subrot.d
# Each subdirectory must supply rules for building sources it contributes
test.code/t07/%.o: ../test.code/t07/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/t08/gen_data.c
OBJS += \
./test.code/t08/gen_data.o
C_DEPS += \
./test.code/t08/gen_data.d
# Each subdirectory must supply rules for building sources it contributes
test.code/t08/%.o: ../test.code/t08/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,33 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/t15/test15b.c \
../test.code/t15/test15d.c \
../test.code/t15/test15f.c \
../test.code/t15/test15l.c
OBJS += \
./test.code/t15/test15b.o \
./test.code/t15/test15d.o \
./test.code/t15/test15f.o \
./test.code/t15/test15l.o
C_DEPS += \
./test.code/t15/test15b.d \
./test.code/t15/test15d.d \
./test.code/t15/test15f.d \
./test.code/t15/test15l.d
# Each subdirectory must supply rules for building sources it contributes
test.code/t15/%.o: ../test.code/t15/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/t25/test25b.c \
../test.code/t25/test25c.c
OBJS += \
./test.code/t25/test25b.o \
./test.code/t25/test25c.o
C_DEPS += \
./test.code/t25/test25b.d \
./test.code/t25/test25c.d
# Each subdirectory must supply rules for building sources it contributes
test.code/t25/%.o: ../test.code/t25/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/t33/subrotc.c
OBJS += \
./test.code/t33/subrotc.o
C_DEPS += \
./test.code/t33/subrotc.d
# Each subdirectory must supply rules for building sources it contributes
test.code/t33/%.o: ../test.code/t33/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/tdb01/tdb01.c
OBJS += \
./test.code/tdb01/tdb01.o
C_DEPS += \
./test.code/tdb01/tdb01.d
# Each subdirectory must supply rules for building sources it contributes
test.code/tdb01/%.o: ../test.code/tdb01/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/tdb02/tdb02a.c
OBJS += \
./test.code/tdb02/tdb02a.o
C_DEPS += \
./test.code/tdb02/tdb02a.d
# Each subdirectory must supply rules for building sources it contributes
test.code/tdb02/%.o: ../test.code/tdb02/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/tdb03/cgi-util.c \
../test.code/tdb03/tdb03a.c
OBJS += \
./test.code/tdb03/cgi-util.o \
./test.code/tdb03/tdb03a.o
C_DEPS += \
./test.code/tdb03/cgi-util.d \
./test.code/tdb03/tdb03a.d
# Each subdirectory must supply rules for building sources it contributes
test.code/tdb03/%.o: ../test.code/tdb03/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/tgui01/testgui02.c \
../test.code/tgui01/testgui05.c
OBJS += \
./test.code/tgui01/testgui02.o \
./test.code/tgui01/testgui05.o
C_DEPS += \
./test.code/tgui01/testgui02.d \
./test.code/tgui01/testgui05.d
# Each subdirectory must supply rules for building sources it contributes
test.code/tgui01/%.o: ../test.code/tgui01/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,27 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test.code/tgui02/wprog01.c \
../test.code/tgui02/wprog02.c
OBJS += \
./test.code/tgui02/wprog01.o \
./test.code/tgui02/wprog02.o
C_DEPS += \
./test.code/tgui02/wprog01.d \
./test.code/tgui02/wprog02.d
# Each subdirectory must supply rules for building sources it contributes
test.code/tgui02/%.o: ../test.code/tgui02/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../test_suite/call_tests/stest9xx.c
OBJS += \
./test_suite/call_tests/stest9xx.o
C_DEPS += \
./test_suite/call_tests/stest9xx.d
# Each subdirectory must supply rules for building sources it contributes
test_suite/call_tests/%.o: ../test_suite/call_tests/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

View File

@ -0,0 +1,24 @@
################################################################################
# Automatically-generated file. Do not edit!
################################################################################
# Add inputs and outputs from these tool invocations to the build variables
C_SRCS += \
../utils/cobf2f/cobf2f.c
OBJS += \
./utils/cobf2f/cobf2f.o
C_DEPS += \
./utils/cobf2f/cobf2f.d
# Each subdirectory must supply rules for building sources it contributes
utils/cobf2f/%.o: ../utils/cobf2f/%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
gcc -I"C:\MinGW\include" -I"C:\Tcl\include" -I"C:\PostgreSQL\include" -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -o"$@" "$<"
@echo 'Finished building: $<'
@echo ' '

22
HISTORY Normal file
View File

@ -0,0 +1,22 @@
Hi fellow hacker!
This is not a full-featured product, but rather historic sources of my own tool: a Cobol compiler I have done from scratch and found it floating around my
"spare parts" box. It may be useful as a skeleton for a new project, or just a
grab bag of ideas for your own work.
This is supposed to work with my "HandTerm" and "MT-100" micro-terminals, some
hardware projects I used to manufacture some years ago¸ but it's not produced
anymore.
I wouldn't even try to compile this sources again, because it's so dependent on
the environment (micro-terminal, msdos, and specific C compiler) and I don't
remember how to make all things go smooth. Please don't ask me how to remake
this.
Included there is a full compiler (almost ANSI 76 compliant, if I remember
well), the runtime library, and a nice source-level debugger written mostly in
prolog. When compiled and linked, the object is a TSR (Terminate and Stay
Resident) program for msdos.
This is released as GPL licensed. Please see the enclose file COPYING.
I hope you enjoy.
Rildo Pragana

200
INSTALL.BeOS Normal file
View File

@ -0,0 +1,200 @@
The TinyCOBOL Project.
TinyCOBOL supports the IA32 (x86) architecture and the following platforms.
- FreeBSD using the GCC compiler.
- Linux using the GCC compiler.
- Win32 using the GCC MinGW (Mingw32) compiler.
- Win32 using the GCC Cygwin compiler and POSIX emulation layer.
- BeOS with a bit of luck!
See 'INSTALL.Win32' file notes for information on the Win32 platforms.
-------------------------------------------------------------------------------
Release Notes: BeOS
Sleepycat's Berkeley DB 4.1.25 compiles perfectly on BeOS with 'configure --enable-compat185 --prefix=/boot/home/config'
do 'make', and 'make install'
Once you have Berkeley DB, continue to build TinyCOBOL
The configure script will attempt to properly configure such systems.
However due to the number of permutations the configure script may
fail to configure for Berkeley's DB library.
If the normal configure fails to properly detect Berkeley's lib DB on
your system, try the following option:
./configure --prefix=/boot/home/config --with-libdb=4
If the '--with-libdb=4' option fails to properly detect Berkeley's DB
on your system, then some temporary links may be used to circumvent
this problem.
ln -s libdb1.so.xx libdb.so
ln -s db1/db.h db.h
Also, copy the ncurses headers to /boot/home/config/include
-------------------------------------------------------------------------------
Requirements:
GCC tool set (GCC, AS, LD):
This compiler generates GAS compatible assembler code for the i386 Linux platform.
The final compilation and linkage can be done by GCC, or by htcobol
using the -x option.
Bison or Berkeley's YACC (byacc) version 1.9.3 is required to compile
the TC parser.
Berkeley's YACC version 1.9.3 (byacc) can be downloaded only from the
TC 'snapshot' web page.
Previous versions will not work, as the table size is inadequate to handle
the large COBOL grammar.
Library DB (version db-1.85.4 or later):
This library is used to access indexed files. It is available on iBiblio(1),
or at Sleepycat(2).
Note that version 1.85 and 2.0 may be named -ldb or -ldb1. Version 2.xx, 3.yy
(xx > 0) may be named -ldb or -ldb2.
Note that later versions of libdb, such as 3.0.55, have a compatibility to
version 1.85 option, when configured with '--enable-compat185' (DB 1.85
compatibility API).
Note that the configure script will try to determine and test for the
library db version using various library names (-ldb -ldb1 -ldb2). However
the test.code and test_suite directory Makefiles will require minor manual
modifications if library db is named as libdb1, libdb2 or libdb3 on your system.
This will be changed at a later date.
The current configure script will try to determine which version of library
db is been used, assuming the library is called libdb.so*, libdb.a.
It does so by checking for the existence of the headers and library, and then
performs the following tests:
- If header db_185.h is found, it does a test compile with libdb, to ensure
that the compatibility to version 1.85 option set.
- If header db_185.h is not found, it searches for header db.h.
- If header db.h is found, it does a test to ensure that the header belongs
to version 1.85 of libdb, and finally it does a test compile, to ensure
it is version 1.85 of libdb.
Note that database file formats are incompatible between version 1.85.4 and 2.xx
and later. Thus indexed files created by a COBOL program using version 1.85.4 of db,
will not be readable by any COBOL program using later versions of db.
1) iBiblio (formerly known as Metalab, Sunsite)
http://www.ibiblio.org/pub/linux/libs/db
db-1.85.4-bin-ELF.tar.gz - shared lib of db 1.85.4
db-1.85.4-src.tar.gz - full source tree for db 1.85.4
2) Sleepycat Software
http://www.sleepycat.com/
versions 2.xx and later (current 4.xx series)
ncurses:
The ncurses library is required. Used in screen I/O.
readline:
The realine library version 2 is optional. Set by WANT_READLINE build option.
-------------------------------------------------------------------------------
To build:
./configure
make
make install (su access required)
Note that the test programs found in test_suite and test.code directories,
can be compiled and run without installing htcobol.
configure options:
--enable and --with options recognized:
--with-compiler=[ARG] use compiler [gcc/kgcc/egcs default=gcc]
--with-yacc=[ARG] use YACC [yacc193 default=bison]
--enable-debug set C compiler debug option on [-g]
--enable-debug-all enable all debug options
--enable-debug-comp enable compiler and scanner debug options
--enable-debug-compiler enable compiler debug option
--enable-debug-scanner enable scanner debug option
--enable-debug-rts enable debug Run-Time option
--enable-debug-rts-move enable debug Run-Time Move routines option
--enable-debug-pp enable debug pre-processor option
--with-libdb=[ARG] use DB library version [2 3]
--with-readline use readline library
--with-dl use dynamic loader for RTS libraries
Note:
The '--enable-debug-comp' configure option will enable the compiler trace
information generated by the compiler, and used to debug the compiler itself.
It will not effect compiler debug option '-D', which adds debugging data to
the generated binary.
Unless you are a developer, or are planning to debug the compiler itself, or
like to look at substantial amounts of trace data, it is recommended that the
above configure option be omitted.
To clean:
Type make clean to clean lib and compiler.
Type make cleanall to clean lib, compiler, utils, test.code.
Type make distclean to clean lib and compiler and config.cache config.status
config.log Makefiles.
Some test programs can be found in test.code directory.
The utils directory contains some utility programs.
cobf2f (Option, not installed by default):
Converts to/from fixed and free-form COBOL formats.
-------------------------------------------------------------------------------
The TinyCOBOL pre-processor.
What it does.
- convert from fixed to free-form COBOL format.
- Process the COPY command.
- Process the REPLACE command (not functional in current version).
The pre-processor is now part of the main compiler.
-------------------------------------------------------------------------------
Environmental variables:
The 'TCOB_OPTIONS_PATH' environment variable sets the directory where the compiler options
file 'htcobolrc' can be found.
The 'TCOBRT_CONFIG_DIR' environment variable sets the directory where the run-time options
file 'htrtconf' can be found.
The 'TCOB_LD_LIBRARY_PATH' and 'LD_LIBRARY_PATH' environment variables sets the Dynamically loaded
shared libraries search path (excluding Win32).
-------------------------------------------------------------------------------
To install:
If necessary edit directories and filenames htconfig.h, Makefile in compiler directory,
and Makefile in lib directory to suit.
Edit the compiler resource file called htcobolrc found in the compiler directory.
The compiler resource file name can be set in htconfig.h.
This file contains installation specific default information.
As su, in the root directory type make install.
-------------------------------------------------------------------------------
Reported problems:
Please email me at matt@verranm.fsnet.co.uk
send me your config.log and a screen print, with a description of your problems

14
INSTALL.Win32 Normal file
View File

@ -0,0 +1,14 @@
TinyCOBOL On Win32
Note that the Win32 release has not been fully tested on all Win32 platforms.
As a result you may not get the full functionality of the UN*X version.
TinyCOBOL MinGW (Mingw32) edition (Win32 native port)
-----------------------------------------------------------------------------
See 'Readme.mingw32.txt' file.
TinyCOBOL Cygwin edition (using the Cygwin UN*X / POSIX emulation layer)
-----------------------------------------------------------------------------
See 'Readme.cygwin.txt' file.

39
INSTALL.bin Normal file
View File

@ -0,0 +1,39 @@
The TinyCOBOL Project.
Binaries install instructions:
-------------------------------------------------------------------------------
LINUX and BSD:
Release Notes for Linux and FreeBSD.
Requirements:
GCC:
Since this compiler generates GAS compatible assembler code, the final
compilation and linkage is done by GCC.
db-1.85.4:
This library is used to access indexed files. It is available on Metalab(1),
both as a libc5 ELF binary and as source.
1) Ibiblio (formely known as Sunsite Metalab)
http://www.ibiblio.org/pub/linux/libs/db
db-1.85.4-bin-ELF.tar.gz - shared lib of db 1.85.4
db-1.85.4-src.tar.gz - full source tree for db 1.85.4
ncurses:
The ncurses library is required. Used in screen I/O.
To install(su access required):
As su, in the root directory type make install.
Note:
Test programs found in test.code directories can be build and run without
installing Tiny COBOL. See Readme.txt files in test.code directories for instructions.
Binaries in utils directories are not installed by main make install. To install
utils use utils directory Makefile.
-------------------------------------------------------------------------------

11
KNOWN-BUGS.txt Normal file
View File

@ -0,0 +1,11 @@
Bug na movimentação de campos com pic Z:
----------------------------------------
VAR1 PIC ZZZ.ZZZ.ZZZ,ZZ
VAR2 PIC ZZZ.ZZZ.ZZZ,ZZ
MOVE 1234,56 TO VAR1
MOVE VAR1 TO VAR2
DISPLAY VAR2
mostra 1234,00 quando deveria ser 1.234,56

45
Makefile Normal file
View File

@ -0,0 +1,45 @@
SHELL=/bin/sh
prefix=/usr/local
exec_prefix=${prefix}
subdirs=compiler lib cobrun cobroutines
subdirs1=compiler lib cobrun cobpp cobroutines
subdirs2=compiler
subdirs3=lib
all:
@for i in ${subdirs}; do \
echo Making all in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
devel:
@for i in ${subdirs2}; do \
echo Making all in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
@for i in ${subdirs3}; do \
echo Making devel in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
install:
@for i in ${subdirs}; do \
echo Installing in $$i ; \
(cd $$i; ${MAKE} install) ; \
done
clean:
@for i in ${subdirs1}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean) ; \
done
distclean cleandist: clean
@rm -f config.cache config.status config.log htconfig.h tcobol.iss Makefile \
compiler/htversion.h compiler/htcobolrc compiler/Makefile \
cobpp/tcppversion.h cobpp/Makefile \
lib/htcobolrt.rc lib/Makefile

109
Makefile-tiny.mk Normal file
View File

@ -0,0 +1,109 @@
#
# There exist several targets which are by default empty and which can be
# used for execution of your targets. These targets are usually executed
# before and after some main targets. They are:
#
# .build-pre: called before 'build' target
# .build-post: called after 'build' target
# .clean-pre: called before 'clean' target
# .clean-post: called after 'clean' target
# .clobber-pre: called before 'clobber' target
# .clobber-post: called after 'clobber' target
# .all-pre: called before 'all' target
# .all-post: called after 'all' target
# .help-pre: called before 'help' target
# .help-post: called after 'help' target
#
# Targets beginning with '.' are not intended to be called on their own.
#
# Main targets can be executed directly, and they are:
#
# build build a specific configuration
# clean remove built files from a configuration
# clobber remove all built files
# all build all configurations
# help print help mesage
#
# Targets .build-impl, .clean-impl, .clobber-impl, .all-impl, and
# .help-impl are implemented in nbproject/makefile-impl.mk.
#
# Available make variables:
#
# CND_BASEDIR base directory for relative paths
# CND_DISTDIR default top distribution directory (build artifacts)
# CND_BUILDDIR default top build directory (object files, ...)
# CONF name of current configuration
# CND_PLATFORM_${CONF} platform name (current configuration)
# CND_ARTIFACT_DIR_${CONF} directory of build artifact (current configuration)
# CND_ARTIFACT_NAME_${CONF} name of build artifact (current configuration)
# CND_ARTIFACT_PATH_${CONF} path to build artifact (current configuration)
# CND_PACKAGE_DIR_${CONF} directory of package (current configuration)
# CND_PACKAGE_NAME_${CONF} name of package (current configuration)
# CND_PACKAGE_PATH_${CONF} path to package (current configuration)
#
# NOCDDL
# Environment
MKDIR=mkdir
CP=cp
CCADMIN=CCadmin
RANLIB=ranlib
# build
build: .build-post
.build-pre:
# Add your pre 'build' code here...
.build-post: .build-impl
# Add your post 'build' code here...
# clean
clean: .clean-post
.clean-pre:
# Add your pre 'clean' code here...
.clean-post: .clean-impl
# Add your post 'clean' code here...
# clobber
clobber: .clobber-post
.clobber-pre:
# Add your pre 'clobber' code here...
.clobber-post: .clobber-impl
# Add your post 'clobber' code here...
# all
all: .all-post
.all-pre:
# Add your pre 'all' code here...
.all-post: .all-impl
# Add your post 'all' code here...
# help
help: .help-post
.help-pre:
# Add your pre 'help' code here...
.help-post: .help-impl
# Add your post 'help' code here...
# include project implementation makefile
include nbproject/Makefile-impl.mk
# include project make variables
include nbproject/Makefile-variables.mk

98
Makefile.in Normal file
View File

@ -0,0 +1,98 @@
SHELL=/bin/sh
@SET_MAKE@
prefix=@prefix@
exec_prefix=@exec_prefix@
#subdirs=compiler lib utils
#subdirs=compiler lib utils cobpp test.code
subdirs=compiler lib cobrun test.code info
subdirs1=utils test.code
subdirs2=compiler lib cobrun utils test_suite test.code cobpp
#subdirs3=compiler lib
subdirs3=compiler lib cobrun cobpp info
subdirs4=compiler lib cobrun info utils
subdirs5=lockserver
subdirs6=compiler test.code info
subdirs7=lib
all:
@for i in ${subdirs}; do \
echo Making all in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
devel:
@for i in ${subdirs}; do \
echo Making devel in $$i ; \
(cd $$i; ${MAKE} devel) ; \
done
slibs:
@for i in ${subdirs6}; do \
echo Making in $$i ; \
(cd $$i; ${MAKE}) ; \
done
@for i in ${subdirs7}; do \
echo Making in $$i ; \
(cd $$i; ${MAKE} shared-libs) ; \
done
install:
@for i in ${subdirs}; do \
echo Installing in $$i ; \
(cd $$i; ${MAKE} install) ; \
done
install-slibs:
@for i in ${subdirs6}; do \
echo Installing in $$i ; \
(cd $$i; ${MAKE} install) ; \
done
@for i in ${subdirs7}; do \
echo Installing in $$i ; \
(cd $$i; ${MAKE} install-shared) ; \
done
lockserver:
@for i in ${subdirs5}; do \
echo Making lock server in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
depend:
@for i in ${subdirs}; do \
echo Depending in $$i ; \
(cd $$i; ${MAKE} depend) ; \
done
clean:
@for i in ${subdirs4}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean) ; \
done
distclean cleandist:
@for i in ${subdirs3}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean; rm -f Makefile) ; \
done
@for i in ${subdirs1}; do \
echo Cleaning dist in $$i ; \
(cd $$i; ${MAKE} distclean; rm -f Makefile) ; \
done
@for i in ${subdirs5}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean; rm -f Makefile) ; \
done
@rm -f config.cache config.status config.log htconfig.h Makefile \
compiler/htversion.h compiler/htcobolrc \
cobpp/tcppversion.h lib/htcobolrt.rc
cleanall:
@for i in ${subdirs2}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean) ; \
done
rm -f config.cache config.status config.log
# find . -name Makefile -exec rm {} \; -print

45
Makefile.mingw Normal file
View File

@ -0,0 +1,45 @@
SHELL=/bin/sh
prefix=/usr/local
exec_prefix=${prefix}
subdirs=compiler lib cobrun cobroutines
subdirs1=compiler lib cobrun cobpp cobroutines
subdirs2=compiler
subdirs3=lib
all:
@for i in ${subdirs}; do \
echo Making all in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
devel:
@for i in ${subdirs2}; do \
echo Making all in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
@for i in ${subdirs3}; do \
echo Making devel in $$i ; \
(cd $$i; ${MAKE} all) ; \
done
install:
@for i in ${subdirs}; do \
echo Installing in $$i ; \
(cd $$i; ${MAKE} install) ; \
done
clean:
@for i in ${subdirs1}; do \
echo Cleaning in $$i ; \
(cd $$i; ${MAKE} clean) ; \
done
distclean cleandist: clean
@rm -f config.cache config.status config.log htconfig.h tcobol.iss Makefile \
compiler/htversion.h compiler/htcobolrc compiler/Makefile \
cobpp/tcppversion.h cobpp/Makefile \
lib/htcobolrt.rc lib/Makefile

109
README Normal file
View File

@ -0,0 +1,109 @@
The TinyCOBOL Project:
The TinyCOBOL project is a COBOL compiler being actively developed by
members of the free software community.
The long term goal is to produce a COBOL compiler which is 'COBOL 85 standard'
compliant, or at least as close as reasonably possible.
TinyCOBOL supports the IA32 (x86) architecture and the following platforms.
- FreeBSD using the GCC compiler.
- Linux using the GCC compiler.
- Win32 using the GCC MinGW (Mingw32) compiler.
- Win32 using the GCC Cygwin compiler and POSIX emulation layer.
-------------------------------------------------------------------------------
BUILD AND INSTALL INSTRUCTIONS:
See INSTALL for Linux and BSD build, install instructions.
See INSTALL.bin for Linux binary install instructions.
See INSTALL.Win32 for Win32 systems build, install instructions.
For Record Locking on Indexed IO, follow these steps
- Use the option --enable-lockserv in configure script.
- Use the option --enable-sync if you want to ensure muliple users all see the same data. It will run much slower as every write will be forced to disk.
- Compile the Lockserver in the lockserver directory using the supplied
Makefile.
ex:
$ cd lockserver
$ make
$ make install
- Run the Lockserver process. (You can use ./lockserver -d for debugging)
- Build the Compiler as Normal.
Notes about lockserver:
1). To start the lockserver.
cd <to the Lockserver home>
Then run the following command as root
$ ./lockserver
2). To debug the lockserver process use the "-d" switch
$ ./lockserver -d
This way, lockserver will not start as a daemon and will display
all output on the screen.
3). To stop the lockserver in debug mode press Control-C.
To stop the Lockserver in Daemon mode first get the pid.
Use the -SIGINT signal to shut it down gracefully.
$ kill -2 <pid of Lockserver>
remove the .lf file in the Lockserver Home is it exists.
Notes about the Behavior of Locking in TC:
On All Indexed IO ALWAYS check the FILE STATUS
to make sure your IO was successfull. If a Record was locked it will
return FILE STATUS 51. You will need to repeat your IO until the FILE Status
is NOT 51 (Failure to have Recovery/Repeat Code will render the Results of
your IO to be Undefined and Unexpected results). If one of your programs
crashes all the locks it had will still be defined. In order to clear this
Stop the Lockserver and remove the lockdump and .lf files if they exist
in /usr/local/lockserver. Then restart the Lockserver. We plan to add code
to Ignore a lock on records of programs that have crashed.
WARNING Once you turn on Locking your programs will not run unless the
Lockserver process is running.
To lock a Record use:-
READ ... WITH LOCK
To Read a Record Ignoring Locking use:-
READ ... WITH IGNORE LOCK
To Unlock a Record use:-
REWRITE ....
UNLOCK
or
DELETE the record.
-------------------------------------------------------------------------------
LINKS:
Home pages:
http://tiny-cobol.sourceforge.net/
http://www.tinycobol.org/
http://br.tinycobol.org/
Download:
http://tiny-cobol.sourceforge.net/download.html
http://www.ibiblio.org/pub/Linux/devel/lang/cobol/
http://br.tinycobol.org/download.html
Mailing lists:
http://lists.sourceforge.net/mailman/listinfo/tiny-cobol-users
http://listas.cipsga.org.br/cgi-bin/mailman/listinfo/cobol-br
Mailing list archives:
http://www.geocrawler.com/redir-sf.php3?list=tiny-cobol-users
http://listas.cipsga.org.br/pipermail/cobol-br/
Old mailing list archives:
http://www.egroups.com/group/gnucobol/
-------------------------------------------------------------------------------
HOW TO DOWNLOAD A SOURCE SNAPSHOT FROM CVS:
If you have CVS installed on your system, TinyCOBOL's CVS version can be
checked out via the anonymous CVS (pserver) server, using the following commands.
- cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol login
- When prompted for a password for anonymous, simply press the Enter key.
- cvs -d:pserver:anonymous@cvs.tiny-cobol.sourceforge.net:/cvsroot/tiny-cobol co development
- The module you wish to check out must be specified as the module-name (development).

11
Raw.dat Normal file
View File

@ -0,0 +1,11 @@
001aaaaaaaaab
002aaaaaaaaab
003aaaaaaaaab
004aaaaaaaaab
005aaaaaaaaab
006aaaaaaaaab
007aaaaaaaaab
008aaaaaaaaab
009aaaaaaaaab
010aaaaaaaaab

98
Readme.cygwin.txt Normal file
View File

@ -0,0 +1,98 @@
TinyCOBOL Cygwin (POSIX/UN*X emulation layer) edition for Win32
How to install and setup TinyCOBOL Cygwin edition using the binary distribution
-----------------------------------------------------------------------------
To run TinyCOBOL Cygwin edition the following must be installed on your system:
- The Cygwin POSIX emulation layer from Cygnus.
- GCC Cygwin version.
- The Curses library (ncurses) Cygwin version.
Required by the SCREEN SECTION and some types of DISPLAY statements.
- Berkeley's DB library (version db-1.85.4 or later) Cygwin version.
Required for all file I/O.
How to install the TinyCOBOL Cygwin binary:
- Install the binary files using one of the methods below.
Use the 'setup.exe' program, included with the Cygwin distribution,
and select the TinyCOBOL binary to install.
OR
Open a Cygwin command line and install the TinyCOBOL binaries using
the tar utility.
Example:
cd /
tar -xvzf tinycobol-x.xx-x.cygwin.tar.gz
- Edit the compiler resource file 'htcobolrc'.
Example (set your paths):
LD_PATH: -L/usr/lib -L/usr/local/lib
- Set the TinyCOBOL environment variables.
Example (DOS or CMD window):
set TCOB_OPTIONS_PATH=C:\cygwin\usr\local\share\htcobol
set TCOBRT_CONFIG_DIR=C:\cygwin\usr\local\share\htcobol
Example (shell resource file):
export TCOB_OPTIONS_PATH=/usr/local/share/htcobol
export TCOBRT_CONFIG_DIR=/usr/local/share/htcobol
How to build and install the TinyCOBOL Cygwin edition from the source code
-----------------------------------------------------------------------------
- The Cygwin POSIX emulation layer from Cygnus.
- GCC Cygwin version.
- make (make).
- flex (flex).
- Bison or Berkeley's YACC (byacc) version 1.9.3.
Earlier versions of Berkeley's YACC will not work.
- The Curses library (ncurses) Cygwin version.
Required by the SCREEN SECTION and some types of DISPLAY statements.
- Berkeley's DB library (version db-1.85.4 or later) Cygwin version.
Required for all file I/O.
How to configure and compile TinyCOBOL Cygwin edition.
- Extract 'tinycobol-x.xx-x' TAR/GZIP archive.
- Run the configure script 'configure' (1).
- Type 'make' to compile the compiler and run-time (2).
How to install TinyCOBOL Cygwin edition.
- Configure and compile TinyCOBOL Cygwin edition.
- Type 'make install' to install the compiler and run-time.
Example:
./configure
make
make install
Notes:
1)
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
2)
To build shared libraries (DLL) use 'make devel'.
Note that this has not been tested for the Cygwin platform
and will require manual modifications to the make file
in the 'lib' directory.
Release notes
-----------------------------------------------------------------------------
To run the TinyCOBOL regression test suite for the Win32 MinGW release
requires the following to be installed on your system.
- Perl 5.x
Binaries for BDB can be downloaded from the TinyCOBOL(1) page.
The following are not included in binary distribution.
- Regression test suite sources.
- Utility programs binaries.
- Sample COBOL code sources.
Links
-----------------------------------------------------------------------------
1) TinyCOBOL
http://tiny-cobol.sourceforge.net/download.html

99
Readme.mingw32.txt Normal file
View File

@ -0,0 +1,99 @@
TinyCOBOL MinGW (Mingw32) edition for Win32
How to install and setup TinyCOBOL MinGW edition using INNO setup
-----------------------------------------------------------------------------
To run TinyCOBOL MinGW edition the following must be installed on your system:
- GCC MinGW version.
- Berkeley's DB library (MinGW) version 1.85.
- PDcurses library (MinGW) version 2.4 or later.
Installation using the setup binary:
- Run the INNO setup (ex: tinycobol-0.62-1.mingw.exe) binary.
- Edit the compiler resource file 'htcobolrc'.
Example (set your paths):
LD_PATH: -L/usr/lib -LD:/TinyCOBOL
- Create a DOS or CMD window shortcut.
- Set the TinyCOBOL and PATH environment variables.
Win9x users (DOS):
Use the enclosed batch file 'tcobol.bat' as a template.
Set the initial environment memory to 4096.
Win2K/XP users (CMD):
Use the properties sheet to set the values.
Example:
set TCOB_OPTIONS_PATH=C:\TinyCOBOL
set TCOBRT_CONFIG_DIR=C:\TinyCOBOL
set PATH=C:\TinyCOBOL;C:\mingw\bin;%PATH%
How to build and install the TinyCOBOL MinGW edition from the source code
-----------------------------------------------------------------------------
To build TinyCOBOL Win32 MinGW release requires the following to be
installed on your system.
- MSYS or some sort of POSIX shell.
- GCC MinGW version.
- make (make).
- flex (flex).
- Bison or Berkeley's YACC (byacc) version 1.9.3.
Earlier versions of Berkeley's YACC will not work.
- Berkeley's DB library (MinGW) version 1.85.
Required for all file I/O.
- PDcurses library (MinGW) version 2.4 or later.
Required by the SCREEN SECTION and some types of DISPLAY statements.
How to configure and compile TinyCOBOL MinGW edition.
- Extract 'tinycobol-x.xx-x' TAR/GZIP archive.
- Run the MinGW configure script 'tconfig.mingw.sh' using the '-i' option
to set the install directory (1) (2).
Example:
sh tconfig.mingw.sh -i 'D:/TinyCOBOL'
- Type 'make' to compile the compiler and run-time (3).
How to install TinyCOBOL MinGW edition.
- Configure and compile TinyCOBOL MinGW edition.
- Type 'make install' to install the compiler and run-time (4).
Notes:
1)
Default install directory is 'C:/TinyCOBOL'.
2)
Running the UN*X 'configure' script will on MSYS
will not properly setup all the variables.
3)
To build the TC run-time as a static library and DLL use 'make devel'.
4)
The install directory is set in the configure, step 1.
How to create the TinyCOBOL MinGW edition INNO setup executable from the source code
-----------------------------------------------------------------------------
- Configure and compile TinyCOBOL MinGW edition as described above.
- Use the INNO setup script 'tcobol.iss' to create the INNO setup executable.
Release notes
-----------------------------------------------------------------------------
To run the TinyCOBOL regression test suite for the Win32 MinGW release
requires the following to be installed on your system.
- Perl 5.x
Binaries for BDB and PDcurses can be downloaded from the TinyCOBOL(1) or GNUwin32(2) pages.
The following are not included in binary distribution.
- Regression test suite sources.
- Utility programs binaries.
- Sample COBOL code sources.
Links
-----------------------------------------------------------------------------
1) TinyCOBOL
http://tiny-cobol.sourceforge.net/download.html
2) GNUwin32
http://gnuwin32.sourceforge.net/

119
STATUS Normal file
View File

@ -0,0 +1,119 @@
The TinyCOBOL Project STATUS:
TinyCOBOL supports the IA32 (x86) architecture and the following platforms.
- FreeBSD using the GCC compiler.
- Linux using the GCC compiler.
- Win32 using the GCC MinGW (Mingw32) compiler.
- Win32 using the GCC Cygwin compiler and POSIX emulation layer.
Currently the compiler will generate GNU assembler code. With the aid
of GNU assembler and linker, a executable binary can be created to run
on the above mentioned IA32 (x86) platforms.
The compiler will work with COBOL sources which are in standard fixed
column or X/Open free form formats. A conversion utility to convert fixed
to free form COBOL source code is included in all sources.
The term COBOL 85 standard as used by TinyCOBOL refers to the combination
of the following standards.
- ISO 1985.........: Programming Languages - COBOL.
- ISO 1989-1.......: Programming Languages - Intrinsic Function Module - COBOL.
- ANSI X3.23-1985..: Programming Languages - COBOL.
- ANSI X3.23a-1989.: Programming Languages - Intrinsic Function Module - COBOL.
- X/Open XPG3......: COBOL programming languages extensions.
The current released snapshot has support for the following features and/or
COBOL syntax.
- ACCEPT, DISPLAY (including stdin, stderr, stdout).
- ACCEPT, DISPLAY.
Line I/O (stdin, stderr, stdout).
Screen I/O (non COBOL 85 standard extension).
at LINE ... POSITION ... (non COBOL 85 standard extension).
- CALL (including dynamic load).
BY REFERENCE.
BY VALUE.
BY CONTENT.
RETURNING variable (non COBOL 85 standard extension).
- CHAIN (non COBOL 85 standard extension).
- CURRENCY SIGN, DECIMAL-POINT.
- Debugging facility using GDB (not fully functional).
- Embedded SQL using vendor supplied SQL Pre-Processor.
- External variables.
- EVALUATE.
- File I/O.
Includes OPEN, CLOSE, DELETE, READ, WRITE, REWRITE, START
READ .. WITH LOCK
READ .. WITH IGNORE LOCK
Variable record length file IO (preliminary).
Locking for relative files (preliminary).
Locking for Indexed files using Lockserver supplied (preliminary).
- Floating point types (USAGE IS [ FLOAT-LONG | COMP-2 | FLOAT-SHORT | COMP-1 ]).
- GO TO, GO TO ... DEPENDING ON.
- GOBACK (non COBOL 85 standard extension).
- IF/ELSE conditional statements (all options are implemented).
- INITIALIZE.
- INSPECT (not all options are implemented).
- Integrated COBOL pre-processor.
Supports free and fixed syntax formats.
Supports all COPY statements including the REPLACING clause.
The REPLACE statements are not implemented.
- Intrinsic Functions.
- Linux extensions (return code, command line, environmental variables).
- Math verbs (including [NOT] ON SIZE ERROR options).
ADD (including CORRESPONDING option).
COMPUTE (+ - * / ** operators implemented).
DIVIDE.
MULTIPLY.
SUBTRACT (including CORRESPONDING option).
- MOVE(including CORRESPONDING option).
- Multi dimensional arrays and tables.
Variable size arrays and tables (preliminary).
- NEXT SENTENCE, CONTINUE (does not conform to COBOL 85 standard).
- PERFORM (all options implemented).
- POINTER types (USAGE IS POINTER).
- Reference Modification.
- Scope terminators for COBOL 85 (END-IF .... END-PERFORM).
- Sequence of source programs.
- SCREEN SECTION (COBOL 2002 draft standard).
- SET.
- STRING (Not all options are implemented).
- SORT, RELEASE, RETURN.
USING and GIVING clauses only work on sequential files.
The sort work file is kept in memory and not written to disk.
- SEARCH.
- SEARCH ALL.
- SELECT ... ASSIGN (not all options are implemented).
Supports non-standard external file name assignment in SELECT and FD statements.
- Static variables.
- TRACE, READY/RESET (not functional).
- UNSTRING.
- UNLOCK.
- Variable length (1, 2, 4, 8) support for BINARY, COMP, COMP-5 fields.
- Variable record length file IO (preliminary)
- Variable size arrays (preliminary).
The following features and/or COBOL syntax are currently under development.
- CORRESPONDING options in the MOVE, ADD, SUBTRACT statements (preliminary).
- DEBUG lines.
- EXTERNAL semantics (preliminary).
- Inline comments (2002 draft standard).
- Intrinsic Functions (preliminary).
- PROCEDURE DIVISION DECLARATIVES (preliminary).
- The REPORT SECTION (preliminary).
- Variable record length file IO (preliminary).
- Variable size arrays (preliminary).
The following features and/or COBOL syntax are not currently supported:
- Any portion of the COMMUNICATION SECTION.
- Non native IA32 types (big-endian).
- Support for 33 digit precision for temporary variables in RTS.
- Nested sequence of source programs.
The following features and/or COBOL syntax are not likely to ever be
supported.
- The ALTER statement.

5
TODO Normal file
View File

@ -0,0 +1,5 @@
* Include the sources of db-1.85 in our distribution to become
easier the life for users of RedHat, Caldera, and others Linux
distributions.
To avoid clashes with previous libdb installed, we could rename
our own library (?).

599
cbl2cob/cbl2cob.cob Normal file
View File

@ -0,0 +1,599 @@
*
* Copyright (C) 2003, Hudson Reis,
* Infocont Sistemas Integrados Ltda.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation; either version 2,
* or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this software; see the file COPYING.
* If not, write to the Free Software Foundation, Inc., 59 Temple
* Place, Suite 330, Boston, MA 02111-1307 USA
*
identification division.
program-id. cbl2cob.
author. Hudson Reis.
date-written. 03/05/2003.
*
* Front-end para pré-processar o fonte de entrada e chamar o
* parser selecionado, mediante a escolha do usuário.
*
environment division.
configuration section.
input-output section.
file-control.
copy "entrada.sl".
copy "intermed.sl".
copy "saida.sl".
data division.
file section.
copy "entrada.fd".
copy "intermed.fd".
copy "saida.fd".
working-storage section.
copy "globals.ws".
copy "globals.ls".
77 filler pic x(001) value spaces.
* Linha de comando para pegar a string digitada pelo usuario.
77 ws77-linha-comando pic x(512) value spaces.
* Variáveis que serão usadas para quebrar a frase
* passada na linha de comando, pelo usuário.
* O número máximo argumentos supotados é 8.
01 ws01-args.
02 ws02-arg-a pic x(256) value spaces.
02 ws02-arg-b pic x(256) value spaces.
02 ws02-arg-c pic x(256) value spaces.
02 ws02-arg-d pic x(256) value spaces.
02 ws02-arg-e pic x(256) value spaces.
02 ws02-arg-f pic x(256) value spaces.
02 ws02-arg-g pic x(256) value spaces.
02 ws02-arg-h pic x(256) value spaces.
* Lugar temporário para a switch do dialeto selecionado.
77 ws77-dialeto-selecionado pic x(256) value spaces.
* Variáveis para os dialetos.
77 ws77-dialeto-entrada pic x(003) value spaces.
88 ws88-microbase value "mb".
88 ws88-microfocus value "mf".
88 ws88-rm value "rm".
* Variável para determinar se o dado a ser tratado é um valor
* ou uma switch.
77 ws77-dado pic 9(001) value zeros.
88 ws88-switch value 0.
88 ws88-valor value 1.
* Opções do pre-processador.
77 ws77-opcoes-pp pic 9(001) value zeros.
88 ws88-abrir-copybooks value 0.
88 ws88-fechar-copybooks value 1.
* Variáveis que vão armazenar o basename de cada arquivo, caso
* o usuário indique um diretório externo ao diretório corrente
77 ws77-basename-entrada pic x(256) value spaces.
77 ws77-basename-saida pic x(256) value spaces.
* Variáveis com o valor das switches selecionadas.
77 ws77-escolher-dialeto pic x(002) value "-d".
77 ws77-mostrar-ajuda pic x(002) value "-h".
77 ws77-fonte-entrada pic x(002) value "-i".
77 ws77-fonte-saida pic x(002) value "-o".
77 ws77-modo-verboso pic x(002) value "-v".
77 ws77-exibir-versao pic x(002) value "-V".
* A otimizar.
77 ws77-linha-para-parsing pic x(256) value spaces.
01 ws01-case.
02 ws02-maiusculo pic x(26)
value "ABCDEFGHIJKLMNOPQRSTUVXYWZ".
02 ws02-minusculo pic x(26)
value "abcdefghijklmnopqrstuvxywz".
procedure division.
perform ler-linha-de-comando
set ws88-abrir-copybooks to true
perform pre-processar-fonte
evaluate true
when ws88-microfocus
call "mfparser" using ws77-arquivo-entrada
ws77-arquivo-saida
ws77-processo
end-call
when ws88-microbase
call "mbparser" using ws77-arquivo-entrada
ws77-arquivo-saida
ws77-processo
end-call
end-evaluate
* set ws88-fechar-copybooks to true
* perform pre-processar-fonte
perform finalizar
.
*****************************************************************
* Rotinas principais *
*****************************************************************
ler-linha-de-comando.
* 1a. Etapa: Lendo as opções da linha de comando.
accept ws77-linha-comando from command-line
if return-code not equal zeros
display "Tamanho da linha de comando truncada!"
perform finalizar
end-if
if ws88-processo-verboso
display "Linha de comando: " ws77-linha-comando
end-if
unstring ws77-linha-comando delimited by ' ' into
ws02-arg-a
ws02-arg-b
ws02-arg-c
ws02-arg-d
ws02-arg-e
ws02-arg-f
ws02-arg-g
ws02-arg-h
end-unstring
if ws88-processo-verboso
perform varying ws02-i from 256 by -1
until ws02-arg-a(ws02-i:1)not equal spaces
or
ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento a: " ws02-arg-a(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-b(ws02-i:1) not equal spaces
or
ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento b: " ws02-arg-b(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-c(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento c: " ws02-arg-c(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-d(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento d: " ws02-arg-d(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-e(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento e: " ws02-arg-e(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-f(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento f: " ws02-arg-f(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-g(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento g: " ws02-arg-g(1:ws02-i)
perform varying ws02-i from 256 by -1
until ws02-arg-h(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "Argumento h: " ws02-arg-h(1:ws02-i)
end-if
if ws88-switch
evaluate ws02-arg-a
when ws77-escolher-dialeto
move ws02-arg-b to ws77-dialeto-selecionado
perform escolher-dialeto
when ws77-mostrar-ajuda
perform exibir-ajuda
when ws77-fonte-entrada
move ws02-arg-b to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-modo-verboso
set ws88-processo-verboso to true
when ws77-exibir-versao
perform exibir-versao
when other
perform exibir-ajuda
end-evaluate
else
set ws88-valor to true
end-if
if ws88-switch
evaluate ws02-arg-b
when ws77-escolher-dialeto
move ws02-arg-c to ws77-dialeto-selecionado
perform escolher-dialeto
when ws77-mostrar-ajuda
perform exibir-ajuda
when ws77-fonte-entrada
move ws02-arg-c to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-modo-verboso
set ws88-processo-verboso to true
when ws77-exibir-versao
perform exibir-versao
when other
perform exibir-ajuda
end-evaluate
else
set ws88-valor to true
end-if
if ws88-switch
evaluate ws02-arg-c
when ws77-escolher-dialeto
move ws02-arg-d to ws77-dialeto-selecionado
perform escolher-dialeto
when ws77-fonte-entrada
move ws02-arg-d to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-modo-verboso
set ws88-processo-verboso to true
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
if ws88-continua-parsing
if ws88-switch
evaluate ws02-arg-c
when ws77-modo-verboso
set ws88-processo-verboso to true
when ws77-fonte-entrada
move ws02-arg-d to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-fonte-saida
move ws02-arg-d to ws77-arquivo-saida
perform verificar-arquivo-saida
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
end-if
if ws88-continua-parsing
if ws88-switch
evaluate ws02-arg-d
when ws77-modo-verboso
set ws88-processo-verboso to true
when ws77-fonte-entrada
move ws02-arg-e to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-fonte-saida
move ws02-arg-e to ws77-arquivo-saida
perform verificar-arquivo-saida
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
end-if
if ws88-continua-parsing
if ws88-switch
evaluate ws02-arg-e
when ws77-fonte-entrada
move ws02-arg-f to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-fonte-saida
move ws02-arg-f to ws77-arquivo-saida
perform verificar-arquivo-saida
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
end-if
if ws88-continua-parsing
if ws88-switch
evaluate ws02-arg-f
when ws77-fonte-entrada
move ws02-arg-g to ws77-arquivo-entrada
perform verificar-arquivo-entrada
when ws77-fonte-saida
move ws02-arg-g to ws77-arquivo-saida
perform verificar-arquivo-saida
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
end-if
if ws88-continua-parsing
if ws88-switch
evaluate ws02-arg-g
when ws77-fonte-saida
move ws02-arg-h to ws77-arquivo-saida
perform verificar-arquivo-saida
when other
perform exibir-ajuda
end-evaluate
else
set ws88-switch to true
end-if
end-if
if ws77-dialeto-entrada equal spaces
display "Erro na escolha do dialeto"
perform finalizar
else
if ws88-processo-verboso
evaluate true
when ws88-microbase
display "dialeto: Microbase COBOL"
when ws88-microfocus
display "dialeto: Microfocus COBOL"
when ws88-rm
display "dialeto: RM COBOL"
when other
display "Erro na escolha do dialeto"
perform finalizar
end-evaluate
end-if
end-if
if ws77-arquivo-entrada equal spaces
display "Não foi informado arquivo de entrada"
perform finalizar
else
if ws88-processo-verboso
move zeros to ws02-m
perform varying ws02-m from 256 by -1 until
ws77-arquivo-entrada(ws02-m:1) not equal spaces
continue
end-perform
display "input: " ws77-arquivo-entrada(1:ws02-m)
end-if
end-if
if ws77-arquivo-saida equal spaces
display "Nao foi informado arquivo de saida"
perform finalizar
else
if ws88-processo-verboso
move zeros to ws02-m
perform varying ws02-m from 256 by -1 until
ws77-arquivo-saida(ws02-m:1) not equal spaces
continue
end-perform
display "output: " ws77-arquivo-saida(1:ws02-m)
end-if
end-if
.
pre-processar-fonte.
move ws77-arquivo-entrada
to ws77-arquivo-intermediario
perform varying ws02-i from 256 by -1
until ws77-arquivo-intermediario(ws02-i:1)
not equal spaces
continue
end-perform
add 1 to ws02-i
compute ws02-j = 256 - ws02-i
move ".pre" to ws77-arquivo-intermediario(ws02-i:ws02-j)
if ws88-processo-verboso
add 4 to ws02-i
display "Arquivo intermediario: "
ws77-arquivo-intermediario(1:ws02-i)
end-if
open input arquivo-entrada
if not ws88-ok
perform testar-file-status
end-if
open output arquivo-intermediario
perform until ws88-fim-arquivo
read arquivo-entrada
if not ws88-fim-arquivo
move reg-arquivo-entrada
to ws77-linha-para-parsing
inspect ws77-linha-para-parsing
converting ws02-minusculo
to ws02-maiusculo
move zeros to ws02-i
inspect ws77-linha-para-parsing
tallying ws02-i for all " COPY "
if ws02-i > 0
perform testes-copy
else
write reg-arquivo-intermediario
from reg-arquivo-entrada
end-if
end-if
end-perform
close arquivo-entrada arquivo-intermediario
move ws77-arquivo-intermediario to ws77-arquivo-entrada
.
finalizar.
stop run
.
*****************************************************************
* Procedures secundárias *
*****************************************************************
verificar-arquivo-entrada.
set ws88-continua-parsing to true
set ws88-valor to true
open input arquivo-entrada
if not ws88-ok
perform testar-file-status
end-if
close arquivo-entrada
.
verificar-arquivo-saida.
* Pegar o basename do fonte de entrada.
perform varying ws02-i from 256 by -1
until ws77-arquivo-entrada(ws02-i:1)
not equal spaces
continue
end-perform
* Descobrir o início da string(que pode estar terminado com
* "/")
perform varying ws02-j from ws02-i by -1
until ws77-arquivo-entrada(ws02-j:1)
equal "/" or ws02-j equal zeros
continue
end-perform
if ws77-arquivo-entrada(ws02-j:1) equal "/"
add 1 to ws02-j
compute ws02-k = ws02-i - ws02-j
add 1 to ws02-k
move ws77-arquivo-entrada(ws02-j:ws02-k)
to ws77-basename-entrada
if ws88-processo-verboso
display "input a: "
ws77-arquivo-entrada(ws02-j:ws02-k)
end-if
else
if ws88-processo-verboso
perform varying ws02-i from 256 by -1
until ws77-arquivo-entrada(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "input b: " ws77-arquivo-entrada(1:ws02-i)
end-if
move ws77-arquivo-entrada to ws77-basename-entrada
end-if
if ws77-arquivo-saida equal spaces
display "Arquivo de saída não informado"
perform finalizar
end-if
* Pegar o basename do fonte de saída.
perform varying ws02-l from 256 by -1
until ws77-arquivo-saida(ws02-l:1)
not equal spaces
continue
end-perform
if ws88-processo-verboso
display "ws02-l: " ws02-l
end-if
* Descobrir o início da string(que pode estar terminado com
* "/")
perform varying ws02-m from ws02-l by -1
until ws77-arquivo-saida(ws02-m:1)
equal "/" or ws02-m equal zeros
continue
end-perform
if ws88-processo-verboso
display "ws02-m: " ws02-m
end-if
if ws77-arquivo-saida(ws02-m:1) equal "/"
add 1 to ws02-m
compute ws02-n = ws02-l - ws02-m
add 1 to ws02-n
move ws77-arquivo-saida(ws02-m:ws02-n)
to ws77-basename-saida
if ws88-processo-verboso
display "output a: "
ws77-arquivo-saida(ws02-m:ws02-n)
end-if
else
if ws88-processo-verboso
perform varying ws02-i from 256 by -1
until ws77-arquivo-saida(ws02-i:1)
not equal spaces or ws02-i equal zeros
continue
end-perform
add 1 to ws02-i
display "output b: " ws77-arquivo-saida(1:ws02-i)
end-if
move ws77-arquivo-saida to ws77-basename-saida
end-if
set ws88-finaliza-parsing to true
set ws88-valor to true
if ws77-basename-entrada equal ws77-basename-saida
display "Arquivo de saída igual ao arquivo de entrada"
perform finalizar
end-if
.
escolher-dialeto.
set ws88-valor to true
evaluate ws77-dialeto-selecionado
when "mb "
set ws88-microbase to true
when "mf "
set ws88-microfocus to true
when "rm "
set ws88-rm to true
when other
display "Erro na escolha do dialeto"
perform finalizar
end-evaluate
.
testes-copy.
move zeros to ws02-i
inspect ws77-linha-para-parsing
tallying ws02-i for characters
before ' "'
add 3 to ws02-i
perform varying ws02-j from 256 by -1
until ws77-linha-para-parsing(ws02-j:1)
not equal spaces and "."
continue
end-perform
compute ws02-k = ws02-j - ws02-i
move "*" to reg-arquivo-entrada(7:1)
write reg-arquivo-intermediario
from reg-arquivo-entrada
if ws88-processo-verboso
display "Copybook: " reg-arquivo-entrada(ws02-i:ws02-k)
end-if
move reg-arquivo-entrada(ws02-i:ws02-k)
to ws77-arquivo-intermediario2
open input arquivo-intermediario2
if not ws88-ok
perform testar-file-status
end-if
perform until ws88-fim-arquivo
read arquivo-intermediario2
if not ws88-fim-arquivo
write reg-arquivo-intermediario
from reg-arquivo-intermediario2
end-if
end-perform
close arquivo-intermediario2
.
exibir-versao.
display "Conversor de fontes CBL2COB - alpha 0.0.2 (lançado e
- "m 06/10/2003)"
display "Copyright (C) 2003 Hudson Reis"
perform finalizar
.
exibir-ajuda.
display "Uso: cbl2cob <opcoes> <arquivo-entrada> [-o <arquiv
- "o-saida>]"
display "opções:"
display " -d <mf/mb/rm> Escolhe dialeto"
display " -h Mostra ajuda"
display " -i <arquivo-entrada> Escolhe arquivo de entrada"
display " -o <arquivo-saida> Escolhe arquivo de saida"
display " -v Modo verboso"
display " -V Mostra versão"
perform finalizar
.
copy "globals.pd".

BIN
cbl2cob/cbl2cob.exe Normal file

Binary file not shown.

4
cbl2cob/entrada.fd Normal file
View File

@ -0,0 +1,4 @@
fd arquivo-entrada
value of file-id is ws77-arquivo-entrada.
01 reg-arquivo-entrada pic x(256).

5
cbl2cob/entrada.sl Normal file
View File

@ -0,0 +1,5 @@
select arquivo-entrada assign to disk
organization is line sequential
access mode is sequential
file status is ws77-file-status.

10
cbl2cob/globals.ls Normal file
View File

@ -0,0 +1,10 @@
* Arquivos de entrada e saída
77 ws77-arquivo-entrada pic x(256) value spaces.
77 ws77-arquivo-saida pic x(256) value spaces.
77 ws77-arquivo-intermediario pic x(256) value spaces.
77 ws77-arquivo-intermediario2 pic x(256) value spaces.
* Variáveis para verificar se deve mostrar ou não alguma coisa.
77 ws77-processo pic 9(001) value zeros.
88 ws88-processo-nao-verboso value 0.
88 ws88-processo-verboso value 1.

12
cbl2cob/globals.pd Normal file
View File

@ -0,0 +1,12 @@
testar-file-status.
evaluate true
when ws88-arquivo-inexistente
display "Arquivo inexistente"
when ws88-diretorio-inexistente
display "Diretorio inexistente"
when other
display "Erro sem report: " ws77-file-status
end-evaluate
close arquivo-entrada arquivo-saida
perform finalizar
.

33
cbl2cob/globals.ws Normal file
View File

@ -0,0 +1,33 @@
* Teste de file status.
77 ws77-file-status pic x(002) value spaces.
88 ws88-ok values are "00" "02" "04".
88 ws88-diretorio-inexistente value "05".
88 ws88-fim-arquivo value "10".
88 ws88-inexiste-registro value "22".
88 ws88-disco-cheio value "24".
88 ws88-arquivo-inexistente value "35".
88 ws88-layout-diferente value "39".
88 ws88-arquivo-ja-aberto value "41".
88 ws88-arquivo-nao-aberto values are "42" "47".
88 ws88-arquivo-bloqueado value "9A".
88 ws88-registro-bloqueado value "9D".
88 ws88-indice-corrompido values are "9$" "9)" "9(".
* Variáveis para serem usadas como contadores.
01 ws01-contadores.
02 ws02-i pic 9(003) value zeros.
02 ws02-j pic 9(003) value zeros.
02 ws02-k pic 9(003) value zeros.
02 ws02-l pic 9(003) value zeros.
02 ws02-m pic 9(003) value zeros.
02 ws02-n pic 9(003) value zeros.
02 ws02-o pic 9(003) value zeros.
02 ws02-p pic 9(003) value zeros.
02 ws02-q pic 9(003) value zeros.
02 ws02-r pic 9(003) value zeros.
02 ws02-s pic 9(003) value zeros.
* Variável para determinar se continua ou não o parsing da
* instrucao ou linha de comando.
77 ws77-parsing pic 9(001) value zeros.
88 ws88-continua-parsing value 0.
88 ws88-finaliza-parsing value 1.

8
cbl2cob/intermed.fd Normal file
View File

@ -0,0 +1,8 @@
fd arquivo-intermediario
value of file-id is ws77-arquivo-intermediario.
01 reg-arquivo-intermediario pic x(256).
fd arquivo-intermediario2
value of file-id is ws77-arquivo-intermediario2.
01 reg-arquivo-intermediario2 pic x(256).

10
cbl2cob/intermed.sl Normal file
View File

@ -0,0 +1,10 @@
select arquivo-intermediario assign to disk
organization is line sequential
access mode is sequential
file status is ws77-file-status.
select arquivo-intermediario2 assign to disk
organization is line sequential
access mode is sequential
file status is ws77-file-status.

1116
cbl2cob/mbparser.cob Normal file

File diff suppressed because it is too large Load Diff

BIN
cbl2cob/mbparser.dll Normal file

Binary file not shown.

3017
cbl2cob/mfparser.cob Normal file

File diff suppressed because it is too large Load Diff

BIN
cbl2cob/mfparser.dll Normal file

Binary file not shown.

4
cbl2cob/saida.fd Normal file
View File

@ -0,0 +1,4 @@
fd arquivo-saida
value of file-id is ws77-arquivo-saida.
01 reg-arquivo-saida pic x(256).

5
cbl2cob/saida.sl Normal file
View File

@ -0,0 +1,5 @@
select arquivo-saida assign to disk
organization is line sequential
access mode is sequential
file status is ws77-file-status.

11
cobpp/AUTHORS Normal file
View File

@ -0,0 +1,11 @@
List is in alphabetic order.
Author:
David Essex <dessex@users.sourceforge.net>
Contributors:
Bernard Giroud
Ferran Pegueroles
Laura Tweedy
Keisuke Nishida
Rildo Pragana

339
cobpp/COPYING Normal file
View File

@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

12
cobpp/COPYRIGHT Normal file
View File

@ -0,0 +1,12 @@
The TinyCOBOL pre-processor will convert from fixed to free-form COBOL format,
and handle the COPY and REPLACE syntax.
Some of these files, are derived form what was originally part of the Cob2C
project. They were modified to create the TinyCOBOL pre-processor.
Copyright (C) 1999-2002 David Essex.
Copyright (C) 1998, 1999 Laura Tweedy.
The htcobolpp program is licensed under the GNU General Public License.
See COPYING for details.

Some files were not shown because too many files have changed in this diff Show More