No.1
- 回答日時:
私もそんなに詳しくないのですが、自分専用のプログラムを作るということは、
自分でプログラム言語の文法を定義するということですよね。
lex や yacc というツールを使うと、比較的簡単に、文法や字句を解析できます。
lex や yacc というのは、コンパイラーを作るためのツールです。
ちなみに、コンパイラーは、人間が書いたプログラムソースをコンピューターが理解できる形式に変換するものです。ですので、プログラム言語の文法の解釈は、このコンパイラーがします。
インターネットで lex や yacc で検索すると、いろいろ説明出てきますので、くわしくはそちらを見て下さい。 (奥が深いので、ここで、すべては説明しきれない。)
yacc の代わりに最近は、bison というツールを使うのかな?
No.2ベストアンサー
- 回答日時:
1.目標を立てます
最終的にコンピュータが理解できる言語(機械語)にしますが、とりあえず現
在存在する言語に変換できればいいでしょう。例えば新規言語をC言語に翻訳
できればコンピュータで実行可能です。
2.1.の目標を日本語から英語に変換と例えれば下記2つを解決する必要があります
1)文法の変換問題 (構文解析で検索すると沢山でてきます)
2)単語、文字の変換問題 (字句解析で検索すると沢山でてきます)
下記で想像されればいいのではないでしょうか。
これはペンです。 -> This is a pen.
但し、これは自然言語の翻訳で例外の発生、単語が複数の意味を持つ、慣用句
など難しい問題が多くあります。
しかし実際のコンピュータ言語ではこの問題がほとんど発生しないように作成
しますので、(設計者=貴方が普通に作成しようとすれば自然とそうなります
)かなり簡単に作成可能です。
また#1の方が紹介されているようにlex(字句解析機),yacc(構文解析機)のツー
ルもありますので作成は容易です。
貴方が一番大変な部分は字句解析と構文解析の規則(ルール)を作成する部分
という事になり、後は外注(ツールを使用する)という形でしょうか。
No.3
- 回答日時:
言語の仕様を決めます。
これがやたら面倒。言語の解釈するルーチンを作ります。
言語の実行するルーチンを作ります。
必要に応じて.言語の実行状態を監視したり.制限したりするルーチンをつくります(作成したルーチンのデバックルーチンであり.あるいは.ユーザープログラムのデバックるーちんであったりします)。
これらを適当に統合するルーチンをつくります。内容を見て順次解釈して行くインタープリターが作るのには楽でしょう。
こんなところでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(プログラミング・Web制作) ロボットの作り方を教えて下さい! なにも知らない素人です。 全て自作する場合、どうすればよいでしょう 6 2022/12/18 01:25
- その他(ビジネス・キャリア) グーグルの障害者訓練プログラム募集あるがどうだろ?6時間勤務で月収22万!! 1 2023/02/17 20:36
- ダイヤルアップ Raspberry Piでアナログモデム経由で音声再生 1 2022/05/20 18:01
- インターネット広告・アフィリエイト アフェリエイトサイト 作成について 5 2022/05/13 21:31
- 労働相談 合意済み仕様の商品納入後における仕様変更要求への対応について 5 2023/04/19 09:41
- C言語・C++・C# C言語で移動平均のプログラムを作りたいのですが、数値をファイルから取ってきて計算をするプログラムはど 1 2022/09/29 01:21
- 大学受験 関西外国語大学の国際共生学科、英米語学科(Super IESプログラム)、大阪外語専門学校、同志社大 1 2023/03/29 22:34
- C言語・C++・C# c言語 コマンドライン引数 4 2023/02/09 18:47
- Windows 8 win8 "ベータ ワールドワイド言語サポートで Unicode UTF-8 を使用"を出したい 2 2023/05/23 19:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラムに書かれる"%"記号の...
-
Int('1234') で、strをかんたん...
-
質問失礼します。 プログラム言...
-
rpa化する言語としてら何があり...
-
UNITY Float型の接尾辞fって
-
Excelの開発言語ってなんですか?
-
プログラミング言語の制作方法...
-
最新のプログラム言語を学ぶに...
-
UWSCはどのプログラミング言語?
-
楽しくて最高のプログラミング...
-
C言語とhtmlの違いを どな...
-
Pythonって何を意識した言語な...
-
VCとVC++
-
C++における継続行
-
プログラミング言語について
-
VBScriptで引数を省略したい場合
-
Delphiに詳しい方助けてくださ...
-
CとJAVA
-
accessという言語らしいのですが
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
楽しくて最高のプログラミング...
-
Pythonって何を意識した言語な...
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLでのNOT = の AND条件
-
C++ ってなんて読む?
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
UNITY Float型の接尾辞fって
-
C言語って古いですか?
-
Int('1234') で、strをかんたん...
-
COBOLで文字タイプを数字...
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C++における継続行
-
vbaとc言語の関連性について
-
VBScriptで引数を省略したい場合
-
VBSでDim、Private、Publicの違い
-
HTMLとC++で、どんなホームペー...
おすすめ情報