HOME  NEWS  FORUM  DOWNLOAD  LINK
OpenCOBOL - an open-source COBOL compiler
Main Menu
Download
Documentation
Development
Who's Online
16 user(s) are online (4 user(s) are browsing Forum)

Members: 0
Guests: 16

more...
Powered by
SourceForge

Xoops

Creative Commons

OpenCOBOL Forum Index
   OpenCOBOL
     Open Cobol IDE?
Register To Post

| Newest First Previous Topic | Next Topic | Bottom
Poster Thread
aoirthoir
Posted on: 2008/8/14 6:06
Home away from home
Joined: 2007/4/16
From: Cleveland Ohio
Posts: 321
Open Cobol IDE?
I think one thing we definitely need is an IDE. Code highlighting would alone be very valuable, as would project management, debugging and so forth.

Here is an example screenshot from the Kobol project for the Eclipse IDE. I think perhaps yall see what I mean then? I purchased their standard Kobol product a couple years ago. The editor I got was very plain.

http://www.thekompany.com/products/kobol/eclipse/_img/screenshots/eclipse1.png?PHPSESSID=2c268db893fdcee113d04bef91ea3338
ssamayoa
Posted on: 2008/8/17 17:05
Quite a regular
Joined: 2008/2/11
From:
Posts: 60
Re: Open Cobol IDE?
What about this?

http://www.eclipse.org/cobol/

It is little abandoned but better tha beggining from scratch.

Regards.
btiffin
Posted on: 2008/8/17 19:33
Home away from home
Joined: 2008/6/7
From: CANADA
Posts: 1196
Re: Open Cobol IDE?
I didn't say anything, as I have a lot of respect for aoirthoir, but I eschew IDEs.

GNU/Linux makes an awesome interactive development environment imho. I'd not object to anyone building such a tool, might even help out, but I'd rarely if ever use such a application. I find they hide too much information whereas a command line toolkit doesn't (as much).

Very personal preference. I tried Eclipse, and tossed it as bloat after about 15 minutes.

Having said that, other developers may well be able to use such a product to run rings around the rest of us, personally I just get lost.

Cheers,
Brian
aoirthoir
Posted on: 2008/8/18 16:30
Home away from home
Joined: 2007/4/16
From: Cleveland Ohio
Posts: 321
Re: Open Cobol IDE?
Brian, I'm thinking more along the lines of what you had with VI, except I'm not a vi user. Something that had syntax coloring would be perfect. If it also offered code completion (for say reserved words and variables) that would be an extra little bonus, but I don't use code completion much. Lastly code folding would be nice.

Other than that I don't do a whole lot with IDEs. So perhaps I should have said editor:)

But I won't ever mind you disagreeing with me, or even taking me to task if I am wrong.

ssamayoa, I'm with Brian on the bloat of Eclipse. I tried it with php and just felt it was too slow.

Maybe it is time I got on my butt and learned vi? Did the vi cobol thingy add colors?
human
Posted on: 2008/8/19 8:08
Home away from home
Joined: 2007/5/15
From: GERMANY
Posts: 1416
Re: Open Cobol IDE?
Yes, colours are added. But nothing about code folding and code completion (as far as I know). To be able to use vi is good, but this cannot be the suggestion for new OpenCOBOLers...

It would be possible to compile if eclipse would be used (or another unknown fast IDE, if available with cvs/svn support as eclipse has). You only need to have cobc / cobcrun available (native linux or compiled for MinGW).
These are the point why I would prefer an IDE instead of an editor.
btiffin
Posted on: 2008/8/19 17:25
Home away from home
Joined: 2008/6/7
From: CANADA
Posts: 1196
Re: Open Cobol IDE?
human and aoirthoir;
We'll never all come to a concensus on IDE vs no IDE. Very personal choices and goose/gander. So I suggest we work on both, being all inclusive.

I'll be in the no IDE camp setting up a big purple tent.

On using vim;
First, vi is my editor of choice. :help will lead you to a tutorial. There is also an online copy of a Vim book at
ftp://ftp.vim.org/pub/vim/doc/book/vimbook-OPL.pdf

I'm finally getting round to updating my copy of syntax/cobol.vim, but I'd appreciate help with the regular expressions. I don't mind looking dumb here, so ...

