並び順

ブックマーク数

期間指定

  • から
  • まで

361 - 400 件 / 620件

新着順 人気順

コンパイラの検索結果361 - 400 件 / 620件

  • Powerful Scheme interpreter in JavaScript | LIPS Scheme

    ;; &() is object literal used with quasiquote (let ((obj `&(:name "LIPS Scheme" :version ,lips.version))) ;; you can access JavaScript properties ;; with dot notation, print is display + newline (print (string-append obj.name " " obj.version)) ;; you can mix scheme and JavaScript (setTimeout (lambda () (alert (JSON.stringify obj))) 1000) #void) With LIPS you can mix Scheme and JavaScript. You can

      Powerful Scheme interpreter in JavaScript | LIPS Scheme
    • GCC undefined behaviors are getting wild

      Happy with my recent breakthrough in understanding C integer divisions after weeks of struggle, I was minding my own business having fun writing integer arithmetic code. Life was good, when suddenly… zsh: segmentation fault (core dumped). That code wasn't messing with memory much so it was more likely to be a side effect of an arithmetic overflow or something. Using -fsanitize=undefined quickly id

      • AWKGo, an AWK-to-Go compiler

        November 2021 I’m such a nerd that I nerd-sniped myself. As the author of GoAWK, an AWK interpreter written in Go, I was wondering one day how hard it would be to translate AWK programs into Go code. Couldn’t be that hard, right? I decided to try it. It wasn’t particularly hard – at least, not for the subset of AWK that my compiler supports – and I was able to reuse GoAWK’s parser and many of its

        • The JavaScript Oxidation Compiler

          We're thrilled to announce that oxlint is now generally available! This milestone signifies our team's ability to promptly address and triage issues. Oxlint is a JavaScript linter designed to catch erroneous or useless code without requiring any configurations by default. How to Use ​At this stage, oxlint is not intended to fully replace ESLint; it serves as an enhancement when ESLint's slowness b

            The JavaScript Oxidation Compiler
          • HTML: The Programming Language

            Introduction HTML, the programming language, is a practical, turing-complete[1], stack-based programming language based on HTML, the markup language. It uses elements defined in HTML, the markup language, in order to do computations. To give you a sense of what HTML, the programming langauge, looks like, below is a sample program that prints the values from 1 to 10 to standard out (console.log) A

            • MN-Coreコンパイラを用いた深層学習ワークロードの高速化 - Preferred Networks Research & Development

              はじめに 深層学習を軸とした研究開発には大きな計算資源が必要です。 PFNでは深層学習ワークロードに特化した計算機資源として深層学習用アクセラレータであるMN-Coreを開発し、実際に弊社のスーパーコンピュータであるMN-3に搭載し運用を行っています。本記事では、MN-Coreを利用した深層学習ワークロード高速化のためのコンパイラの概要及び、ワークロード高速化の実例について紹介します。 MN-Coreの概要とコンパイラの必要性 MN-Core(https://www.preferred.jp/ja/projects/mn-core/)とは深層学習ワークロードに特化したアクセラレータです。深層学習において頻出する畳み込み演算を高速化するために、多数の高効率な行列演算器ユニットを階層的に束ねた構造を持っています。各階層間においては縮約/放送など深層学習ワークロードでよく用いられる集団通信を行う

                MN-Coreコンパイラを用いた深層学習ワークロードの高速化 - Preferred Networks Research & Development
              • 「GCC 10.1」リリース、静的コード解析機能が実験的に導入される | OSDN Magazine

                The GNU Compiler Collection(GCC)開発チームは5月7日、最新のメジャーリリースとなる「GCC 10.1」公開を発表した。静的コード解析が実験的に導入され、C++20のサポートも強化した。 The GNU Compiler Collection(GCC)はGNUオペレーティングシステム向けのコンパイラとして開発がスタートしたプロジェクトで、 C/C++やObjective-C、Fortran、Ada、Go、Dなどさまざまな言語に対応するフロントエンドとライブラリを提供する。 GCC 10.1は、2019年5月に公開されたGCC 9.1に続くメジャーリリース。この間、プロジェクトはバージョン管理をSubversionからGitに変更している。 C++20のサポートが、コンパイラとlibstdc++ライブラリの両面で強化されている。constexpr関数における評価

                  「GCC 10.1」リリース、静的コード解析機能が実験的に導入される | OSDN Magazine
                • Mojo🔥:PythonとC言語のパフォーマンスを併せ持つ新しいAIプログラミング言語 - Qiita

                  はじめに 今話題のMojo🔥(PythonとC言語のパフォーマンスを併せ持つ新しいAIプログラミング言語)について紹介します。 本記事の前半パートではMojo🔥について解説し、後半パートではMojo Playgroundで遊んでみます。 【前半パート】Mojo🔥について Mojo🔥とは Mojo🔥は、Pythonの使いやすさとC言語のパフォーマンスを併せ持つ新しいプログラミング言語です。Modularというソフトウェア開発スタートアップが開発しています。CEOのChris Lattner氏は、Apple時代にプログラミング言語「Swift」の開発にも携わってきた方です。 Mojo🔥の特徴 Pythonとの互換性:既存のPythonコードやライブラリをMojo🔥で直接使用できる システムプログラミングのサポート:Mojo🔥はシステムプログラミングに対応しており、メモリ管理や並

                    Mojo🔥:PythonとC言語のパフォーマンスを併せ持つ新しいAIプログラミング言語 - Qiita
                  • GitHub - marcj/TypeRunner: High-performance TypeScript compiler

                    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                      GitHub - marcj/TypeRunner: High-performance TypeScript compiler
                    • Effective TypeScript › The Saga of the Closure Compiler, and Why TypeScript Won

                      Here's something that makes me feel old: in just six months, Gmail will celebrate its 20th anniversary. If you weren't actively developing web sites at the time, it's hard to capture just how revolutionary it was. This was a time when JavaScript was held in almost universally low regard. The idea that you could build a sophisticated web app using it was mind-boggling. But it clearly worked and it

                        Effective TypeScript › The Saga of the Closure Compiler, and Why TypeScript Won
                      • Kalyn: a self-hosting compiler for x86-64

                        Over the course of my Spring 2020 semester at Harvey Mudd College, I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to jump there. Or, take a look at the project on GitHub. Table of contents What the pro

                        • C言語からRustへのトランスパイルを目指すC2Rustニュースをアップしました

                          Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

                            C言語からRustへのトランスパイルを目指すC2Rustニュースをアップしました
                          • QBE - Compiler Backend

                            QBE compiler backend QBE is a compiler backend that aims to provide 70% of the performance of industrial optimizing compilers in 10% of the code. QBE fosters language innovation by offering a compact user-friendly and performant backend. The size limit constrains QBE to focus on the essential and prevents embarking on a never-ending path of diminishing returns. Overview The C codebase of QBE is in

                            • The Rust compiler is still getting faster – Nicholas Nethercote

                              A key theme of the Rust 2019 roadmap is maturity. This covers a variety of topics, but a crucial one is compile times. For example, the roadmap itself has the following as the first main theme for the compiler team. Improving “core strength” by lowering raw compilation times and also generating better code (which in turn can help with compilation times) The roadmap explainer post has a “polish” se

                              • C/C++言語のVisual Studio Code拡張機能がv1.0に到達、初の一般リリース/C/C++開発に便利なツールをひとまとめにした「C/C++ Extension Pack」も

                                  C/C++言語のVisual Studio Code拡張機能がv1.0に到達、初の一般リリース/C/C++開発に便利なツールをひとまとめにした「C/C++ Extension Pack」も
                                • GitHub - sysprog21/shecc: A self-hosting and educational C optimizing compiler

                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                    GitHub - sysprog21/shecc: A self-hosting and educational C optimizing compiler
                                  • Go compiler internals: adding a new statement to Go - Part 1 - Eli Bendersky's website

                                    Updated (2023-05-08): the Go compiler keeps evolving and it takes time to keep up with changes. While the general gist of this post remains true and it's worth reading to understand how the compiler works on a high level, the details of the modifications are slightly different now. To see up-do-date changes that work with the latest Go (in-development version 1.21 at the time of this update), chec

                                    • GitHub - dsherret/ts-morph: TypeScript Compiler API wrapper for static analysis and programmatic code changes.

                                      You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                        GitHub - dsherret/ts-morph: TypeScript Compiler API wrapper for static analysis and programmatic code changes.
                                      • 文系卒エンジニアがどうやって独学でコンパイラを作ったか

                                        この記事の内容 コンパイラには興味があるが情報学科を出てないのでどう学べばいいか分からないといった人のヒントになるように、雑ですがメモを残しておきます。 高評価が多ければ、もうちょい詳しく書こうかなと思います。 自分の経歴 大学は文系を卒業し、建築関係の仕事をしている会社の事務職として就職しました。 入社2年目の途中からシステムの部署に移動してエンジニアになり、Ruby on Railsをちょろっと教えてもらいました。その後独学して副業先を見つけ、副業先のdigglueという会社に転職しCTOになっています。 作った言語 Javascript-- というJavascriptの下位互換言語を作りました。 Javascriptのsemicolon邪魔だろって思ったのでsemicolonなしでもコンパイルできます。(確か classなどをサポートしてない単純な言語です。 作った動機 元々はウェブ

                                          文系卒エンジニアがどうやって独学でコンパイラを作ったか
                                        • Windows 10で始めるC言語開発(1) Windows 10でC言語開発をしよう!LLVM/Clangで行く

                                          TIOBE Programming Community Index (2021年4月4日) 資料: TIOBE Software 増加傾向を続けているのはPythonだ。使われる分野も多岐にわたる。学習が比較的容易で必要とされる産業が多いということは、それだけ就職口があるということも意味している。この言語に人気が出るのは当然だ。 長期にわたって減少傾向にあるものの、Javaにも根強いシェアがある。Javaは既に企業システムの基幹部分で使われているなど、ビジネスにおいて欠かすことができない言語だ。新規開発に加えて、Javaで開発したシステムのメンテナンスや改修といったニーズもある。これも就職先が多いプログラミング言語だ。 そして現在、TIOBE Programming Community Indexの1位はC言語だ。もともとC言語は人気1位だったが、Javaの登場以降は2位に甘んじていた。し

                                            Windows 10で始めるC言語開発(1) Windows 10でC言語開発をしよう!LLVM/Clangで行く
                                          • Table of Contents · Crafting Interpreters

                                            ❧Frontmatter Dedication Acknowledgements I.Welcome 1.Introduction Design Note: What’s in a Name? 2.A Map of the Territory 3.The Lox Language Design Note: Expressions and Statements II.A Tree-Walk Interpreter 4.Scanning Design Note: Implicit Semicolons 5.Representing Code 6.Parsing Expressions Design Note: Logic Versus History 7.Evaluating Expressions Design Note: Static and Dynamic Typing 8.Statem

                                            • WasmGCを試す

                                              去る2023年は、WebAssemblyにGCを入れる仕様、WasmGCがChromeとFirefoxに実装された記念すべき年でした。WasmGCはコンパイラ作成者の長年の悲願であり(筆者の脳内調べ)、GCに依存する言語をWebAssembly上で動かすことを容易にします。2024年は、WasmGCがより広い環境で使えるようになることでしょう。まさにWasmGC元年と言っても過言ではありません(元年はなんぼあってもいいですからね)。 この記事は、2024年1月時点でのWasmGCの現状を、コンパイラ作成者の観点から調査したものです。筆者自身はWebAssemblyについては素人で、調べながら書いています。 概要と仕様 WasmGCの概要はChrome/V8界隈の人が書いた次の記事が参考になるでしょう: A new way to bring garbage collected program

                                                WasmGCを試す
                                              • A decade of developing a programming language

                                                In 2013, I had an idea: "what if I were to build my programming language?". Back then my idea came down to "an interpreted language that mixes elements from Ruby and Smalltalk", and not much more. Between 2013 and 2015 I spent time on and off trying different languages (C, C++, D and various others I can't remember) to see which one I would use to build my language in. While this didn't help me fi

                                                • Python互換言語「Mojo」、Appleシリコンにネイティブ対応したMac版が公開。Pythonの9万倍、C言語に比肩する高速性 | テクノエッジ TechnoEdge

                                                  ITジャーナリスト/Publickeyブロガー。IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。 ModularはPythonの高速なスーパーセットと同社が位置づける開発中の新言語「Mojo」の、Appleシリコンにネイティブ対応したMac版をリリースしました。 Mojoは9月に初めてローカル環境でコンパイルなどを実行可能なLinux対応のツール群を公開しています。今回のAppleシリコンにネイティブ対応したMac版のリリースは、このLinux版のリリースに続いて登場しました。 ちなみに現時点でWindowsでのMojoの利用はWindows Subsystem for Linux(WSL)を用いてLinux版を使う方法が示されており、Windows版のリリース時期はまだ明らかにされていないようです。 MojoはPythonより高速にA

                                                    Python互換言語「Mojo」、Appleシリコンにネイティブ対応したMac版が公開。Pythonの9万倍、C言語に比肩する高速性 | テクノエッジ TechnoEdge
                                                  • Static TypeScript: An Implementation of a Static Compiler for the TypeScript Language - Microsoft Research

                                                    While the programming of microcontroller-based embeddable devices typically is the realm of the C language, such devices are now finding their way into the classroom for CS education, even at the level of middle school. As a result, the use of scripting languages (such as JavaScript and Python) for microcontrollers is on the rise. We present Static TypeScript (STS), a subset of TypeScript (itself,

                                                      Static TypeScript: An Implementation of a Static Compiler for the TypeScript Language - Microsoft Research
                                                    • CS 6120: The Self-Guided Course

                                                      Syllabus Schedule Lessons Zulip Discussions Blog CS 6120: Advanced Compilers: The Self-Guided Online Course CS 6120 is a PhD-level Cornell CS course by Adrian Sampson on programming language implementation. It covers universal compilers topics like intermediate representations, data flow, and “classic” optimizations as well as more research-flavored topics such as parallelization, just-in-time com

                                                      • Running Golang on the browser with WebAssembly and TinyGo

                                                        TL;DR This is the story of how I managed to expose my Golang chess API project cheesse as a WebAssembly binary, compiled using TinyGo, so JavaScript could use it without needing a server. The blogpost is optimised for helping others going through a similar exercise, rather than for readability, so expect a little too much of “if this, do this”. Sorry. What are all those technologies? WebAssembly A

                                                        • Announcing Rust 1.60.0 | Rust Blog

                                                          The Rust team is happy to announce a new version of Rust, 1.60.0. Rust is a programming language empowering everyone to build reliable and efficient software. If you have a previous version of Rust installed via rustup, you can get 1.60.0 with: $ rustup update stable If you don't have it already, you can get rustup from the appropriate page on our website, and check out the detailed release notes

                                                            Announcing Rust 1.60.0 | Rust Blog
                                                          • GCC 12.1 Compiler Released With AVX-512 FP16, Better RISC-V Support, More C++23 Features - Phoronix

                                                            GCC 12.1 Compiler Released With AVX-512 FP16, Better RISC-V Support, More C++23 Features Written by Michael Larabel in GNU on 6 May 2022 at 06:35 AM EDT. 6 Comments GCC 12.1 is out today as the first stable release of GCC 12. It also marks 35 years already since the release of GCC 1.0. With a year's worth of changes, GCC 12.1 is a big feature release with a lot of good stuff in it from new C/C++ f

                                                              GCC 12.1 Compiler Released With AVX-512 FP16, Better RISC-V Support, More C++23 Features - Phoronix
                                                            • The life and times of an Abstract Syntax Tree

                                                              By Francesco Bertolaccini You’ve reached computer programming nirvana. Your journey has led you down many paths, including believing that God wrote the universe in LISP, but now the truth is clear in your mind: every problem can be solved by writing one more compiler. It’s true. Even our soon-to-be artificially intelligent overlords are nothing but compilers, just as the legends foretold. That sma

                                                                The life and times of an Abstract Syntax Tree
                                                              • Microsoft to explore using Rust

                                                                Microsoft plans to explore using the Rust programming language as an alternative to C, C++, and others, as a way to improve the security posture of its and everyone else's apps. The announcement was made yesterday by Gavin Thomas, Principal Security Engineering Manager for the Microsoft Security Response Center (MSRC). "You're probably used to thinking about the Microsoft Security Response Center

                                                                  Microsoft to explore using Rust
                                                                • C言語教育はCコンパイラの写経で - Qiita

                                                                  若者「C言語教えて下さい」 わい「Cコンパイラ写経すれば3週間でコンパイラ書ける様になります。」 若者「そんな事出来る様になったら忙しくなるから嫌です。」 わい「C言語理解したくないんですか?」 若者「C言語教えて欲しいだけです。」 老害よりたちが悪いか若害は皆で渡れば怖くないから #短歌 — naokiakutagawa (@naokiakutagawa) October 22, 2022 はじめに(forward) C言語を理解するとはCコンパイラが書けるようになって、C言語の拡張、縮小ができるようになることでどうでしょうと言うお話です。 英語もプログラミング言語も文法から教える方々がお見えになることは存じ上げています。 最初のTwitterは、実話に少し手を加えたものです。C言語の12日間の研修で、Cコンパイラの写経をしてコンパイラを書けるようになるのが一番早道だと説明した際の話です

                                                                    C言語教育はCコンパイラの写経で - Qiita
                                                                  • Simply Parse in C

                                                                    by Chloe Kudryavtsev People are terrified of parsers and parsing. To the point of using magical libraries with custom syntaxes to learn just to get started. In the hopes of completely shattering this preconception, I will write a parser for the “ini” file format in about 150 lines of pure and readable ISO C99. Furthermore, this parser will be something that's nice to use and has error correcting f

                                                                      Simply Parse in C
                                                                    • Getting Started - Rust Compiler Development Guide

                                                                      Getting Started Thank you for your interest in contributing to Rust! There are many ways to contribute, and we appreciate all of them. Asking Questions Experts Etiquette What should I work on? Easy or mentored issues Recurring work Clippy issues Diagnostic issues Contributing to std (standard library) Contributing code to other Rust projects Other ways to contribute Cloning and Building Contributo

                                                                      • GitHub - bazelbuild/starlark: Starlark Language

                                                                        You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                                          GitHub - bazelbuild/starlark: Starlark Language
                                                                        • Haskell+LLVM構成で作る自作コンパイラ - Qiita

                                                                          Haskellのパーサコンビネータmegaparsecと、コンパイラ基盤であるLLVMを使って、コンパイラを作ってみます。モチベーションとしてはコンパイラはC/C++を使って作るのが定番ですが、型の恩恵を受けながら開発したいなあということでHaskellでも作れないか調べてみました。 コンパイラ作成の流れ パーサコンビネータのMegaparsecで四則演算のパーサを作成します。 LLVM IR構築のライブラリであるllvm-hs-pureでLLVM IRのコードへ変換するコンパイラを作成します。 簡単な式をコンパイルしてLLVMのインタープリタlliで実行します。 LLVMのコンパイラllcでアセンブラを生成してgccでバイナリまで生成します。 環境 あらかじめ以下をインストールしておいてください。 stack 1.9.3 Haskell 8.6.5 LLVM 9.0.0 コマンドラインで

                                                                            Haskell+LLVM構成で作る自作コンパイラ - Qiita
                                                                          • GitHub - fuzzballcat/milliForth: A FORTH in 386 bytes — the smallest real programming language ever as of yet.

                                                                            You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

                                                                              GitHub - fuzzballcat/milliForth: A FORTH in 386 bytes — the smallest real programming language ever as of yet.
                                                                            • Pointers Are Complicated II, or: We need better language specs

                                                                              Pointers Are Complicated II, or: We need better language specs Some time ago, I wrote a blog post about how there’s more to a pointer than meets the eye. One key point I was trying to make is that just because two pointers point to the same address, does not mean they are equal in the sense that they can be used interchangeably. This “extra information” that distinguishes different pointers to the

                                                                              • システムコールとは何なのか - Qiita

                                                                                なぜシステムコールについて気にするのか システムコールとはOSが提供する機能をアプリケーションが利用する仕組みのことですが、システムコールについて知ることはアプリケーションの働きを理解する上で重要です。 なぜならアプリケーションの動作の中で、重要なもののほぼ全てはシステムコールを利用して実現されているからです。 例えば、ネットワークを利用した通信、ファイルへの入出力、新しいプロセスの生成、プロセス間通信、コンテナの生成などは、システムコールを使用することで実現されています。 逆にシステムコールを使わずにアプリケーションが出来ることと言えば、CPU上での計算とメモリへの入出力くらいでしょう。 この記事で解説する内容 この記事で解説する内容は、システムコールの一般的な性質や仕組みについてです。 そもそもシステムコールとは何なのか、どのような仕組みで実現されているのかというところを解説します。

                                                                                  システムコールとは何なのか - Qiita
                                                                                • Exploring the c4... compiler?

                                                                                  This week I found myself digging through the code of c4, an implementation of C “in four functions”, by Robert Swierczek. I remember coming across c4 when it was released ten years ago. It got me excited: hey, C in four functions, that means it’s easy to understand right? That excitement turned into “oh, I see” as soon as I scrolled through the code. c4 is dense, barely commented, and, frankly, st

                                                                                    Exploring the c4... compiler?