I've tried to collect the COBOL related points I found at this one new topic. If something is solved in later versions, this will be marked as solved here, too.
Please let us know which points are likely to change or stay the same. Thank you! 01. In line comments (special COBOL dialect, for example HP): I found only the pipe working as in line comment for COBOL (fixed format). Although this is vendor specific, the pipe is not uses elsewhere in COBOL syntax and therefore can be used as in line comment indicator. (viz http://img19.picoodle.com/img/img19/3/2/26/f_improvementm_5e0476b.jpg ) 02. All entries appear in the code explorer, even if they are commented out. Could you filter the divisions/sections that are only comments (This works for other languages, for example C/C++)? 03. A lot of COBOL words have their ending pairs (if end-if; evaluate end-evaluate; display end-display; ...) it seems only if end end-if are marked as belonging together (if the cursor stays on one part, it is highlighted, together with the other part). Can you change this? 04. Is it possible to highlight not only the -end part but also the "else" (if) and the "when" (evaluate)? 05. These two files types are often used as a COBOL copy (same like a #include in C++), maybe you want to add them to the "standard file extensions" for Cobol scheme: copy cpy (I've done this manually). 06. What should the Context/COBOL.DEF do? It seems to be broken to me. 07. Preprocessors: There are a lot of preprocessors for different things in COBOL available. One of the most things are SQL-Preprocessors, but the syntax between them differ a lot. There are other preprocessors for company specific things. These could not and should not be implemented into the standard COBOL syntax scheme but it would be useful if one could manually add them. I think of something like a multi level syntax scheme: Use the COBOL one shipped with PSPad, define another one for the preprocessor(s) in use and enable them both at one time. Is this possible with recent PSPad in some way or could this be implemented? 08. There are some reserved words missing in syntax highlighting, please add them (see point 09 for the list) 09. The syntax highlighting doesn't distinguish between the different standards and manufacturer specific extensions. If it's possible at least the manufacturer specific should have another colour. I made three lists of reserved words: a) reserved85 - These can be used for almost every manufacturer: - * ** / + < <= = > >= ACCEPT ACCESS ADD ADVANCING AFTER ALL ALPHABET ALPHABETIC ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALSO ALTER ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY BLANK BLOCK BOTTOM BY CALL CANCEL CD CF CH CHARACTER CHARACTERS CLASS CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON COMMUNICATION COMP COMPUTATIONAL COMPUTE CONFIGURATION CONTAINS CONTENT CONTINUE CONTROL CONTROLS CONVERTING COPY CORR CORRESPONDING COUNT CURRENCY DATA DATE DATE-COMPILED DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUGGING DEBUG-ITEM DEBUG-LINE DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DECIMAL-POINT DECLARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI ENABLE END END-ADD END-CALL END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF END-MULTIPLY END-OF-PAGE END-PERFORM END-READ END-RECEIVE END-RETURN END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING END-WRITE ENTER ENVIRONMENT EOP EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT EXTEND EXTERNAL FALSE FD FILE FILE-CONTROL FILLER FINAL FIRST FOOTING FOR FROM GENERATE GIVING GLOBAL GO GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES IDENTIFICATION IF IN INDEX INDEXED INDICATE INITIAL INITIALIZE INITIATE INPUT INPUT-OUTPUT INSPECT INSTALLATION INTO INVALID I-O I-O-CONTROL IS JUST JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LESS LIMIT LIMITS LINAGE LINAGE-COUNTER LINE LINE-COUNTER LINES LINKAGE LOCK LOW-VALUE LOW-VALUES MEMORY MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT NUMBER NUMERIC NUMERIC-EDITED OBJECT-COMPUTER OCCURS OF OFF OMITTED ON OPEN OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE PRINTING PROCEDURE PROCEDURES PROCEED PROGRAM PROGRAM-ID PURGE QUEUE QUOTE QUOTES RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES RELATIVE RELEASE REMAINDER REMOVAL RENAMES REPLACE REPLACING REPORT REPORTING REPORTS RERUN RESERVE RESET RETURN REVERSED REWIND REWRITE RF RH RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMIT SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT SORT-MERGE SOURCE SOURCE-COMPUTER SPACE SPACES SPECIAL-NAMES STANDARD STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2 SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TO TOP TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES VARYING WHEN WITH WORDS WORKING-STORAGE WRITE ZERO ZEROES ZEROS b) reserved85to2008 - All words in the newer standards that didn't occur in the 85er standard (2008 standard is still a draft and may change), many of them can be used with newer COBOL version, for example the free compiler OpenCOBOL that can be found at http://www.opencobol.org & *> :: <> >> ACTIVE-CLASS ADDRESS ALIGNED ALLOCATE ANYCASE AS B-AND BASED BINARY-CHAR BINARY-DOUBLE BINARY-LONG BINARY-SHORT BIT B-NOT BOOLEAN B-OR B-XOR CLASS-ID COL COLS COLUMNS COMP-1 COMP-2 COMP-3 COMP-4 COMP-X CONDITION CONSTANT CRT CURSOR DATA-POINTER DEFAULT EC END-ACCEPT END-DISPLAY EO EXCEPTION-OBJECT FACTORY FLOAT-BINARY-7 FLOAT-BINARY-16 FLOAT-BINARY-34 FLOAT-DECIMAL-16 FLOAT-DECIMAL-34 FLOAT-EXTENDED FLOAT-LONG FLOAT-SHORT FORMAT FREE FUNCTION FUNCTION-ID FUNCTION-POINTER GET GOBACK GROUP-USAGE INFINITY INHERITS INTERFACE INTERFACE-ID INVOKE LOCALE LOCAL-STORAGE METHOD METHOD-ID MINUS NATIONAL NATIONAL-EDITED NESTED NULL OBJECT OBJECT-REFERENCE OPTIONS OVERRIDE PRESENT PROGRAM-POINTER PROPERTY PROTOTYPE RAISE RAISING REPOSITORY REPRESENTS-NOT-A-NUMBER RESUME RETRY RETURNING SCREEN SELFs SHARING SOURCES SUPER SYSTEM-DEFAULT TYPEDEF UNIVERSAL UNLOCK USER-DEFAULT VALID VALIDATE VALIDATE-STATUS VAL-STATUS c) acu - All words that are not in 85 or newer standards that are specific to and mainly working only with ACUCOBOL. (A lot of these are included in the syntax list [version of 2346]): ACTION ACTION-COPY ACTION-CUT ACTION-DELETE ACTION-PASTE ACTION-UNDO ALIGNMENT APPLY ASSEMBLY-NAME AUTO-DECIMAL AUTO-MINIMIZE AUTO-RESIZE AUTO-SKIP AUTOTERMINATE AX-EVENT-LIST BACKGROUND-COLOUR BACKGROUND-HIGH BACKGROUND-LOW BACKGROUND-STANDARD BACKWARD BEEP BIND BITMAP BITMAP-HANDLE BITMAP-NUMBER BLINKING BOLD BOX BOXED BULK-ADDITION CCOL CELL CELLS CENTERED CENTURY-DATE CENTURY-DAY CHAIN CHAINING CHART CHECK-BOX CLASS-NAME CLINE CLINES COLOR COLOUR COMMAND-LINE COMMIT COMP-5 COMP-6 COMP-N COMPRESSION COMPUTATIONAL-1 COMPUTATIONAL-2 COMPUTATIONAL-3 COMPUTATIONAL-4 COMPUTATIONAL-5 COMPUTATIONAL-6 COMPUTATIONAL-N COMPUTATIONAL-X CONSOLE CONSTRUCTOR CONTROLS-UNCROPPED CONVERSION CONVERT CREATE CSIZE CULTURE CURSOR-COL CURSOR-ROW DATA-COLUMNS DESCRIPTOR DESTROY DISPLAY-COLUMNS DIVIDERS DOUBLE DRAW ECHO EMPTY-CHECK ENABLED ENCRYPTION END-CHAIN ENDING END-MODIFY END-MOVE END-USE END-WAIT ENGRAVED ENTRY ENTRY-FIELD ESCAPE EVENT EVENT-LIST EXCEPTION-VALUE EXCLUDE-EVENT-LIST EXCLUSIVE EXTENDED-SEARCH EXTERNAL-FORM FILE-ID FILE-LIMIT FILE-LIMITS FILE-PATH FILE-PREFIX FLAT FLOAT FLOATING FONT FOREGROUND-COLOUR FRAME FRAMED FULL-HEIGHT GRAPHICAL GRID GROUP-VALUE HANDLE HEAVY HEIGHT HELP-ID HIGH ICON ID IDENTIFIED INDEPENDENT INQUIRE INSERTION-INDEX ITEM-TO-ADD ITEM-TO-DELETE ITEM-VALUE KEPT LAYOUT-DATA LAYOUT-MANAGER LEFTLINE LEFT-TEXT LENGTH-CHECK LINK LIST-BOX LOCK-HOLDING LOW LOWERED MASS-UPDATE MAX-LINES MAX-SIZE MAX-TEXT MAX-VAL MENU MESSAGE MESSAGES MIN-LINES MIN-SIZE MIN-VAL MODAL MODELESS MODIFY MODULE MULTILINE NAMESPACE NO-AUTOSEL NO-CLOSE NO-ECHO NO-GROUP-TAB NO-KEY-LETTER NOTIFY NOTIFY-DBLCLICK NOTIFY-SELCHANGE NULLS NUMERIC-FILL OTHERS OVERLAPPED OVERLINE PAGED PIXEL PIXELS POP-UP POS PRINT-CONTROL PRIORITY PROMPT PROTECTED PUSH-BUTTON QUERY-INDEX RADIO-BUTTON RAISED READERS RECORDING RECORD-POSITION REMARKS RESET-LIST RESIDENT RESIZABLE REVERSE RIMMED SCROLL SEARCH-TEXT SEEK SELECTION-INDEX SELECTION-TEXT SELF-ACT SEPARATION SHADOW SIGNED-INT SIGNED-LONG SIGNED-SHORT SORT-ORDER SQUARE STRONG-NAME STYLE STYLES SUBWINDOW SYSERR SYSTEM SYSTEM-INFO TAB TALLY TERMINAL-INFO TERMINATION-VALUE THREAD THREADS TITLE TITLE-BAR TOOL-BAR TRANSACTION TRANSACTION-STATUS TRANSPARENT UNDERLINED UNFRAMED UNSIGNED-INT UNSIGNED-LONG UNSIGNED-SHORT UNSORTED UPDATE UPDATERS UPPER USER-COLORS USE-RETURN USER-GRAY USER-WHITE VERSION VERY-HEAVY VISIBLE VSCROLL-BAR VTOP WAIT WIDE WIDTH WINDOW WRAP WRITERS ZERO-FILL Keep the good work, human -- <http://forum.pspad.com/read.php?6,49762,49762> PSPad freeware editor http://www.pspad.com
