I am having compiler problems with MS FORTRAN 3.31 
Author Message
 I am having compiler problems with MS FORTRAN 3.31

Here is my code that is conflicting...

(begin code)

        program TTS

        open (unit=11, file='tts.pho', status='unknown')
        integer I, V, V2, V3, V4, X, Z
        character chara, charb*2, charc*3, chard*4,
        character input*80, pho*5, space

        print*
        print*
        print*, ' __________________________________________________ '
        print*, '| This program will not:                           |'
        print*, '|   1. recognize silent letters                    |'
        print*, '|   2. recognize state abbreviations               |'
        print*, '|   3. recognize long and short vowels             |'
        print*, '|                                                  |'
        print*, '|                                                  |'
        print*, '| Special Exceptions:                              |'
        print*, '|   1.In order to use the abbreviation             |'
        print*, '|     for "Drive",you must use "Drv."              |'
        print*, '|     instead of "Dr."                             |'
        print*, ' -------------------------------------------------- '
        print*
        print*, 'Please enter the sentence to be spoken:'
        read(input)

        space=' '
        input=space//input//space
        Z=0    
        pho=' '
        do 100 I=1, LEN(input)
                V=I+Z
                V2=I+Z+2
                V4=I+Z+4
                V3=I+Z+3
                char1=input(V:V)
                char2=input(V:V2)
                char3=input(V:V3)
                char4=input(V:V4)
                X=0
                call except(Z, X, char1, char2, char3, char4)
                call subtwo(Z, X, char2)
                call subone(Z, X, char1)
                if (X.EQ.1) then
                        goto 105
                        endif
                if (X.EQ.0) then
                print*, 'There has been an error with your sentence'
                endif
100     continue
105     end

*       ---------------------------
*       ---------------------------

        subroutine except(Z, X)

        if (char4.EQ.'ough') then
                pho='3: 90'
                call phomaker(pho)
                pho='f 90 '
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char4.EQ.'augh') then
                pho='{ 90 '
                call phomaker(pho)
                pho='f 90 '
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char4.EQ.'eigh') then
                pho='eI 90'
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char4.EQ.'mrs.') then
                pho='m 90 '
                call phomaker(pho)
                pho='I 90 '
                call phomaker(pho)
                pho='s 90 '
                call phomaker(pho)
                pho='I 90 '
                call phomaker(pho)
                pho='s 90 '
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char4.EQ.'drv.') then
                pho='d 90 '
                call phomaker(pho)
                pho='r 90 '
                call phomaker(pho)
                pho='aI 90'
                call phomaker(pho)
                pho='v 90 '
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char4.EQ.'ave.') then
                pho='a 90 '
                call phomaker(pho)
                pho='v 90 '
                call phomaker(pho)
                pho='e 90 '
                call phomaker(pho)
                pho='n 90 '
                call phomaker(pho)
                pho='u: 90'
                call phomaker(pho)
                Z=Z+3
                X=1
        else if (char3.EQ.'dr.') then
                pho='d 90 '
                call phomaker(pho)
                pho='Q 90 '
                call phomaker(pho)
                pho='c 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                pho='r 90 '
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char3.EQ.'ms.') then
                pho='m 90 '
                call phomaker(pho)
                pho='I 90 '
                call phomaker(pho)
                pho='s 90 '
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char3.EQ.'st.') then
                pho='s 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                pho='r 90 '
                call phomaker(pho)
                pho='i: 90'
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char3.EQ.'rd.') then
                pho='t 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char3.EQ.'mr.') then
                pho='m 90 '
                call phomaker(pho)
                pho='I 90 '
                call phomaker(pho)
                pho='s 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                pho='r 90 '
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char3.EQ.' a ') then
                pho='_ 30 '
                Z=Z+2
                X=1
                call phomaker(pho)
                pho='eI 90'
                call phomaker(pho)
                pho='_ 30 '
                call phomaker(pho)
        else if (char3.EQ.' i ') then
                pho='_ 30 '
                Z=Z+2
                X=1
                call phomaker(pho)
                pho='A: 90'
                call phomaker(pho)
                pho='i: 90'
                call phomaker(pho)
                pho='_ 30 '
                call phomaker(pho)
        else if (char3.EQ.'al ') then
                pho='V 90 '              
                call phomaker(pho)
                pho='l 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char3.EQ.'ly ') then
                pho='l 90 '
                call phomaker(pho)
                pho='i: 90'
                call phomaker(pho)
                Z=Z+2
                X=1
        else if (char1.EQ.' ') then
                pho='_ 30 '
                call phomaker(pho)
                X=1
                endif

                return
                end
