newbie question on cobol syntax - Programming Languages

This is a discussion on newbie question on cobol syntax - Programming Languages ; Hello: I noticed two styles of cobol syntax: main. display "hello" display "goodbye" stop run...

+ Reply to Thread
Page 1 of 27 1 2 3 11 ... LastLast
Results 1 to 10 of 267

newbie question on cobol syntax

  1. Default newbie question on cobol syntax

    Hello:

    I noticed two styles of cobol syntax:

    main.
    display "hello"
    display "goodbye"
    stop run

  2. Default Re: newbie question on cobol syntax

    In article <1177272149.938765.13260@o5g2000hsb.googlegroups.com>,
    Mayer <mayer.goldberg> wrote:[color=blue]
    >Hello:[/color]

    [snip]
    [color=blue]
    >Can someone please explain to me the function of the period in cobol,
    >what is the basis for the difference in syntax, and what is
    >recommended.[/color]

    To work backwards... what is recommended is starting with the style of
    code on your job-site (or learning what your instructor instructs you to
    do), there is no 'the basis' but, quite possibly, a few different bases
    and the function of the period is what, for the most part, what The Manual
    says it to be.

    (Even the term used to define this particular bit of punctuation varies
    from one group to the next; some adherents to a primitive language which
    serves as a basis for a bit of what Americans speak will insist on using
    two words ('full stop') to describe it, rather than the one ('period')
    which can be found in citations as early as the seventeenth century...
    their reasons for doing this are still unknown but they are, at times,
    *most* insistent.)

    DD


  3. Default Re: newbie question on cobol syntax

    Mayer wrote:[color=blue]
    > Hello:
    >
    > I noticed two styles of cobol syntax:
    >
    > main.
    > display "hello"
    > display "goodbye"
    > stop run
    > .
    >
    > vs.
    >
    > main.
    > display "hello".
    > display "goodbye".
    > stop run.
    >
    > Some books use the first, others the second. I have no idea what's the
    > difference between them, but I note the following:
    >
    > - MF Cobol/DOS allows both
    >
    > - RM Cobol/DOS allows only the second, i.e., requires a period at the
    > end of each statement.
    >
    > Can someone please explain to me the function of the period in cobol,
    > what is the basis for the difference in syntax, and what is
    > recommended.
    >
    > Thanks,
    >
    > Mayer
    >[/color]
    Well first off - if you can, avoid using both compilers - you will get
    yourself in one hell of a mess :-)

    Are you sure about RM/COBOL being adamant about periods/full-stops, or
    is it perhaps what you interpreted ? The following extract from a very
    old RM compiler, Version 2 and no longer supported :-

    --------------------------------------------------------------------------

    B040-ENTER-ID.

    ACCEPT WS-SCREEN-PROGRAM, POSITION 40, LINE 15,
    PROMPT "-", ECHO, CONVERT, REVERSE, NO BEEP
    ACCEPT WS-SCREEN-PAGE, POSITION 43, LINE 15,
    PROMPT "-", ECHO, CONVERT, REVERSE, NO BEEP

    IF WS-SCREEN-PROGRAM = ZEROES
    MOVE "Are you sure - Program Zero ? y/n"
    TO WS-INSTRUCTION-TEXT
    MOVE SPACES TO WS-INSTRUCTION-EXIT
    PERFORM Z040-INSTRUCTION-LINE
    PERFORM Z025-ANSWER

    IF WS-ANSWER = "N"
    GO TO B040-ENTER-ID.

    IF WS-SCREEN-PAGE = ZEROES
    MOVE "Screen ID can't be zeroes"
    TO WS-ERROR-MESSAGE-TEXT
    PERFORM Z050-ERROR-MESSAGE
    GO TO B040-ENTER-ID.

    IF WS-SELECTION NOT = 2
    MOVE ZEROES TO WS-LINE-ID

    ELSE PERFORM B050-LINE-ID.

    B050-LINE-ID.

    ACCEPT WS-LINE-ID, POSITION 45, LINE 15,
    PROMPT "-", ECHO, CONVERT, REVERSE, NO BEEP

    IF WS-LINE-ID = ZEROES
    MOVE "Line ID can't be zeroes"
    TO WS-ERROR-MESSAGE-TEXT
    PERFORM Z050-ERROR-MESSAGE
    GO TO B050-LINE-ID.

    C010-RECORD.

    IF WS-SELECTION = 1
    MOVE 3 TO WS-NUMBER-OF-QUESTION
    PERFORM C020-DISPLAY-SCREEN
    PERFORM C030-READ-RECORD

    ELSE MOVE 4 TO WS-NUMBER-OF-QUESTION
    PERFORM D020-DISPLAY-SCREEN
    PERFORM C030-READ-RECORD.

    IF WS-RECORD-EXISTS = "Y"

    IF WS-SELECTION = 1
    PERFORM C040-DISPLAY-VALUES

    ELSE PERFORM D040-DISPLAY-VALUES.

    IF WS-RECORD-EXISTS = "N"
    MOVE
    "No record - do you want to input ? y/n"
    TO WS-INSTRUCTION-TEXT
    MOVE SPACES TO WS-INSTRUCTION-EXIT
    PERFORM Z040-INSTRUCTION-LINE
    PERFORM Z025-ANSWER

    IF WS-ANSWER = "Y"
    PERFORM C060-ENTER-NEW-DATA

    ELSE GO TO C010-EXIT.

    PERFORM C070-LINE-NUMBER THROUGH C070-EXIT.

    000000 C010-EXIT.
    EXIT.
    ---------------------------------------------------------------------------------------

    If you look at the above code your compiler should certainly hiccup if
    you leave out the very last period/full-stop before the next paragraph
    name. If you have perform PARAGRAPH-NAME-A and the para-name isn't
    preceded by a period, you should get an error like "Invalid Paragraph Name".

    I tried searching the latest version of Net Express for "period", "full
    stop" - no luck. Familiarize yourself with END SCOPE Terminators - which
    weren't around when I wrote the above code.

    In written English we finalize our thoughts by putting a period at the
    end of a sentence. We group a series of like sentences into a paragraph
    and terminate that with a CR/LF(Carriage-Return, Line Feed), have a
    blank line and start a new paragraph on the next line.

    Translate that to COBOL - using Scope Terminators, mainly you only need
    a period preceding the next 'heading' Section, Paragraph-Name etc.

    Let's take the very last sequence above and show how it could be edited
    to operate with scope terminators "-

    IF (#1) WS-RECORD-EXISTS = "N"
    MOVE
    "No record - do you want to input ? y/n"
    TO WS-INSTRUCTION-TEXT
    MOVE SPACES TO WS-INSTRUCTION-EXIT
    PERFORM Z040-INSTRUCTION-LINE
    PERFORM Z025-ANSWER

    IF (#2) WS-ANSWER = "Y"
    PERFORM C060-ENTER-NEW-DATA

    ELSE (#2) GO TO C010-EXIT
    ----> don't need the period here replaced by following end-if

    ----> END-IF (#2)

    ----> END-IF (#1)

    PERFORM C070-LINE-NUMBER THROUGH C070-EXIT.

    ----> If I didn't have the line 'PERFORM C070-LINE...." nor the
    two lines for C010-EXIT, then a period would be required after the final
    'END-IF', denoting the end of the current paragraph.


    000000 C010-EXIT.
    EXIT.

    Note the two 'IF' s are paired off with an END-IF and we don't need any
    intervening periods. (Scope Terminators are the equivalent of something
    being finished with a period).

    Not a very expansive explanation but if you are saying that RM/COBOL is
    rejecting the following, then it might be useful to post the full source
    that you are getting errors for, plus the error messasges in the
    following :-
    [color=blue]
    > main.
    > display "hello"
    > display "goodbye"
    > stop run
    > .[/color]

    Just a thought, it's so long ago. Doesn't 'old' RM require something like :-

    MAIN-SECTION.
    FIRST-PARAGRAPH. ?????????

    display "hello"
    display "goodbye"
    stop run
    ..

    And 'Yes' you DEFINITELY need that period after STOP RUN :-)

    Jimmy

  4. Default Re: newbie question on cobol syntax

    James J. Gavan wrote:[color=blue]
    > Mayer wrote:
    > <snip>[/color]
    [color=blue]
    > Not a very expansive explanation but if you are saying that RM/COBOL is
    > rejecting the following, then it might be useful to post the full source
    > that you are getting errors for, plus the error messasges in the
    > following :-
    >[color=green]
    >> main.
    >> display "hello"
    >> display "goodbye"
    >> stop run
    >> .[/color]
    >
    >
    > Just a thought, it's so long ago. Doesn't 'old' RM require something
    > like :-
    >
    > MAIN-SECTION.
    > FIRST-PARAGRAPH. ?????????
    >
    > display "hello"
    > display "goodbye"
    > stop run
    > .
    >[/color]
    Mayer,

    Pretty dumb of me - I should have checked the beginning of the program I
    extracted from :-

    -----------------------------------------------------------------------
    000340 COPY "\USR\CS\TEXT2\CSWSCOMM.CBL".

    000670 PROCEDURE DIVISION
    000680
    000340 COPY "\USR\CS\TEXT2\CSERROR.CBL".
    000710
    000720 A010-MAIN-LINE SECTION.
    000730 A010-BEGIN.
    000740
    IF WS-LABEL-CHECK NOT = "QQ"
    STOP RUN

    ELSE MOVE WS-PROGRAM-TITLE TO WS-SCREEN-TITLE
    PERFORM X010-OPEN-FILES.

    A010-NEXT.
    ----------------------------------------------------------------------

    I think your problem with RM/COBOL will be resolved if you have :-

    PROCEDURE DIVISION.
    A010-MAIN-LINE SECTION.
    A010-BEGIN (or MAIN-PARAGRAPH if you like).

    Micro Focus compilers allow you to take 'shortcuts'.

    Jimmy

  5. Default Re: newbie question on cobol syntax

    [email]docdwarf@panix.com[/email] wrote:[color=blue]
    > In article <1177272149.938765.13260@o5g2000hsb.googlegroups.com>,
    > Mayer <mayer.goldberg> wrote:
    >[color=green]
    >>Hello:[/color]
    >
    >
    > [snip]
    >
    >[color=green]
    >>Can someone please explain to me the function of the period in cobol,
    >>what is the basis for the difference in syntax, and what is
    >>recommended.[/color]
    >
    >
    > To work backwards... what is recommended is starting with the style of
    > code on your job-site (or learning what your instructor instructs you to
    > do), there is no 'the basis' but, quite possibly, a few different bases
    > and the function of the period is what, for the most part, what The Manual
    > says it to be.
    >
    > (Even the term used to define this particular bit of punctuation varies
    > from one group to the next; some adherents to a primitive language which
    > serves as a basis for a bit of what Americans speak will insist on using
    > two words ('full stop') to describe it, rather than the one ('period')
    > which can be found in citations as early as the seventeenth century...
    > their reasons for doing this are still unknown but they are, at times,
    > *most* insistent.)
    >
    > DD
    >[/color]
    Very insistent, us folks from the 'Mother country'. Not sure of origins,
    but in days of telegrams :-

    'WILL BE LEAVING BY FLIGHT AC 124. STOP. PLANE ARRIVES CALGARY 13.05
    LOCAL TIME. STOP'.

    Same sort of thing using teleprinters in military to send signals :-

    'FROM C-IN-C MEAF TO AOC-IN-C IRAQ. STOP. FOR UK EYES ONLY. STOP. YOUR
    A12345 12 SEPTEMBER 1954. STOP. GOD HELP US WHEN THE YANKS TAKE OVER. STOP.'

    For your edification, something else which amuses North Americans, "If
    you like I'll knock you up". NOT to be translated as, "If you like I'll
    leave a bun in your oven".

    Saw the latter's origins on TV. Back in yon days of the Industrial
    Revolution and the 'dark Satanic Mills', when the poor sods,
    disenfranchised from their farms worked in the grimy mills starting work
    at 05:00 or 06:00 so the mill owner could save on lighting. It takes
    me all my effort to be awake by 08:00, so they had a similar problem
    with their times too.

    For about a penny per week/month each household would pay somebody to
    knock them up. This man went down the rows of dingy terraced houses with
    a long stick and tapped(knocked) at the window immediately above the
    front door.

    Another interesting one from TV. Do you know the origins of 'freelance' ?

    BTW - Afterthought. You refer to hiring agencies as those 'pimps' Don't
    disagree with your conclusion/description. However, if a pimp is trying
    to gain you useful paid employment does that make you an whore (or in
    line with Imus an 'ho') ?

    Jimmy

  6. Default Re: newbie question on cobol syntax

    I am surprised by your statement that RM had a problem with the first example -
    but it may depend upon the context of the entire COBOL program. (What message
    does it give you?)

    As far as the Procedure Division goes (different rules for other divisions).
    There are requirements that:

    A) every procedure-name (header) - paragraph or section name MUST be terminated
    by a period (full-stop).

    B) There must be a period (full-stop) at the end of each set of procedure
    division statements that constitute a procedure, i.e. each paragraph or section
    (terminated by another paragraph or section name - or by the end of source
    code - or End Program header).

    There is a SEMANTIC difference for periods. They end SENTENCES. This is where
    a NEXT SENTENCE phrase (or statement - if your compiler has such a statement as
    an extension - as Micro Focus does) will "go to". For example.

    If Field-1 = A
    Next Sentence
    Else
    Display "Here"

  7. Default Re: newbie question on cobol syntax

    In article <JrSWh.116487$aG1.66743@pd7urf3no>,
    James J. Gavan <jgavandeletethis@shaw.ca> wrote:[color=blue]
    >docdwarf@panix.com wrote:[color=green]
    >> In article <1177272149.938765.13260@o5g2000hsb.googlegroups.com>,
    >> Mayer <mayer.goldberg> wrote:
    >>[color=darkred]
    >>>Hello:[/color]
    >>
    >> [snip]
    >>[color=darkred]
    >>>Can someone please explain to me the function of the period in cobol,
    >>>what is the basis for the difference in syntax, and what is
    >>>recommended.[/color][/color][/color]

    [snip]
    [color=blue][color=green]
    >> (Even the term used to define this particular bit of punctuation varies
    >> from one group to the next; some adherents to a primitive language which
    >> serves as a basis for a bit of what Americans speak will insist on using
    >> two words ('full stop') to describe it, rather than the one ('period')
    >> which can be found in citations as early as the seventeenth century...
    >> their reasons for doing this are still unknown but they are, at times,
    >> *most* insistent.)
    >>[/color]
    >Very insistent, us folks from the 'Mother country'.[/color]

    Yes, quite insistent... and the reasons, as noted above, are still
    unknown. Time passes, terminologies change - not much talk of women
    having 'the vapors', is there? - and yet this particular bit still rolls
    on.
    [color=blue]
    >Not sure of origins,
    >but in days of telegrams :-
    >
    >'WILL BE LEAVING BY FLIGHT AC 124. STOP. PLANE ARRIVES CALGARY 13.05
    >LOCAL TIME. STOP'.[/color]

    See above and the OED, Mr Gavan... the use Americans make is first cited
    in 1609, not too many telegrams back then.

    (note to Mr Goldberg - this was pointed out to this newsgroup a half-dozen
    years ago, see
    <http://groups.google.com/group/comp.lang.cobol/msg/f5a18356c2cad15b?dmode=source>
    [color=blue]
    >
    >Same sort of thing using teleprinters in military to send signals :-
    >
    >'FROM C-IN-C MEAF TO AOC-IN-C IRAQ. STOP. FOR UK EYES ONLY. STOP. YOUR
    >A12345 12 SEPTEMBER 1954. STOP. GOD HELP US WHEN THE YANKS TAKE OVER. STOP.'[/color]

    See above, Mr Gavan... teleprinters postdate telegrams (shouldn't that be
    'telegrammes'?) and both postdate Davies' used in the early seventeenth
    century by a goodly time.

    [snip]
    [color=blue]
    >Another interesting one from TV. Do you know the origins of 'freelance' ?[/color]

    Off the top of my head I'd say it might be related to samurai traditions.
    [color=blue]
    >
    >BTW - Afterthought. You refer to hiring agencies as those 'pimps' Don't
    >disagree with your conclusion/description. However, if a pimp is trying
    >to gain you useful paid employment does that make you an whore (or in
    >line with Imus an 'ho') ?[/color]

    No more than one is trying to change one's hat-size by visiting a
    'headshrinker' or expecting an amputation from one's annual visit to the
    'sawbones', Mr Gavan.

    DD


  8. Default Re: newbie question on cobol syntax

    On Sun, 22 Apr 2007 23:52:11 GMT, "William M. Klein"
    <wmklein@nospam.netcom.com> wrote:
    [color=blue]
    > There is a SEMANTIC difference for periods. They end SENTENCES. This is where
    >a NEXT SENTENCE phrase (or statement - if your compiler has such a statement as
    >an extension - as Micro Focus does) will "go to". For example.
    >
    > If Field-1 = A
    > Next Sentence
    > Else
    > Display "Here"
    > .
    > Display "There"
    > .
    >
    >Gets very different results from
    >
    > If Field-1 = A
    > Next Sentence
    > Else
    > Display "Here"
    > Display "There"
    > .[/color]

    Some compilers will allow

    If Field-1 = A
    Next Sentence
    Else
    Display "Here"
    End-IF

    Display "There".

    In which case "Next Sentence" still goes to the next sentence. I
    see no advantage in ever using NEXT SENTENCE now that CONTINUE is
    available.

    Some pre-compilers create implicit IF statements without creating
    END-IF statements. In these special cases, a style of including
    full-stop periods can be beneficial. But in other cases, the
    Righteous arguments for one style over another are more of a religious
    nature.

    And it is easy to see what Righteous people inflict on the world.

  9. Default Re: newbie question on cobol syntax

    On 23 Apr, 10:30, docdw...@panix.com () wrote:[color=blue]
    > In article <JrSWh.116487$aG1.66743@pd7urf3no>,
    > James J. Gavan <jgavandeletet...@shaw.ca> wrote:
    >[color=green]
    > >Another interesting one from TV. Do you know the origins of 'freelance' ?[/color]
    >
    > Off the top of my head I'd say it might be related to samurai traditions.
    >[/color]

    I'll be brief as I'm suffering another migraine. From Wikipedia:

    "A freelancer or freelance worker is a person who pursues a profession
    without a long-term commitment to any one employer. The term was first
    coined by Sir Walter Scott (1771-1832) in his well-known historical
    romance Ivanhoe to describe a "medieval mercenary warrior." "

    also:

    "However, many Asian countries appear to follow Hormung by holding low
    regard for freelancers, often associating the practice with personal
    failure (an inability to find work with a major employer) and even
    criminality (see: Ninja)."




  10. Default Re: newbie question on cobol syntax

    In article <1177340839.047930.275980@o5g2000hsb.googlegroups.com>,
    Alistair <alistair@ld50macca.demon.co.uk> wrote:[color=blue]
    >On 23 Apr, 10:30, docdw...@panix.com () wrote:[color=green]
    >> In article <JrSWh.116487$aG1.66743@pd7urf3no>,
    >> James J. Gavan <jgavandeletet...@shaw.ca> wrote:
    >>[color=darkred]
    >> >Another interesting one from TV. Do you know the origins of 'freelance' ?[/color]
    >>
    >> Off the top of my head I'd say it might be related to samurai traditions.
    >>[/color]
    >
    >I'll be brief as I'm suffering another migraine. From Wikipedia:
    >
    >"A freelancer or freelance worker is a person who pursues a profession
    >without a long-term commitment to any one employer.[/color]

    Compare and contrast with the 'masterless samurai', or ronin... and please
    pardon my obscurity.

    L Silberstein, A'83

+ Reply to Thread
Page 1 of 27 1 2 3 11 ... LastLast

Similar Threads

  1. Newbie Mootools Syntax Question
    By Application Development in forum Javascript
    Replies: 2
    Last Post: 11-08-2007, 09:57 AM
  2. newbie: self.member syntax seems /really/ annoying
    By Application Development in forum Python
    Replies: 49
    Last Post: 09-18-2007, 06:15 PM
  3. Newbie:Installed Eclipse, downloaded UML2 and COBOL IDE
    By Application Development in forum Java
    Replies: 1
    Last Post: 07-06-2006, 04:47 PM
  4. NEWBIE:unexplained syntax error
    By Application Development in forum Perl
    Replies: 2
    Last Post: 09-10-2004, 09:54 AM