Built-in Library calls;
Does anyone have a more efficient way of doing
syn match cobolWatch /\(["']\)SYSTEM\1/
syn match cobolWatch /\(["']\)CBL_ERROR_PROC\1/
syn match cobolWatch /\(["']\)CBL_EXIT_PROC\1/
...

for the 40ish built-ins? Plus the complication of the three x"F1" type names?

FUNCTION;
I'm also playing with colouring the intrinsics.
syn keyword cobolWatch COS CURRENT-DATE DATE-OF-INTEGER DATE-TO-YYYYMMDD

But, I'd really like to separate the actual reserved word LENGTH from the FUNCTION LENGTH (for instance), so I'm hunting for a practical regex that has any-case FUNCTION and whitespace followed by the any-case function name. Plus, I may be going overboard using cobolWATCH (it is really meant for quick groks - so I'll be playing with what colours as what).

I've posted today's copy (hopefully not breaching any copyrights as I've not talked with any of the previous maintainers, but I'll assume a VIM syntax file is copyleft. If not, I'm a no-good snook) Tomorrows copy will have a separate list of the implemented and non-implemented reserved words and some of the other niceties. Treat this as a Work In Progress, and to get people used to Vim syntax files for OpenCOBOL.

After installing vim (I have 7.1), copy the original syntax file somewhere - just in case. (You'll need root access if you used APT to install).
# cp /usr/share/vim/vim71/syntax/cobol.vim /mystash/

then place this file in the syntax dir as
/usr/share/vim/vim71/syntax/cobol.vim
then, in your vimrc, ~/.vimrc add
syntax enable

And you should be good to go whenever you vi a .cob or .cbl file.

" Vim syntax file
" Language: COBOL
" Maintainers: Davyd Ondrejko
" (formerly Sitaram Chamarty
" James Mitchell
" Last change: 2001 Sep 02

" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded

" Stephen Gennard
" - added keywords - AS, REPOSITORY
" - added extra cobolCall bits

" Brian Tiffin
" - modified for OpenCOBOL 1.1 August 2008

if version < 600
  syntax clear
elseif exists("b:current_syntax")
  finish
endif

" MOST important - else most of the keywords wont work!
if version < 600
  set isk=@,48-57,-
else
  setlocal isk=@,48-57,-
endif

syn case ignore

if exists("cobol_legacy_code")
  syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved
else
  syn match cobolKeys "" contains=cobolReserved
endif

syn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC
syn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS
syn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY
syn keyword cobolReserved contained BLANK BLOCK BOTTOM BY CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS
syn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON
syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONFIGURATION CONTENT CONTINUE
syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATA DATE DATE-COMPILED
syn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE
syn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT
syn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION
syn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI
syn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF
syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN
syn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING
syn keyword cobolReserved contained END-WRITE ENVIRONMENT EQUAL ERROR ESI EVALUATE EVERY EXCEPTION
syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILE FILE-CONTROL FILLER FINAL FIRST FOOTING FOR FROM
syn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O
syn keyword cobolReserved contained I-O-CONTROL IDENTIFICATION IN INDEX INDEXED INDICATE INITIAL INITIALIZE
syn keyword cobolReserved contained INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO IS JUST
syn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY
syn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT
syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OBJECT-COMPUTER OCCURS OF OFF OMITTED ON OPEN
syn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING
syn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POSITION POSITIVE
syn keyword cobolReserved contained PRINTING PROCEDURE PROCEDURES PROCEDD PROGRAM PROGRAM-ID PURGE QUEUE QUOTES
syn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES
syn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPLACING REPORT REPORTING
syn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH
syn keyword cobolReserved contained RIGHT ROUNDED SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED
syn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT
syn keyword cobolReserved contained SORT-MERGE SOURCE SOURCE-COMPUTER SPECIAL-NAMES STANDARD
syn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STRING SUB-QUEUE-1 SUB-QUEUE-2
syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING
syn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TO TOP
syn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES
syn keyword cobolReserved contained VARYING WHEN WITH WORDS WORKING-STORAGE WRITE

" new
syn keyword cobolReserved contained AS LOCAL-STORAGE LINKAGE SCREEN ENTRY

" new - btiffin
syn keyword cobolReserved contained END-ACCEPT END-DISPLAY

" new
syn keyword cobolReserved contained environment-name environment-value argument-number
syn keyword cobolReserved contained call-convention identified pointer

syn keyword cobolReserved contained external-form division wait national

" new -- oo stuff
syn keyword cobolReserved contained repository object class method-id method object static
syn keyword cobolReserved contained class-id class-control private inherits object-storage
syn keyword cobolReserved contained class-object protected delegate
syn keyword cobolReserved contained try catch raise end-try super property
syn keyword cobolReserved contained override instance equals

" new - new types
syn match cobolTypes "condition-value"hs=s,he=e
syn match cobolTypes "binary-char"hs=s,he=e
syn match cobolTypes "binary-c-long"hs=s,he=e
syn match cobolTypes "binary-long"hs=s,he=e
syn match cobolTypes "binary-short"hs=s,he=e
syn match cobolTypes "binary-double"hs=s,he=e
syn match cobolTypes "procedure-pointer"hs=s,he=e
syn match cobolTypes "object reference"hs=s,he=e

syn match cobolReserved contained "\<CONTAINS\>"
syn match cobolReserved contained "\<\(IF\|ELSE|INVALID\|END\|EOP\)\>"
syn match cobolReserved contained "\<ALL\>"

syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES

if exists("cobol_legacy_code")
  syn match cobolMarker "^.\{6\}"
  syn match cobolBadLine "^.\{6\}[^ D\-*$/].*"hs=s+6
  " If comment mark somehow gets into column past Column 7.
  syn match cobolBadLine "^.\{6\}\s\+\*.*"
endif

syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<S*9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<$*\.\=9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<Z*\.\=9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<V9\+\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<9\+V\>" contains=cobolMarker,cobolComment
syn match cobolPic "\<-\+[Z9]\+\>" contains=cobolMarker,cobolComment
syn match cobolTodo "todo" contained

if exists("cobol_mf_syntax")
  syn region cobolComment start="*>" end="$" contains=cobolTodo,cobolMarker
endif

syn keyword cobolGoTo GO GOTO
syn keyword cobolCopy COPY

" cobolBAD: things that are BAD NEWS!
syn keyword cobolBAD ALTER ENTER RENAMES

" cobolWatch: things that are important when trying to understand a program
syn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES
syn keyword cobolWatch REPLACING THROW
syn match cobolWatch "COMP-[123456XN]"

" new - btiffin, added Intrinsics
syn keyword cobolWatch ABS ACOS ANNUITY ASIN ATAN BYTE-LENGTH CHAR
syn keyword cobolWatch COS CURRENT-DATE DATE-OF-INTEGER DATE-TO-YYYYMMDD
syn keyword cobolWatch DAY-OF-INTEGER DAY-TO-YYYYDDD E EXCEPTION-FILE
syn keyword cobolWatch EXCEPTION-LOCATION EXCEPTION-STATEMENT
syn keyword cobolWatch EXCEPTION-STATUS EXP EXP10 FACTORIAL FRACTION-PART
syn keyword cobolWatch INTEGER INTEGER-OF-DATE INTEGER-OF-DAY INTEGER-PART
syn keyword cobolWatch LENGTH LOCALE-DATE LOCALE-TIME LOG LOG10 LOWER-CASE
syn keyword cobolWatch MAX MEAN MEDIAN MIDRANGE MIN MOD NUMVAL NUMVAL-C
syn keyword cobolWatch ORD ORD-MAX ORD-MIN PI PRESENT-VALUE RANDOM RANGE
syn keyword cobolWatch REM REVERSE SECONDS-FROM-FORMATTED-TIME
syn keyword cobolWatch SECONDS-PAST-MIDNIGHT SIGN SIN SQRT
syn keyword cobolWatch STANDARD-DEVIATION STORED-CHAR-LENGTH SUM TAN
syn keyword cobolWatch TEST-DATE-YYMMDD TEST-DAY-YYYYDDD TRIM UPPER-CASE
syn keyword cobolWatch VARIANCE WHEN-COMPILED YEAR-TO-YYYY

syn region cobolEXECs contains=cobolLine start="EXEC " end="END-EXEC"

syn match cobolComment "^.\{6\}\*.*"hs=s+6 contains=cobolTodo,cobolMarker
syn match cobolComment "^.\{6\}/.*"hs=s+6 contains=cobolTodo,cobolMarker
syn match cobolComment "^.\{6\}C.*"hs=s+6 contains=cobolTodo,cobolMarker

if exists("cobol_legacy_code")
  syn match cobolCompiler "^.\{6\}$.*"hs=s+6
  syn match cobolDecl "^.\{6} \{1,8}\(0\=1\|77\|78\) "hs=s+7,he=e-1 contains=cobolMarker
  syn match cobolDecl "^.\{6} \+[1-8]\d "hs=s+7,he=e-1 contains=cobolMarker
  syn match cobolDecl "^.\{6} \+0\=[2-9] "hs=s+7,he=e-1 contains=cobolMarker
  syn match cobolDecl "^.\{6} \+66 "hs=s+7,he=e-1 contains=cobolMarker
  syn match cobolWatch "^.\{6} \+88 "hs=s+7,he=e-1 contains=cobolMarker
else
  syn match cobolWhiteSpace "^*[ \t]"
  syn match cobolCompiler "$.*"hs=s,he=e contains=cobolWhiteSpace,cobolTypes
  syn match cobolDecl "0\=[1-9] *$"hs=s,he=e-1 contains=cobolWhiteSpace,cobolTypes
  syn match cobolDecl "66 *$"hs=s,he=e-1 contains=cobolWhiteSpace,cobolTypes
  syn match cobolWatch "88 *$"hs=s,he=e-1 contains=cobolWhiteSpace,cobolTypes
endif

syn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)"

syn keyword cobolCALLs CALL CANCEL GOBACK INVOKE PERFORM END-PERFORM END-CALL RUN
syn match cobolCALLs "STOP \+RUN"
syn match cobolCALLs "EXIT \+PROGRAM"
syn match cobolCALLs "EXIT \+PROGRAM \+RETURNING"
syn match cobolCALLs "EXIT \+PERFORM"
syn match cobolCALLs "EXIT \+METHOD"
syn match cobolCALLs "EXIT \+SECTION"
syn match cobolCALLs "STOP " contains=cobolString

syn match cobolExtras /\<VALUE \+\d\+\./hs=s+6,he=e-1

" zero terminated strings eg: pic x(10) value z"My C String"
if exists("cobol_mf_syntax")
  syn match cobolString /z"[^"]*\("\|$\)/
endif

syn match cobolString /"[^"]*\("\|$\)/
syn match cobolString /'[^']*\('\|$\)/

" new - btiffin, added libcob calls
syn match cobolWatch /\(["']\)SYSTEM\1/
syn match cobolWatch /\(["']\)CBL_ERROR_PROC\1/
syn match cobolWatch /\(["']\)CBL_EXIT_PROC\1/
syn match cobolWatch /\(["']\)BL_OPEN_FILE\1/
syn match cobolWatch /\(["']\)CBL_CREATE_FILE\1/
syn match cobolWatch /\(["']\)CBL_READ_FILE\1/
syn match cobolWatch /\(["']\)CBL_WRITE_FILE\1/
syn match cobolWatch /\(["']\)CBL_CLOSE_FILE\1/
syn match cobolWatch /\(["']\)CBL_FLUSH_FILE\1/
syn match cobolWatch /\(["']\)CBL_DELETE_FILE\1/
syn match cobolWatch /\(["']\)CBL_COPY_FILE\1/
syn match cobolWatch /\(["']\)CBL_CHECK_FILE_EXIST\1/
syn match cobolWatch /\(["']\)CBL_RENAME_FILE\1/
syn match cobolWatch /\(["']\)CBL_GET_CURRENT_DIR\1/
syn match cobolWatch /\(["']\)CBL_CHANGE_DIR\1/
syn match cobolWatch /\(["']\)CBL_CREATE_DIR\1/
syn match cobolWatch /\(["']\)CBL_DELETE_DIR\1/
syn match cobolWatch /\(["']\)CBL_AND\1/
syn match cobolWatch /\(["']\)CBL_OR\1/
syn match cobolWatch /\(["']\)CBL_NOR\1/
syn match cobolWatch /\(["']\)CBL_XOR\1/
syn match cobolWatch /\(["']\)CBL_IMP\1/
syn match cobolWatch /\(["']\)CBL_NIMP\1/
syn match cobolWatch /\(["']\)CBL_EQ\1/
syn match cobolWatch /\(["']\)CBL_NOT\1/
syn match cobolWatch /\(["']\)CBL_TOUPPER\1/
syn match cobolWatch /\(["']\)CBL_TOLOWER\1/
syn match cobolWatch /\(["']\)\\364\1/
syn match cobolWatch /\(["']\)\\365\1/
syn match cobolWatch /\(["']\)\\221\1/
syn match cobolWatch /\(["']\)C$NARG\1/
syn match cobolWatch /\(["']\)C$PARAMSIZE\1/
syn match cobolWatch /\(["']\)C$MAKEDIR\1/
syn match cobolWatch /\(["']\)C$CHDIR\1/
syn match cobolWatch /\(["']\)C$SLEEP\1/
syn match cobolWatch /\(["']\)C$COPY\1/
syn match cobolWatch /\(["']\)C$FILEINFO\1/
syn match cobolWatch /\(["']\)C$DELETE\1/
syn match cobolWatch /\(["']\)C$TOUPPER\1/
syn match cobolWatch /\(["']\)C$TOLOWER\1/
syn match cobolWatch /\(["']\)C$JUSTIFY\1/
syn match cobolWatch /\(["']\)CBL_OC_NANOSLEEP\1/

if exists("cobol_legacy_code")
  syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
  syn region cobolLine start="^.\{6} " end="$" contains=ALL
endif

if exists("cobol_legacy_code")
  " catch junk in columns 1-6 for modern code
  syn match cobolBAD "^ \{0,5\}[^ ].*"
endif

" many legacy sources have junk in columns 1-6: must be before others
" Stuff after column 72 is in error - must be after all other "match" entries
if exists("cobol_legacy_code")
  syn match cobolBadLine "^.\{6}[^*/].\{66,\}"
endif

" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_cobol_syntax_inits")
  if version < 508
    let did_cobol_syntax_inits = 1
    command -nargs=+ HiLink hi link <args>
  else
    command -nargs=+ HiLink hi def link <args>
  endif
  HiLink cobolBAD Error
  HiLink cobolBadID Error
  HiLink cobolBadLine Error
  HiLink cobolMarker Comment
  HiLink cobolCALLs Function
  HiLink cobolComment Comment
  HiLink cobolKeys Comment
  HiLink cobolCompiler PreProc
  HiLink cobolEXECs PreProc
  HiLink cobolCondFlow Special
  HiLink cobolCopy PreProc
  HiLink cobolDecl Type
  HiLink cobolTypes Type
  HiLink cobolExtras Special
  HiLink cobolGoTo Special
  HiLink cobolConstant Constant
  HiLink cobolNumber Constant
  HiLink cobolPic Constant
  HiLink cobolReserved Statement
  HiLink cobolString Constant
  HiLink cobolTodo Todo
  HiLink cobolWatch Special
  delcommand HiLink
endif

let b:current_syntax = "cobol"

" vim: ts=6 nowrap

Cheers,
Brian
P.S. Note; I've made no attempt at supporting anything other than OpenCOBOL or vims other than 7.1, so please make sure you archive your existing syntax file for a quick recovery before trying this.
aoirthoir
Posted on: 2008/8/19 20:36
Home away from home
Joined: 2007/4/16
From: Cleveland Ohio
Posts: 321
Re: Open Cobol IDE?
Brian, Human,

I think yall have provided me a better perspective than I had. While I am looking for something to meet my needs, I do not want to leave out others. First I do want to thank Brian for the instructions on Vi. It's not as bad as I thought and now I at least have Code Highlighting.

Now we have several considerations. I would like as much feedback as I can get.

First, we do need an IDE for those folks that want one. it is VERY convenient to do everything from one program. So I am going to list some ideas for requirements.

1. New OC users should be able to get the ground running, even if they have no Cobol or programming experience.

2. Syntax Highlighting.

3. Code Folding.

4. Code Completion.
4a. Variable/Procedure/Paragraph completion.
(recognizes existing constructs and presents them to the user).

5. Code Hinting.

6. Linking to OC documentation.

7. Code Snippets/Samples.

8. Compile, Link, Make?, Run right from in the IDE.
(Currently I do everything as cobc -x so I'm not really sure how the whole MAKE thing really works in OC, or GNU/Linux at all.)

9. Project Management. (Directories, named, so all files pertinent to a project can be accessed)

10. Run Debugger from the IDE?

For me the most important of these is Syntax Highlighting. Now that I've got Vim going, I have that so I'm happy. Other users are going to want more.

I have no issue working with Eclipse or another IDE, or if we created our own (much longer time frame.) Geany looks good, but it seems you cannot just add files? to do code highlighting. It seemed a bit more complex that it should have, but I might be missing something.

Above all the most important in any of these is that the IDE or Editor should be SIMPLE to use. Nothing complicated to set up. We want to drive OC towards that as well. This is much easier in a .deb environment. One of us can simply make packages. But not all distros are going to be as easy.

Also, I think that we should unify and settle on a common IDE. Whichever one we choose, we need it to kind of be the official OC IDE. While at the same time, offering files for other IDEs. So let's say Eclipse became our IDE of choice, that's fine. Then we can still have persons work on code highlighters for other IDEs and editors out there.

The advantage to this two pronged approach is that we allow advanced developers to slide right into OC without having to learn a new environment. While those that do not have a specific IDE, or experience with one, and new programmers, will likewise be able to slide into using OC with a very simple IDE. This will help uptake at both ends of the spectrum for OC.
aoirthoir
Posted on: 2008/8/19 21:29
Home away from home
Joined: 2007/4/16
From: Cleveland Ohio
Posts: 321
Re: Open Cobol IDE?
I should add that a useful feature would be to print the code in color based on the syntax highlighting. Can Vim do that Brian?
btiffin
Posted on: 2008/8/19 23:23
Home away from home
Joined: 2008/6/7
From: CANADA
Posts: 1196
Re: Open Cobol IDE?
I'm going to take a look at PIDA. (The PIDA Loves You motto kinda took me aback a little, but that feeling will dissolve, I'm sure). I like Python utility kits, and PyGTK is something I wanted to study before attempting the GTK+ wrappers.

Again, I'll help out if possible with building up an IDE but I'm unlikely to use an IDE to do it. GNU/Linux is THEE IDE. :)

For Eclipse, I'd start at http://www.eclipse.org/cobol/ and see how that project fares. It would mean Java development, and there might be some politics (but I doubt it).

From the CLI front, I think it might be best to simply document up some "best tools" from the Cygwin/GNU/Linux side. The FAQ already mentions Exuberant ctags and vi / emacs handle these beautifully. I haven't found a suitable cxref utility yet, and need to check out ROBODoc's COBOL support

vi handles Folding, but I rarely use the feature. We could build some vi macros (abbreviations) to emulate code completion, but that could be a headache finding the abbreviations and isn't quite as intuitive as hitting tab.

We need to educate someone up to a level regarding configure and make, so we can build up some COBOL project Makefile templates too I think.

I'll try and add some notes to the FAQ, and then publish the snippets here.

Cheers,
Brian
btiffin
Posted on: 2008/8/19 23:51
Home away from home
Joined: 2008/6/7
From: CANADA
Posts: 1196
Re: Open Cobol IDE?
Re printing;

Yep, the :hardcopy command. Or with gvim, the File/Print menu. Windows users get a print dialog, otherwise a postscript is generated and the 'printexpr' is used, usually lpr.

Cheers,
Brian
Sorry about this thread's width by the way. I didn't want to breakup that one long line in the syntax file.
(1) 2 3 4 ... 6 »
| Newest First Previous Topic | Next Topic | Top

Register To Post
 
Copyright (C) 2005 The OpenCOBOL Project. All rights reserved.
Powered by Xoops2 | PHP | MySQL | Apache
ocean-net