もういっそプログラム言語から自作しようって [転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001佐藤光@新潟市江南区2015/04/24(金) 17:22:18.32ID:WmLFsFf2
猛者はいないの?

0040デフォルトの名無しさん2015/11/21(土) 14:23:19.44ID:2FFj0oRp
言語名は言語作り始める前に決めなきゃディレクトリ名が定まんないんだよな。
でも言語を作り始めないとそもそもどんな名前が相応しいかが定まんない。

0041デフォルトの名無しさん2015/11/22(日) 16:59:45.56ID:K6EhBG35
なんでやねん
開発コードとお披露目するときの名前が違うくらい何じゃい

それに実装系はあくまで実装系だ

0042デフォルトの名無しさん2016/09/14(水) 17:26:44.26ID:pL1sUi+r

0043デフォルトの名無しさん2016/10/02(日) 15:17:56.51ID:Nn54wATW
言語を作るって実際は何を作るの?

もし、私が40年間どうてなら イオナズン習得。

というテキストを読み込んで、IAA32のコードを吐けばいいだけ?

0044片山博文MZ ◆T6xkBnTXz7B0 2016/10/02(日) 17:17:52.23ID:u3/OfpKm
>>43
インタプリターかコンパイラー

0045デフォルトの名無しさん2017/04/23(日) 03:22:50.08ID:H8Cvp+NU
>>43
過去に言語作った人の拡張のようなものじゃないの?
前提として実行する仕組みを定義記述して計算という手順が予測可能な
タイプであって、予測不可能な非孤立系(熱力学用語)になるような
情報が拡散するけど秩序があるような類を考える人はいないと思う。
どれも予測可能な孤立系の入力に対する出力をする計算でしょ。
データを統計して学習データから推論するそれも計算にすぎないし。

0046デフォルトの名無しさん2017/05/07(日) 11:03:32.18ID:UFc7mbHX
https://echo.2ch.net/test/read.cgi/tech/1482549747/l50
でも書いたけど、タートルを拡張した言語を作成中。
元は、QBに含まれていたのだが、
VBではサポートされなくなった。QBのルーチンを転用するためにVB用にタートルを作成した。
VBの今のバージョン(MSでDL可、何か月かは無料で使える)の使い方がさっぱりわからなくて、
FBに切り替えた。
VB時代に変な拡張(7,14,16セグ文字表示)をしたがために、FBでは処理しきれなくなって、
VBのタートルを移植中。
余力があれば、JISのOCR文字表示を可能とするタートルに手を出すかもしれない。
QBの頃プリンターとXYプロッターを出力デバイスとして使っていた。
だから、XYプロッターというタートル出力デバイス用ルーチンが残っている。

0047デフォルトの名無しさん2017/08/16(水) 16:25:34.76ID:caDabzDZ
もう言語増やさないで
その労力かけるならデザインソフト付きのGUIライブラリーでも作って撒いてよ

0048デフォルトの名無しさん2017/08/17(木) 17:52:04.90ID:yjzCURd2
みんなデザインソフト付きのGUIライブラリーを作るのに適した言語を求めてる訳だ

0049デフォルトの名無しさん2018/05/23(水) 21:57:23.84ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

OWSM2

0050デフォルトの名無しさん2018/07/05(木) 00:05:42.44ID:RfoszcD2
SXD

0051デフォルトの名無しさん2018/07/05(木) 00:10:22.01ID:F5EmMeHI
Cでライブラリ作るのが一番間違いない
他の言語からも間違いなく使える

0052デフォルトの名無しさん2019/09/19(木) 11:25:31.55ID:UjaycjJO
ここまで
・BNF
・構文木
・パーサ
無し

0053デフォルトの名無しさん2019/09/27(金) 21:33:07.48ID:pXXonwL/
>>51
そうなの?

0054デフォルトの名無しさん2019/10/14(月) 07:54:56.44ID:Z08KRAth
文字列なんだが、CやPythonはダブルクオーテーションの文字列では途中の改行を許可してない
たとえば
a = "bcd"
とかおkだが
a = "bc
d"
はできない
これはなぜだろう?
技術的にはダブルクオーテーションの中で改行を許可するのは難しいことじゃないと思うんだが
なにか理由でもあるのだろうか

0055デフォルトの名無しさん2019/10/14(月) 11:56:17.41ID:j9/l9Bxb
テキストとかストリングとか文字が主役な処理系があると良いなとか思った
1文字を64ビットくらいに拡張してコードの領域でテキストor仮想マシンのコードか識別する
コードが肥大しまくるけど妥協するって事でww

0056デフォルトの名無しさん2019/10/14(月) 13:20:41.69ID:O9NensbZ
文字が主役の処理系と言えばまずTeX

0057デフォルトの名無しさん2019/10/14(月) 14:28:46.23ID:j9/l9Bxb
TeX、言いたいことっは判ります
基本人間が密に情報のやり取りをする場合テキストが主体です
TeXやwebページのソースはパースして情報を取り出す必要があります
単純にパースを省略できると面白いかなと、それだけ

0058デフォルトの名無しさん2019/10/14(月) 15:47:47.22ID:vQIQcatX
>>10
ああいうのやる人達って
教えられて出来るとか
そういう次元じゃないんだよ
最初からいきなり出来る
みたいな人達なんだよ
ビルゲイツは最初例によって二人で会社起こしてbasicインタープリターをガンガン作り捲くって儲けた
天才ってのは
最初から普通の人達が見えない解らない事を
最初から知ってて理解している
頭が良い程度では適わない
人生を掛ければ誰でも出来るけど
それだと仕事にはならない
趣味ならいくらでもお好きに

0059デフォルトの名無しさん2019/10/23(水) 04:03:15.35ID:yprcaBdP
Haskellのパターンマッチとか型システム?面白い!
プリプロセッサとかにしてパクれないかな

0060デフォルトの名無しさん2019/10/24(木) 13:43:29.60ID:4BUO8cnl
いま作ってる言語に型システム入れようか迷ってる
動的型付けも好きなんだよなぁ

0061デフォルトの名無しさん2019/10/24(木) 14:14:00.87ID:PZAmLJan
>>58
すぐに行動するかどうかじゃね
考えれば考えるほど、完成から遠のくからなぁ

0062デフォルトの名無しさん2019/10/24(木) 17:05:28.34ID:nqBzMaEy
>>60
C系統のガチコードを吐き出す系
ゆるふわスクリプト系?
それで決まる気がする

自分はHaskellの型システムをパクリたいなとか思ってる
x:xsみたいな[1,2,3] を x=1, xs=[2,3]みたいな分割も面白い

0063デフォルトの名無しさん2019/10/24(木) 20:59:23.55ID:4BUO8cnl
>>62
ゆるふわ系のインタプリタ
インタプリタに型システムってありかな

0064デフォルトの名無しさん2019/10/25(金) 04:42:45.40ID:2bZjXkn1
>>63
いま丁度Haskellのパターンマッチングと型システムによる記述を調べてる
コードが恐ろしくスッキリして恐らく高度なアルゴリズムを短くほんと短く書ける
次にElixilの実用主義に基づくゆるふあな仕様に驚いている所
ElixilはゆるふあでインタプリタとVMマシンへのコンパイラ最近はJITの機能でCPUのコードへのコンパイルもやるとか
あ〜パクリ鯛ww

0065デフォルトの名無しさん2019/10/25(金) 21:52:52.22ID:r9lZKdsc
Elixilなんて初めて聞いたわ
最近の言語?

0066デフォルトの名無しさん2019/10/25(金) 22:24:54.38ID:APY4ctz9
エリクサーじゃなくてエリクシールと読んでると見た

0067デフォルトの名無しさん2019/10/26(土) 00:00:17.52ID:az5oKcRh
ごめん elixir だた

0068デフォルトの名無しさん2019/10/26(土) 00:12:33.05ID:o5w2ifn2
どっちにしろElixirも知らない俺(´・ω・`)

0069デフォルトの名無しさん2019/10/26(土) 00:15:52.12ID:o5w2ifn2
ところでif文やfor文を式にするメリットってなんだろう
Elixirもif文は式らしいが

0070デフォルトの名無しさん2019/10/26(土) 09:42:06.11ID:az5oKcRh
確か式の戻り値がうっとうしいけど
たいてい戻り値の代入先にワイルドカード指定して捨てられる
_ = if .....
elixir なら _ =に展開するマクロで構文を拡張すれば良いかも
基本最低限の構文しかないので
メリット
if の外で結果を受け取る(捕捉)できるので1行内で継続への判断と分岐が出来る?

0071デフォルトの名無しさん2019/10/26(土) 09:44:44.33ID:z1scFH36
再代入禁止を実現するのにほぼ必須。

0072デフォルトの名無しさん2019/10/27(日) 16:29:09.28ID:98GTxTrH
result = if a < 3 { 3 } else { 4 }
みたいな文がかけるってことだろうけど

0073デフォルトの名無しさん2019/11/14(木) 05:11:44.29ID:eDIph1o0
if (if (flag) { return false; } else { return true; }) { return true; }

こういうのが出来るようになるのか
カオスw

0074デフォルトの名無しさん2019/11/14(木) 08:11:02.74ID:JccR9P/5
c++の3項演算子って関数みたいだね

true ? 1:3

a=a+(bool? 1:2)+6;

a=a+6;
if(bool) {a++;}else{a+=2;}
な感じ?

0075デフォルトの名無しさん2019/11/14(木) 22:17:16.18ID:JccR9P/5
visual sutadio 2019 C++ 最適化最高が結構いいコード吐き出す
具体的には関数のローカル変数をインデックスとかに利用すると
レジスター化されてる

とりあえずインタープリタ
言語仕様はパクリまくる予定

0076デフォルトの名無しさん2019/11/15(金) 03:29:11.51ID:Re5Vtpoc
if (for (i=0; i<10; i++) { i }){ for (i = 0; i < 4; i++) { }}
これもうよくわかんない
if文やfor文を式にするメリットってなんや・・・

0077デフォルトの名無しさん2019/11/16(土) 14:17:58.55ID:70AcxeMm
字句の切り出しと構文木用のLISTを実装
if,else,while,==,@など基本的なキーワードと記号を切り出しも実装

次はパースして抽象構文木を生成(AST:Abstract syntax tree)
四則演算とカッコかな

0078デフォルトの名無しさん2019/12/03(火) 00:07:58.84ID:rizxROqB
浮動小数を字句解析して値作るの大変なんだが
こんな狂った仕様とは今まで使ってて知らなかったわ・・・

0079デフォルトの名無しさん2019/12/03(火) 00:11:22.67ID:rizxROqB
既存のライブラリに投げたい気分でいっぱい
でも完全セルフホストめざすからがんばる

0080デフォルトの名無しさん2019/12/03(火) 01:54:32.86ID:ufFgBLZs
最初はintしか実装しないが良いかも
浮動小数点の形式を限定して実装するとか
0.1
0.1e0
1e-1
1.0e-1
種類あるね
[+|-],{0~9},[.,{0~9}],[e,[+|-],{0~9}] // []オプション {}繰り返し ~|~は~or~ ,は継続の規定
こんな感じ?
整数or実数で小数点の有無
小数点が無くても指数部の有無で整数or浮動小数点が分かれる
あと極端に桁が多いと自動的に浮動小数点
場合によってbignum?かな

0081デフォルトの名無しさん2019/12/03(火) 09:46:23.56ID:yN5r9ueQ
gもあった希ガス

0082デフォルトの名無しさん2019/12/03(火) 09:51:43.02ID:yN5r9ueQ

0083デフォルトの名無しさん2019/12/03(火) 09:57:53.65ID:yN5r9ueQ

0084デフォルトの名無しさん2019/12/03(火) 19:17:13.87ID:WB+A631/
そうそのbignumが必要なところです
intならでかすぎな値は即エラーだけど
浮動小数ってとりあえず受け入れて、近似値求めるみたいなんですよ
知らなんだ
bignumってどんだけ大変なんだろ
たぶん割り算が肝なんだろう

0085デフォルトの名無しさん2019/12/03(火) 23:05:02.32ID:ufFgBLZs
まあ、実装は後回しが良いよ
全体から言えば部分でキモから外れているので
結局型を処理系に内部実装するか否かなんです
典型的な内部実装型=bool [true|false]
外部実装enum = mybool [mytrue|myfalse]
float = struct {
int sign
long long unsigned .....
....
}
みたいな

0086デフォルトの名無しさん2020/02/15(土) 00:03:43.44ID:igxgvzDX
>>79
その発送はイカン
人に頼ることも覚えなさい

0087デフォルトの名無しさん2022/02/05(土) 18:44:07.89ID:NVSedkrm
プロパティに代入するか
クラスメソッドを実行するだけの言語仕様で
名前空間は自由に設定且つ
名前空間の末端だけジェネリック型にしたら
ポインタ無しでかなり書きやすくわかりやすい
言語が作れそうです
しかしポインタを忘れてPHPで実装を始めたら
挫折しました

0088デフォルトの名無しさん2022/02/07(月) 18:02:11.60ID:cv5OqSn/
GAMEインタプリタでGAMEコンパイラが書かれいていたなぁとふと思い出した。
GAMEを拡張した独自仕様なのを作って遊んだりしたっけな。

0089デフォルトの名無しさん2022/05/01(日) 08:10:40.78ID:W/98BHCT
インタプリタにポインタ実装してみた

0090デフォルトの名無しさん2023/02/03(金) 12:49:03.32ID:GgoC5FFI
(」゚ロ゚)」(」゚ロ゚)」(」゚ロ゚)」オオオオオッッッ

■ このスレッドは過去ログ倉庫に格納されています