*       ---------------------------
*       ---------------------------

        subtoutine subtwo(Z, X)

        if (char2.EQ.'ng') then
                pho='N 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ea') then

                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'oo') then
                pho='U 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ay') then
                pho='eI 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'py') then
                pho='p 90 '
                call phomaker(pho)
                pho='A: 90'
                call phomaker(pho)
                pho='i: 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'cy') then
                pho='s 90 '
                call phomaker(pho)
                pho='A: 90'
                call phomaker(pho)
                pho='i: 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ch') then
                pho='tS 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'th') then
                pho='D 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'su') then
                pho='Z 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'uy') then
                pho='aI 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ow') then
                pho='aU 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'oy') then
                pho='OI 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ee') then
                pho='i: 90'
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'ph') then
                pho='f 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'qu') then
                pho='k 90 '
                call phomaker(pho)
                pho='w 90 '
                call phomaker(pho)
                Z=Z+1
                X=1
        else if (char2.EQ.'et') then
                pho='e 90 '
                call phomaker(pho)
                pho='t 90 '
                call phomaker(pho)
                Z=Z+1
                X=1

                return
                end
*       ---------------------------
*       ---------------------------

        subroutine subone(Z, X)
        if (char1.EQ.'a') then
                pho='{ 90 '
                call phomaker(pho)
                X=1
        else if (char1.EQ.'b') then
                pho='b 90 '
                call phomaker(pho)
                X=1
        else if (char1.EQ.'c') then
                pho='k 90 '
                call phomaker(pho)
                X=1
...

read more »



Thu, 18 May 2000 03:00:00 GMT  
 I am having compiler problems with MS FORTRAN 3.31

Quote:

> Here is my code that is conflicting...

> (begin code)

>         program TTS

>         open (unit=11, file='tts.pho', status='unknown')
>         integer I, V, V2, V3, V4, X, Z
>         character chara, charb*2, charc*3, chard*4,
>         character input*80, pho*5, space

>         print*
>         print*
>         print*, ' __________________________________________________ '

The problem might be really simple.  The open statement must
follow the integer and character statements.  It's an executable
statement, not a declaration.  Compilers usually get hopelessly
confused when they encounter statements in the wrong order
and issue rafts of hard to understand messages.  Usually the first
message is the important one, but with modern high speed scrolling
technology we can't read that one.

Anyhow, try moving the OPEN down a few lines.

Good luck,
{*filter*} Hendrickson



Fri, 19 May 2000 03:00:00 GMT  
 
 [ 2 post ] 

 Relevant Pages 

1. I am having array problems in MS FORTRAN ver 3.31

2. I need some suggestions about Binary Searching with MS Fortran 3.31 (rather old, I know)

3. large character strings in MS Fortran 3.31

4. I am using MS FORTRAN 77 ver 3.31 and have a question...

5. I am having problems setting the page break through Active X

6. I am having a problem configuring my DAQ to generate continous waveforms

7. Anyone remember bugs in MS Fortran 3.13 and 3.31?????

8. Problem installing old MS Fortran 4.0 compiler

9. I need some help with MS FORTRAN 77 ver. 3.31

10. Emacs VHDL Mode 3.31 released

11. MS Fortran DLL called from MS VB 6.0 problem

12. ** Having problem with cross compiler **

 

 
Powered by phpBB® Forum Software