プログラミング初心者です。
lexでプログラムを作成しています。
centOSでlexのプログラムを作製し、コンパイルして実行したら、全て理想通りに動作しました。
Makefileと実行結果を以下に示します。
**Makefile**
CC = cc y.tab.c lex.yy.c
YACC = yacc -d
LEX = lex
all : parser
y.tab.c y.tab.h : parser.y
$(YACC) parser.y
lex.yy.c : scanner.l
$(LEX) scanner.l
parser : y.tab.c lex.yy.c
$(CC) -lfl -o parser
clean :
rm y.tab.c
rm y.tab.h
rm lex.yy.c
rm parser
**実行結果**
program is inputted.
***initial call***
PL0A
var is inputted.
n
***insert call***
=name= =address= =kind=
n 10 global
sum
***insert call***
=name= =address= =kind=
n 10 global
sum 10 global
***lookup call***
==look== =name= =kind=
n n global
***lookup call***
==look== =name= =kind=
sum sum global
***lookup call***
==look== =name= =kind=
n n global
***lookup call***
==look== =name= =kind=
sum sum global
***lookup call***
==look== =name= =kind=
n n global
***lookup call***
==look== =name= =kind=
sum sum global
***lookup call***
==look== =name= =kind=
n n global
***lookup call***
==look== =name= =kind=
n n global
このプログラムを、windows7のcygwin(フルインストール)下で、コンパイルして実行しました。
Makefileの中身は変更していません。
**実行結果**
$ ./parser pl0a.p
program is inputted.
***initial call***
PL0A
var is inputted.
n
***insert call***
n 10 global
sum
***insert call***
sum 10 global
***lookup call***
==look== sum global
Error
n sum global
***lookup call***
==look== sum global
Error
sum sum global
***lookup call***
==look== sum global
Error
n sum global
***lookup call***
==look== sum global
Error
sum sum global
***lookup call***
==look== sum global
Error
n sum global
***lookup call***
==look== sum global
Error
sum sum global
***lookup call***
==look== sum global
Error
n sum global
***lookup call***
==look== sum global
Error
n sum global
全然違う結果になってしまいました。lexをflexに、ccをgccに修正などしても変化はありませんでした。
同じように出力するにはどうすれば良いのでしょうか?
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
WindowsとLinuxで挙動が違う、と言われてまず思いつくのが改行コードの違いです。
fileコマンドやnkf --guess等で確認するとどうなってますか?
CygwinはWindows上で動作していますが、基本はLinuxと同じLFを使います。
Windows専用FTPツールでtextモードでGetしたり、Windows用のテキストエディタで作成したりすると、CRLFになってしまいます。
確認しましたが特に問題は無いようです。
根本的な解決とはなりませんが、xwindowを用いてlinux端末に接続して遠隔操作をすることでwindowsから実行することにしました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- C言語・C++・C# Project Euler #6 Sum square difference 至急教えてください。 1 2022/09/17 16:16
- C言語・C++・C# C言語階乗の総和を求める 2 2023/03/04 23:31
- C言語・C++・C# このプログラミングの問題を教えてほしいです。 キーボードからデータ数nとn個のデータを入力し、平均値 3 2022/12/19 22:51
- C言語・C++・C# C言語: ポインタ 5 2022/06/01 08:33
- C言語・C++・C# プログラミング実行後の表示される値を答えよ #include<stdio.h> void main( 7 2022/05/20 00:07
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- C言語・C++・C# プログラミング実行後に表示される値を答えよ #include <stdio.h> void main 4 2022/05/28 10:20
- その他(Microsoft Office) 計算式にはゼロ表示をしたい 6 2022/05/14 09:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ImageMagickでgif画像の一部が...
-
プログラミングのPythonのnoteb...
-
プログラマーと学歴の関係性に...
-
pythonで複数画像からgifを作る...
-
GoogleAppsScript文字列置換の...
-
プログラミング
-
プログラミングを教えたいです...
-
vba クリップボードクリアにつ...
-
Pythonでgif画像が上手く作れない
-
Selenium4でボタンをクリックで...
-
小学1年生の子です。塾に行かせ...
-
そのまま使っただけなのに・・...
-
Arduinoに関する質問
-
正規表現で複数マッチ条件で悩...
-
windowsでテキストファイルの各...
-
テキストファイルのファイル名...
-
フリーランスのエンジニアって...
-
楽しくて最高のプログラミング...
-
プログラミング ソースコード
-
Webサイト内に埋め込んだmp4動...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VC++ (ADO) で Access の Yes/N...
-
PL/SQLの動的SQLで複数の項目を...
-
VBScriptにて、csvファイルから...
-
一意なID
-
[ADO.NET]Accessの日付型にデー...
-
エラーがよくわからないです
-
PRO*Cでテーブル名にバインド変...
-
SQLローダーCSV取込で、囲み文...
-
単一グループのグループ関数で...
-
select文の実行結果に空白行を...
-
テーブルの最後(最新)のレコー...
-
count関数の値をwhere句で使用...
-
【PL/SQL】FROM区に変数を使う方法
-
SELECT FOR UPDATE で該当レコ...
-
2つの列が同じ値の行を取得するSQL
-
レコードの登録順がおかしい
-
<SQL>重複しているデータの場合...
-
AccessのSQL文で1件のみヒット...
-
where句中のtrim関数について
-
アクセスのレポートでレコード...
おすすめ情報