Pages tagged compiler:

http://www.g-brain.net/tutorials/writing-linux-programs-in-raw-binary.txt
http://www.g-brain.net/tutorials/writing-linux-programs-in-raw-binary.txt

linux system call
Documents the journey from C code to assembly to machine code very nicely.
why's potion at master — GitHub
http://github.com/why/potion/tree/master
(Yet another) new programming language, aiming to be clean and explore ideas related to mixins. JIT-based (for x86, x86_64), should integrate well with C. Based on Lua VM.
Potion is an object- and mixin-oriented (traits) language.
Programming language by _why, very cool stuff.
Potion is an object- and mixin-oriented (traits) language.
"a little fast language"
Potion is an object- and mixin-oriented (traits) language. By why?
so that's what why_ has been up to. writing a new language.
o.O
Create a Language Compiler for the .NET Framework Using C#
http://msdn.microsoft.com/en-us/magazine/cc136756.aspx
Compiler hackers are celebrities in the world of computer science. I've seen Anders Hejlsberg deliver a presentation at the Professional Developers Conference and then walk off stage to a herd of men and women asking him to sign books and pose for photographs. There's a certain intellectual mystique about individuals who dedicate their time to learning and understanding the ins and outs of lambda expressions, type systems, and assembly languages. Now, you too can share some of this glory by writing your own compiler for the Microsoft® .NET Framework.
Course Information | Introduction to Compilers
http://ece-www.colorado.edu/~siek/ecen4553/
siek! Free!
あとで見る
Sexy Lexing with Python | Evan Fosmark
http://www.evanfosmark.com/2009/02/sexy-lexing-with-python/
Lexical analysis, a daunting task right? Wrong! In the following document we'll walk through different methods of lexical scanning in Python. First, we'll look
ProjectPlan - unladen-swallow - Plans for optimizing Python - Google Code
http://code.google.com/p/unladen-swallow/wiki/ProjectPlan
Où l'on voit apparaître le verbe "to desugar"
LESS - Leaner CSS
http://lesscss.org/
Turns out that sometimes less is CSS.
jlongster - Writing apps for the iPhone in Scheme
http://jlongster.com/blog/2009/06/17/write-apps-iphone-scheme/
MILEPOST
http://www.milepost.eu/
read PLDI paper
an overview of TraceMonkey at hacks.mozilla.org
http://hacks.mozilla.org/2009/07/tracemonkey-overview/
Annotated link http://www.diigo.com/bookmark/http%3A%2F%2Fhacks.mozilla.org%2F2009%2F07%2Ftracemonkey-overview
This will explain what kinds of programs get the best speedup from TraceMonkey and what kinds of things you can do to get your program to run faster.
Tiny Code: New additions: Movitz Lisp, Ocaml Mindstorm
http://kmkeen.com/tiny-code/index.html
小さい処理系のまとめ, lisp, scheme, forthなどなど
gnuu.org: Writing Your Own Toy Compiler Using Flex, Bison and LLVM
http://gnuu.org/2009/09/18/writing-your-own-toy-compiler/
"If you follow this article, you should end up with a language that can define functions, call functions, define variables, assign data to variables and perform basic math operations. It will support two basic types, doubles and integers. Some of the functionality is unimplemented, so you can have the satisfaction of actually implementing some of this stuff yourself and get the hang of writing a compiler with a little help."
Tutorial for writing your own compiler
Google Code Blog: Introducing Closure Tools
http://googlecode.blogspot.com/2009/11/introducing-closure-tools.html
"Closure Compiler is a JavaScript optimizer that compiles web apps down into compact, high-performance JavaScript code. The compiler removes dead code, then rewrites and minimizes what's left so that it will run fast on browsers' JavaScript engines. The compiler also checks syntax, variable references, and types, and warns about other common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source. "
As we continue exploring our mistakes, with last week’s blog challenge about the worst mistake we’ve made in a relationship, this week I’m going to challenge your work history and experience.
Closure Compiler - Google Code
http://code.google.com/closure/compiler/
"The Closure Compiler is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. Efficiency. The Closure Compiler reduces the size of your JavaScript files and makes them more efficient, helping your application to load faster and reducing your bandwidth needs. Code checking. The Closure Compiler provides warnings for illegal JavaScript and warnings for potentially dangerous operations, helping you to produce JavaScript that is less buggy and and easier to maintain."
is a tool for making JavaScript download and run faster. It is a true compiler for JavaScript.
Closure Compiler Service
http://closure-compiler.appspot.com/home
Compressore Javascript Google
Google JavaScript Compiler
The Magic Behind Parser Combinators - Code Commit
http://www.codecommit.com/blog/scala/the-magic-behind-parser-combinators
If you’re like me, one of the first things that attracted you to Scala was its parser combinators. Well, maybe that wasn’t the first thing for me, but it was pretty far up there. Parser combinators make it almost too easy to create a parser for a complex language without ever leaving the comfortable play-pen afforded by Scala. Incidentally, if you aren’t familiar with the fundamentals of text parsing, context-free grammars and/or parser generators, then you might want to do some reading before you continue with this article.
If you ever want to write a basic parser in Scala, take a look at this.
need
The If Works » Blog Archive » Talk: Writing a language in 15 minutes
http://blog.jcoglan.com/2009/05/19/talk-writing-a-language-in-15-minutes/
I gave a talk at London Ruby User Group yesterday, based on the work I’ve been doing on Heist, my Scheme interpreter project. I wrote the core of a basic Scheme interpreter in about 15 minutes as a live-coded demo (well, kind of – the coding was pre-recorded so I could focus on talking), which seemed to go down pretty well.
15分で作るScheme interpreter in Ruby.
A talk on how to implement a Scheme interpreter in 15 minutes. The parsing is taken care of primarily by Treetop, a syntactic analysis / parser creation DSL for Ruby.
ideone.com
http://ideone.com/
nopaste inaczej (potrafi skomppilowac i odpalic wklejony kod)
CoffeeScript
http://jashkenas.github.com/coffee-script/
CoffeeScript is a little language that compiles into JavaScript. Think of it as JavaScript's less ostentatious kid brother — the same genes, roughly the same height, but a different sense of style. Apart from a handful of bonus goodies, statements in CoffeeScript correspond one-to-one with their equivalent in JavaScript, it's just another way of saying it.
"CoffeeScript is a little language that compiles into JavaScript. Think of it as JavaScript's less ostentatious kid brother — the same genes, roughly the same height, but a different sense of style. Apart from a handful of bonus goodies, statements in CoffeeScript correspond one-to-one with their equivalent in JavaScript, it's just another way of saying it."
anic - Project Hosting on Google Code
http://code.google.com/p/anic/
Faster than C, safer than Java, simpler than *sh
[[int\]
Ventonegro » Blog Archive » Bibliography of Programming Languages Implementation
http://www.ventonegro.org/2008/07/bibliography-of-programming-languages-implementation/
Bibliography of Programming Languages Implementation
Facebook Developers | HipHop for PHP: Move Fast
http://developers.facebook.com/news.php?blog=1&story=358
With HipHop we've reduced the CPU usage on our Web servers on average by about fifty percent, depending on the page. Less CPU means fewer servers, which means less overhead. This project has had a tremendous impact on Facebook. We feel the Web at large can benefit from HipHop, so we are releasing it as open source this evening in hope that it brings a new focus toward scaling large complex websites with PHP. While HipHop has shown us incredible results, it's certainly not complete and you should be comfortable with beta software before trying it out.
HipHop for PHP. With HipHop we've reduced the CPU usage on our Web servers on average by about fifty percent, depending on the page. Less CPU means fewer servers, which means less overhead.
Facebook is a social utility that connects people with friends and others who work, study and live around them. People use Facebook to keep up with friends, upload an unlimited number of photos, post links and videos, and learn more about the people they meet.
Gallery of Processor Cache Effects
http://igoro.com/archive/gallery-of-processor-cache-effects/
tinyrb
http://code.macournoyer.com/tinyrb/
"tinyrb is the smallest Ruby VM to date. It won't run all your Ruby code, but it's fast and fun to play with."
wee ruby VM in early development
smallest Ruby VM to date. It won't run all your Ruby code, but it's fast and fun to play with.
Ksplice » Hello from a libc-free world! (Part 1) - System administration and software
http://blog.ksplice.com/2010/03/libc-free-world/
As an exercise, I want to write a Hello World program in C simple enough that I can disassemble it and be able to explain all of the assembly to myself. This should be easy, right? [...]
Nice article about compiling "Hello World" without libc under linux. Suprisingly deep digging necessary to get it to run properly.
"Hello, world" without libc
As an exercise, I want to write a Hello World program in C simple enough that I can disassemble it and be able to explain all of the assembly to myself.
PEG.js – Parser Generator for JavaScript
http://pegjs.majda.cz/
enter your own lexer
Expert to Expert - Erik Meijer and Lars Bak: Inside V8 - A Javascript Virtual Machine | Going Deep | Channel 9
http://channel9.msdn.com/shows/Going+Deep/Expert-to-Expert-Erik-Meijer-and-Lars-Bak-Inside-V8-A-Javascript-Virtual-Machine/
Expert to Expert - Erik Meijer and Lars Bak: Inside V8 - A Javascript Virtual Machine | Going Deep | Channel 9
Lars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution…
ars Bak is a virtual machine master. He and team have created a Javascript VM, V8, that takes Javascript syntax and produces optimized machine code directly. The result is very performant execution of Javascript. How does V8 work, exactly? What are the basic design decisions that have gone into it's construction? Why is it designed the way it is? How fast can Javascript really run, anyway? How challenging is it to take a language like Javascript and produce highly optimized machine code? Erik Meijer, language designer and fundamentalist functional high priest, discusses these questions and more with Lars. We also talk about the language to machine code translation versus having an intermediate step (like IL) that gets optimized further in runtime context by a JITer. If you want to know the thinking behind the thinking of Javascript compilation, the current state of the art and future directions, then this is for you. Big thanks to Lars Bak for spending time with Channel 9!
Nice chat about V8 concepts with Lars Bak -- interesting ideas on code-as-IR.
7 lines of code, 3 minutes: Implement a programming language
http://matt.might.net/articles/implementing-a-programming-language/
Implementing a programming language is an experience no programmer should go without; the process fosters a deep understanding of computation, and beside that, it's fun!
!
Writing a new programming Language