X



もういっそプログラム言語から自作しようって [転載禁止]©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
なんでやねん
開発コードとお披露目するときの名前が違うくらい何じゃい

それに実装系はあくまで実装系だ
0043デフォルトの名無しさん
垢版 |
2016/10/02(日) 15:17:56.51ID:Nn54wATW
言語を作るって実際は何を作るの?

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

というテキストを読み込んで、IAA32のコードを吐けばいいだけ?
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でライブラリ作るのが一番間違いない
他の言語からも間違いなく使える
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
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
いま作ってる言語に型システム入れようか迷ってる
動的型付けも好きなんだよなぁ
0062デフォルトの名無しさん
垢版 |
2019/10/24(木) 17:05:28.34ID:nqBzMaEy
>>60
C系統のガチコードを吐き出す系
ゆるふわスクリプト系?
それで決まる気がする

自分はHaskellの型システムをパクリたいなとか思ってる
x:xsみたいな[1,2,3] を x=1, xs=[2,3]みたいな分割も面白い
0064デフォルトの名無しさん
垢版 |
2019/10/25(金) 04:42:45.40ID:2bZjXkn1
>>63
いま丁度Haskellのパターンマッチングと型システムによる記述を調べてる
コードが恐ろしくスッキリして恐らく高度なアルゴリズムを短くほんと短く書ける
次にElixilの実用主義に基づくゆるふあな仕様に驚いている所
ElixilはゆるふあでインタプリタとVMマシンへのコンパイラ最近はJITの機能でCPUのコードへのコンパイルもやるとか
あ〜パクリ鯛ww
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行内で継続への判断と分岐が出来る?
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もあった希ガス
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 .....
....
}
みたいな
0087デフォルトの名無しさん
垢版 |
2022/02/05(土) 18:44:07.89ID:NVSedkrm
プロパティに代入するか
クラスメソッドを実行するだけの言語仕様で
名前空間は自由に設定且つ
名前空間の末端だけジェネリック型にしたら
ポインタ無しでかなり書きやすくわかりやすい
言語が作れそうです
しかしポインタを忘れてPHPで実装を始めたら
挫折しました
0088デフォルトの名無しさん
垢版 |
2022/02/07(月) 18:02:11.60ID:cv5OqSn/
GAMEインタプリタでGAMEコンパイラが書かれいていたなぁとふと思い出した。
GAMEを拡張した独自仕様なのを作って遊んだりしたっけな。
レスを投稿する


ニューススポーツなんでも実況