fortranのコンパイラでInvalid first characterとは!?

このQ&Aのポイント
  • フォートランのコンパイラを使ってプログラムを実行しようとした際に、Invalid first characterのエラーメッセージが表示されました。
  • cygwinを使用してフォートランのコンパイラをインストールし、簡単なプログラムを作成しましたが、exeファイルが生成されませんでした。
  • XP環境でのインストール手順に従ってインストールを行いましたが、コンパイルエラーが発生しました。どのように対処すればいいでしょうか?
回答を見る
  • ベストアンサー

fortranのコンパイラでInvalid first characterとは!?

フォートランのコンパイラが欲しくて、cygwinをhttp://www.cygwin.com/からもらってきてインストールしました。簡単なプログラム REAL a,b a=10.0 b=a+5.0 WRITE(*,*) b END を作って動作確認しようとしたのですが、以下のようなメッセージがでました!exeファイルが出来てくれません。何をすべきかどなたか教えて下さい!環境はXPで、 http://www.ktokai-u.ac.jp/~center/ktnetwrk/vol31/pdf/vol31.pdf この初学者向けに易しく書いてあるページを頼りに、この通りにインストールしました。 Administrator@PC ~ $ g77 test.for test.for:1: REAL a,b ^ Invalid first character at (^) [info -f g77 M LEX] test.for:2: a=10.0 ^ Invalid first character at (^) [info -f g77 M LEX] test.for:3: b=a+5.0 ^ Invalid first character at (^) [info -f g77 M LEX] test.for:4: WRITE(*,*) b ^ Invalid first character at (^) [info -f g77 M LEX] test.for:5: END ^ Invalid first character at (^) [info -f g77 M LEX]

質問者が選んだベストアンサー

  • ベストアンサー
noname#5537
noname#5537
回答No.1

行頭に6文字の空白(スペース)を入れないといけないですが、 そうされてますでしょうか?

abberation
質問者

お礼

