正式名称“Compiler”。 アフタヌーンにて連載されていた、麻宮騎亜の漫画。 宇宙から落ちてきた女性たちが騒動を起こし続ける、SFギャグ漫画。 キャラクターが二頭身になったり、麻雀バトル繰り広げたり、やりたいほーだい。 さりげなくOVA化もされている。 主人公を変更した「Assembler 0X」という続編なんぞもある。
コンパイラ (1) (講談社漫画文庫)
Compiler 陰の章&陽の章&Festa&Music clips In Trackdown [DVD]
【compiler】コンパイルを行うソフトウェア。
はじめに string と byte のキャスト最適化 1. map のキー指定のためのキャスト 2. string を byte 毎に処理するためのキャスト 3. 比較のためのキャスト memclr による配列ゼロクリア最適化 ガベージコレクションのマークスキャン回避 おわりに 参考文献 はじめに SRE の izzii (𝕏: @ahneahneahne) です。今回をもって「Go コンパイラのお勉強」と題した連載ブログが完結です!仕事の話とは直接関係がないネタだったので、書く内容に悩むということはなく気持ちよくかけました。さて、今回は「配列の効率的な利用」と題して golang/go C…
はじめに インライン展開 インライン展開とは 高階関数のパフォーマンスが落ちる例 インライン展開の制約 エスケープ解析 エスケープ解析とは 高階関数のパフォーマンスが落ちる例 さいごに 参考文献 はじめに 先々月にも Go コンパイラの最適化に関するブログ記事を書いたのですが、多くのブックマークを頂けて感謝です! SRE の izzii です。 github.com 上のドキュメントを参考にしつつ Go コンパイラの最適化に関する記事を連載していきます。本記事は 2 本目です。 [第 1 回] Goコンパイラのお勉強(1)~ゼロ幅の型によるメモリ利用の最適化と未定義動作~ [本記事] Goコン…
はじめに メモリアロケーションの回避 ゼロ幅の型(=ゼロサイズの型)とは アドレスの同一性に関する未定義動作 この最適化が有効な場面 1. map 2. chan 3. interface の実装 おわりに 参考文献 はじめに こんにちは。SRE の izzii です。 最近は某フィットネスゲームが習慣だったり、ボルダリングを再開したり、登山シーズンが到来したりと心身ともに調子が良いです。 さてつい先日、Go のコンパイラによる最適化について勉強したまとめを社内で共有したところ、メンバーが面白がってくれたため、細かいところを自分の手で触ってみたり、Go Forum で質問を投稿したりした上で記…
Qiita に書きました。 qiita.com
かんたんな自作言語のコンパイラをいろんな言語で書いてみるシリーズ 24番目の言語は V(V言語、vlang) です。 V を触り始めて1週間くらいの人が、理解は後回しにしてとにかく動くものを作るぞ、という方向性で書いたもの(そのくらいのノリで気軽に書けるコンパイラです)。 V のバージョンは 0.3.3(weekly.2023.14)。 できたもの github.com 動かし方の例 $ echo ' func add(a, b) { return a + b; } func main() { call add(1, 2); } ' | bin/mrcl_lexer | bin/mrcl_pa…
※初歩的な勘違いをしていたのでメモ 次のコードは動かない といってもリンクができないだけで分割コンパイルはできる(できてしまう) #pragma once namespace Hoge{ typedef float hoge; hoge setHoge(); void getHoge(hoge value); }; #include <iostream> #include "hoge.hpp" using namespace std; using namespace Hoge; hoge setHoge(){ return ((hoge)10); } void getHoge(hoge val…
インライン展開 関数の呼び出しは呼び出し時と戻り時のジャンプでコストがかかる。基本的にコンパイラーは前後の文脈からある程度最適化してくれる。C#にはないが、.NETでは属性を指定することでインライン展開を指定できる。 [MethodImpl(enum MethodImplOptions) void Somethind(){}
作詞:有森聡美 作曲:大平勉 編曲:大平勉歌:Drink みんなで歩き出そう 夢 膨らむ未来へと 今すぐにも くじけそうな時も 一人じゃないからきっと がんばれるよ キラキラの夢を 持ち寄って集まろう ジグソーパズルより ゴールときめくはずさ Let's doing 一人より二人 (もっと もっと 膨らませて) Let's doing 二人よりみんな (もっと もっと 大きな夢) 信じるハートがパワーだね どんな着飾っても 夢に夢中の時には かなわないね すごく大人びたり とても綺麗に見えるの 不思議なほど それは その胸に輝く ダイヤモンド そう、その夢達が 光り続けているから Let's …
変数名は大事なので改変。 import { StatusBar } from "expo-status-bar"; import { StyleSheet, Text, View, Button } from "react-native"; import { useEffect, useState } from "react"; import { dataSetArray } from "./setData/dataSet"; export default function App() { const [problemText, setProblemText] = useState(""); …
コンピューターのプログラミングでは、プログラムを実行できる形式に変換する処理をコンパイルと呼びます。コンパイルには以下のような特徴があります。 プログラムソースコードからオブジェクトコードの生成プログラミング言語で書かれたソースコードは、コンピューターが直接理解できる機械語に変換される必要があります。コンパイルは、ソースコードを分析し、機械語に対応するオブジェクトコードを生成する処理です。 中間言語の生成高レベルな言語で記述されたプログラムは、一度その言語の中間言語に変換されることがあります。中間言語は、ソースコードと機械語の中間的な形式で、コンパイラの最適化や仮想マシンによる実行に利用されま…
kotlinx.seriarization便利ですね。KotlinのデータクラスをJSONで読み書きする場合だけでなく、CSVで読み書きする際にも使えるようです。 ただし、ヘッダを自動的に入出力する機能は無いようです。 データをCSVの行にあたる文字列に変換する際にserializationライブラリを用いて、後は、Kotlinでファイルを読み書きする標準的な方法を用います。 読み込みの際に登場する、useLinesによる遅延読み込み処理の手法は知らなかったです。ヘッダ行を飛ばす処理で登場しますが、覚えて置きたいです。 KotlinでCSVファイルの読み書きをしたいのですが、定番のライブラリが…
IntelliJを入れたほうが快適だと思うが、VSCodeを使えという指示なので試してみる。 コンパイラをいれる https://kotlinlang.org/docs/command-line.html#install-the-compiler Githubよりkotlin-compiler-1.9.23.zipをダウンロードする。 システム環境変数path コンパイラをおいた場所を環境変数pathに追加する。C:\kotlinc\binhttps://kino-code.com/course-kotlin03-environment-for-windows/#toc5 CodeRunner…
かんたんな自作言語のコンパイラをいろんな言語で書いてみるシリーズ 28番目の言語は Scala です。 できたもの github.com 不慣れな人が見様見真似で書いていますので、Scala のコードとして拙いところはご容赦ください。 Scala に詳しくなるのは後回しにしてとにかく動くものを作るぞ、という方向性です。 サイズ ( cd src/main/scala/mini_ruccola LANG=C wc -l *.scala lib/*.scala ) 358 CodeGenerator.scala 67 Lexer.scala 25 Main.scala 302 Parser.sca…
マスターズ参加してました。とりあえず酔ってる勢いでもろもろと。 とにかく反省点がめちゃくちゃ多かったけどとっても楽しかったです。まあ、あめんばーさんは14歳(N進数)なんですけどね(Nは[5,1e18])例によって私のブログは誰かのために書くというよりは後への自分のかきなぐりです。(コレ毎回言ってる気がする)
背景 llvm.org これを読んでいて名前が出てきた.(チュートリアルを進めるうえではいらないが..)Gofも流し見を数年前にしたきり,詳細を知らないので良い機会なので学ぶ gof(ギャングオブフォー) デザインパターン23種. ja.wikipedia.org Visitor Visitor パターンは、オブジェクト指向プログラミング およびソフトウェア工学 において、 アルゴリズムをオブジェクトの構造から分離するためのデザインパターンである。分離による実用的な結果として、既存のオブジェクトに対する新たな操作を構造を変更せずに追加することができる。 by wikipedia 使い所 Vis…
ソースコード ソースコードとは、プログラムを構成する基本的な要素です。ソースコードは、コンピューターが直接理解できる形式ではなく、人間が読み書きできる形式で記述されたプログラムの指示です。 ソースコードは、プログラミング言語を用いて書かれます。プログラミング言語には、C、Java、Python、Ruby、JavaScript など、さまざまな種類があります。それぞれのプログラミング言語には独自の文法や構文があり、それに従ってソースコードが記述されます。 ソースコードは、プログラムの機能や動作を定義するものです。変数の宣言、演算の実行、条件分岐、繰り返し処理など、プログラムの基本的な構造がソース…
所有権をわかったつもりだったが、わかってなかった。*1Rust By ExapmpleのPipesの章で、以下のコメントにあるstdinがdropされると記述が信じられなかった。 match process.stdin.unwrap().write_all(PANGRAM.as_bytes()) { Err(why) => panic!("couldn't write to wc stdin: {}", why), Ok(_) => println!("sent pangram to wc"), } // Because `stdin` does not live after the abov…
背景 wasm runtimeを作る選択肢としてllvmのチュートリアル(カレイドスコープ作ってみよう)を読んでいたら知らない概念が出てきたのでメモ.wikipediaを参照となっていたのでそこからスタート.(以後SSA) llvm.org japan語で検索するなら 静的単一代入 ssa が良さげ. wikipedia 曰く In compiler design, static single assignment form (often abbreviated as SSA form or simply SSA) is a property of an intermediate repres…
先日AY2024-Term3を終えて卒業要件単位数を満たすことができました。今はまだ卒業申請中なので「仮」としている。ディプロマを手にするまでは実感が湧かなそうだけれど日に日に記憶が薄れていくので振り返りを。 清々しい気分で見物した今年の牡丹 目次 CS 2204 Communications and Networking CS 2301 Operating Systems 1 CS 3307 Operating Systems 2 CS 4402 Comparative Programming Languages CS 4407 Data Mining and Machine Learnin…
Javaの概要 JavaとTypeScriptの比較 Springとは/Spring Bootとの違い Javaの概要 https://qiita.com/KenyaSaitoh/items/22f32b9d7aea5844d77 Javaの言語特性(抜粋) プラットフォーム非依存の言語 Java Virtual Machine JVMとは、LinuxやWindowsといった様々なOSに対応したJavaプログラムの仮想的な実行環境 Javaは、コンパイル型言語の一種である 通常コンパイラによって機械語に一括翻訳し、生成したバイナリファイルを実行することで、プログラムが動作する Javaは機械語…
ChatGPTに説明してもらう。 この文章は、私、ChatGPTが生成しました。私はOpenAIによって開発された人工知能言語モデルです。与えられたテキスト入力に基づいて、知識とパターンを活用して文章を生成します。 Rocky Linuxのインストールと作業スペースのセットアップ手順について簡単に述べます。 インストールメディアとインストール メディア AlmaLinux OS - Forever-Free Enterprise-Grade Operating System Download Rocky | Rocky Linux これらのリンクは、AlmaLinuxとRocky Linuxと…
この記事では、Scala初心者がプロジェクトを作るときに分かりにくい(であろう)ポイントを埋めようというものです。 こんな記事を読んだ。 trap.jp 普段Rustを書いている人がScalaを書いてみたという内容の記事で、普段Scalaに振れていない人の視点があってとても良かった。普段我々はScalaを書きすぎているので、初心者がどこでハマるのか?初学者はどのようなポイントを見ているのか?といったことがわからないのだ。 そこでこの記事では、上掲の記事を参考にしつつ、普段自分がScalaプロジェクトを作るときどのようにしているかを説明しようと思う。 プロジェクトを作る 最低限必要なもの sbt…
はじめに こんにちは。昨年の11月にYappliへ入社したしがないサーバーサイドエンジニアの佐野(@Kiyo_Karl2)です。 自分はYappliに入社するまでGo言語を利用した経験が無く、言語仕様についての理解がまだ浅いと感じる部分があるなと思っています。 そのため、今回はGo言語の最大の特徴でもあるGoroutineについてまとめてみました。 本記事は、4本の連載記事の1本目となります。 Goの並行処理入門-Goroutine基礎編 ←今ここ Goの並行処理入門-syncパッケージ編 Goの並行処理入門-channel編 Goの並行処理入門-select編 対象読者 Go言語の基礎はわか…