【超高速】C/C++に代わる低級言語を開発したい 5
なるほど。コンパイラ作る側ではめんどくなるし
つわなくていい人は関係ないけど、CPUにも機能があるから
言語仕様に入るべきってのは正論だと思います。
ライブラリで提供するとしたらライブラリで提供されていても
関数だけではなく演算子も使えるようになっていて欲しい。
関数だけで書け言われても、嫌だわ。
任意N進はいらないんじゃね
BCDにしても必須てほど使われないしね
Decimal/Complexとかはあっても悪くない程度じゃないか
ところで、新言語のVirtual Machineをどう実装するかお前らは考えたことはあるか?
937 :
デフォルトの名無しさん:2010/05/16(日) 19:49:38
何のためにVMが必要なの?
MMX・SIMD・SSEも使いたい
いまどきの新言語はVM実装があたりまえ
PerlもC#もVMを実装
OS非依存目指すならそれくらいかないと
そのPerlやC#が嫌だからこのスレがあるわけで
高水準言語ならともかく、低水準言語にVMはないわ。
ていうかVMを実装するための言語。
「低水準でも」使える言語なのでVMがあるのかどうかは関係ない。
それでもVM前提とか無いわ。
943 :
デフォルトの名無しさん:2010/05/16(日) 21:21:17
Java, C#でさえ仕様上はVM必須というわけではないのに。
共通の中間コードに一度変換した後に
その中間コードを各CPUにコンパイルするようにすれば
複数のCPUに対応したコンパイラが作成可能だ。
そこで共通の中間コードがネイティブで動く仮想マシンが必要になる。
何で中間コードをそのまま動かそうとしてるんだよw
中間コードをさらに各CPUのネイティブコードにコンパイルするんだろ?
各CPUのネイティブコードとして動かせばそれでいいだろ
基本レジスタ渡しな
レジスタは最低スタック用とフレーム用に2本かな
printfみたいな可変長引数はどうしようもないが
C#のJITコンパイラは実際SSE2ありと無しでは吐くコードが違うからな
ぐぐってみ
で?
中間コードを考えるということは仮想的なマシンを考えるのと同義だ。
でも実装って書いてるな。むむぅ。
動的にコードを変更した最適化が可能だったりコードを小さく出来たり、
セキュリティ的にサンドボックスが作れるので
ネットワークでの配信が容易になったりするとか。
LLVMでいいやん
ネイティブコードを吐くコンパイラも、内部で中間コードにあたるものを生成していることを知らないらしい。
ビットシフトを適当に使って書けば
最適化でビットローテート命令に使ってくれるかもしれないけど
言語側でビットローテート用の演算子がほしい
>>953 どんな記号な演算子?
>>> <<< は算術ありなしとかだったから>>>> <<<<とか?
長いから >-> <-< とか?
>rol>
>ror>
頻繁に使うものじゃないし、ror()とかrol()とかの関数でいいんじゃないの?
大抵はキャリーと組み合わせるから
キャリービットを扱う方法も欲しい
またアホな話になってきたな
(int a, bool carry) = a >ror> 3;
あるいは
(int a, bool carry) = ror(a, 3);
というかんじで使えるといいと。
a >ror> 3
だと、 a > ror > 3 と区別がつかないのでいまいちじゃない?
記号のみの組み合わせにするとか、``でくくって`ror`にするとか
ror だけにするのがいいと思うよ。
<@ >@
だな
顔文字か作れる言語にしようぜ
とりあえずschemeでプロトタイプでも作るか
期待してる
S式の呪縛に囚われてはCに変わることは出来ないぞ
反発も半端じゃないけどガンバレ!
ああまだ5が残ってたのか
6に書いたけどニーモニック云々
このスレの目指す言語はgolangじゃないかという気がする
並列処理組み込んでるし、ガベコレもあるし
俺もそんな気がする
どうせ作らないだろ
やっぱgoだよな
ガベコレ無しのgoが理想的なんだがな
あとはWiring程度すら使いこなせねえレベルのもいるな
低レベルってのが俺からしたらドバイタワーの頂上みたいに見える話が多いし
LISP民族とかLL民族がここぞとばかりに、
自分たちの言語に入ってる機能をねじ込もうとしているからな。
蛮族に作法を教えてやってるのだ
ねじ込ませたいと思うほどの機能なら、検討する価値がある。
>>974 彼らはOSやドライバの仕組みを知らない。
すべてを知っているのであれば、情報交換なんて必要ない。
自分が提供できるものを提供し、雑多な情報の中から自分に必要なものを拾うことで、高め合うことができる。
妄想垂れ流して情報クレとな
978 :
デフォルトの名無しさん:2010/05/21(金) 01:24:44
>>974 バカに混じれ酢するのもどうかと思うけど、
LISPやLLはアセンブラと相性悪いんだよ。
と言って思考停止
という類の発言は無意味である
981 :
デフォルトの名無しさん:2010/05/21(金) 01:35:46
俺もそう思う。
goはastがライブラリに入ってるから遊べるぞ