……ぶじ出来ました。ありがとうございました(汗汗 m(??)m

関連するQ&A

  • アセンブルでエラー「error: invalid character (0x0d)」が

    識者の皆様、宜しくお願い致します。 Solaris2.6上でアセンブルテストを行っています。 % uname -a SunOS ultra 5.6 Generic_105181-23 sun4m sparc SUNW,SPARCstation-5 % cat sparc_test main: save %sp,-112,%sp sethi %hi(.LLC0),%o0 call printf,0 or %o0,%lo(.LLC0),%o0 ret restore .LLC0: .asciz "Hello.\n" % as sparc_test as: "sparc_test", line 1: error: invalid character (0x0d) as: "sparc_test", line 2: error: invalid character (0x0d) as: "sparc_test", line 3: error: invalid character (0x0d) as: "sparc_test", line 4: error: invalid character (0x0d) as: "sparc_test", line 5: error: invalid character (0x0d) as: "sparc_test", line 6: error: invalid character (0x0d) as: "sparc_test", line 7: error: invalid character (0x0d) となってしまいます。 「0x0d」は改行CRですかね。 これにはどう対処したらいいのでしょうか?

  • fortran subroutineについて

    fortran subroutineについて c c c kk.f c c integer a,b a=0 do 10 b=1,9,2 a=a+1 print * ,a 10 continue write(*,*) ,'No.1' call sub(a,b) stop end c subroutine sub(a,b) write(*,*) ,'No.2' return end  簡単に上記のようにつくってg77でコンパイルしたのですが、call文とsubroutine文の部分で警告が出ました。  実行ファイルは問題なく動作をするのですが、このままでもいいのでしょうか?ちなみに、警告文を読んでも僕には理解できませんでした。  以下、警告文です。 kk.f: In subroutine `sub': kk.f:13: warning: call sub(a,b) 1 kk.f:17: (continued): subroutine sub(a,b) 2 Argument #1 (named `a') of `sub' is one type at (2) but is some other type at (1) [info -f g77 M GLOBALS] kk.f:13: warning: call sub(a,b) 1 kk.f:17: (continued): subroutine sub(a,b) 2 Argument #2 (named `b') of `sub' is one type at (2) but is some other type at (1) [info -f g77 M GLOBALS]

  • Fortran90についての質問です。

    Fortran90に関する問題です。 「正の整数mを正の整数nで割った余りrを求める手順を、組み込み関数MOD(m,n)を用いずに、単一の算術式で表せ」 このプログラム文を以下のように作成しました。ファイル名は「amari.f90」にしました。 INTEGER::m,n,f,r REAL::a,k PRINT*,'Input 正の整数' READ*,m,n a=REAL(m) k=a/n f=INT(k) IF(m>0,n>0) THEN r=m-(f*n) PRINT*,'余り=',r END IF END そして、Cygwin画面上で gfortran -o amari.exe amari.f90と打って、コンパイルしようとしたら以下のようなエラー文が出ました。 amari.f90:8.6: IF(m>0,n>0) THEN 1 Error: Syntax error in IF-expression at (1) amari.f90:11.3: END IF 1 Error: Expecting END PROGRAM statement at (1) プログラム文のどこの箇所が間違っているのかを教えていただけませんか?お願いします。

  • FORTRAN77(g77)で(D)CBRTがエラーになってしまいます

    FORTRAN77(g77)をVine Linux 4.2で使用しています。 立方根の計算をしたいのですが、コンパイル時に"(D)CBRT"がエラーになってしまいます。 原因・代替策など御助言いただければ幸いです。 なお、(D)SQRTは問題なくコンパイル・実行できました。 以下、テスト用ソースとそのコンパイル時のエラーメッセージです。 [ソース] program a implicit none real*8 n write(*,*)"n= ?" read(*,*)n write(*,*)DCBRT(n) stop end [エラーメッセージ] a.f: In program `a': a.f:6: write(*,*)DCBRT(n) ^ Invalid declaration of or reference to symbol `dcbrt' at (^) [initially seen at (^)] ※こちらの画面ではスペースがうまく入りませんので悪しからず。

  • fortranのコメントについて

    昨日からfortranを始めた者です。 調べてみると、コメントアウトするには 先頭を"C"または"*"で始めればいい と書いてあるのですが 以下のように実際にやってみると Unclassifiable statement at (1) とエラーが出てしまいます。 (文の先頭に半角6文字のスペースを入れてあります。 コメント行は"c"と"test"の間に5つスペースが入れてあります。) コンパイル文: g95 read.f90 ソース: ______program read ______implicit none ______integer i ______real r ______character(len=4) c c_____test ______print *,"Please input number" ______read *,i,r,c ______print *,i,r,c ______stop ______end もうひとつ、 上のソースをコメント行なしでコンパイルすると通るのですが 全ての実行ファイルがa.exeとして保存されるので 毎回exeファイルが上書きされる形になってしまいます。 この2点の解決方法ご存知の方いらっしゃいましたら 教えてください。お願いします。

  • fortran

    do I = 1,40 do F = 1,4 do L = 1,100 if (I == 1. .OR. L == 1.) then A (I,F,L) = 3. else A (I,F,L) = 3.* B (I-1,F,L) end if end do end do do F = 1,4 do L = 1,100 do M = 1,100 B (I,F,L) = B (I,F,L) + C (I,F,M,L) end do end do end do end do 簡素化したプログラムなので、わかりにくいと思うのですが、後で計算するB(I,F,L)をA(I,F,L)のDOループに最初に持ってくると、I=1orL=1のときは正しい計算をしてくれるのですが、そのほかのときはB(I-1,F,L)に値が入らないのです。ちなみにC(I,F,M,L)はA(I,F,L)のループの後に計算しましたが、省略しました。 ご回答よろしくお願いします。

  • fortran77教えてください

    fortran77のプログラムについての質問です。 次のプログラムを実行するとどのような結果になるか教えてください REAL A,B,C,D,E,F A=7.0 B=5.0 CALL WASA(A,B,C,D) CALL WASA(C,D,E,F) WRITE(*,*)E,F STOP END SUBROUTINE WASA(P,Q,R,S) REALP,Q,R,S R=P+Q S=P-Q RETURN END

  • fortran77でのif文

    FORTRAN77の問題の質問です。 授業でこんな問題が出て困ってます。 あるクラスにN人います。 そのクラスの平均身長がXです。 そのN人の中で、X以上の身長の人数Aを印刷するプログラムを作れと言う問題です。 ここで、IF~THENを使いなさい。 分かる人がいたら教えてください。 PROGRAM TEST7 WRITE(*,*)\'x人分の身長データを入力 READ(5,*)x WRITE(*,*)\'身長のボーダーラインを入力\' READ(5,*)G A=A-G B=B-G C=C-G D=D-G E=E-G F=F-G IF(A.GT.0) THEN STOP END 途中までは、こんな感じかと思ったのですが、行き詰ってしまいました。

  • firstについての違いや使い分け

    first,at first,first of all,firstly の違いが良く分かりません。 こんな問題がありました。 ・He's had a bad year. ( ) he lost his job, then his girlfriend left him. アFirst イAt first ウFor the first time エAt firstly ・I went and sat next to her. ( ), I didn't speak. I just sat there wondering what I could say. アFirst of all イFirstly ウAt fIrst エAt last 解答は最初のはア、次がウですが、解説を読んでもまだ疑問が残ります。明らかに違う選択肢は分かりますが、その他上に挙げた4つの見分け方等があったら教えて下さい。

  • rubyの正規表現で"["を使いたいのですが、正しく実行できません

    rubyの正規表現で"["を使いたいのですが、正しく実行できません #! ruby -Ks a ="test[test" b ="test[" if /#{b}/ =~ a print "hit" end エラー内容は test.rb:4: invalid regular expression; '[' can't be the last character ie. can't start range at the end of pattern: /test[/ (RegexpError) "\["と文字を入力することで解決するかと思いましたが上手くいきませんでした。 rubyのバージョンは1.8.2です。宜しくお願いいたします。

    • ベストアンサー
    • Ruby

専門家に質問してみよう