Skip to content

Instantly share code, notes, and snippets.

@nanki
nanki / helloworld.ll
Created April 15, 2012 08:13
optimized!
; ModuleID = '-'
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64"
target triple = "x86_64-apple-macosx10.7.3"
define i32 @main(i32 %argc, i8** nocapture %argv) nounwind uwtable ssp {
%1 = call i32 @putchar(i32 72) nounwind
%2 = call i32 @putchar(i32 101) nounwind
%3 = call i32 @putchar(i32 108) nounwind
%4 = call i32 @putchar(i32 108) nounwind
%5 = call i32 @putchar(i32 111) nounwind
@nanki
nanki / max.kl
Created April 1, 2012 02:09
compute max value.
operator entry() {
Scalar array[];
for (Size i = 0; i < 1000000; i++) {
array.push(1);
array.push(0);
array.push(2);
array.push(3);
array.push(1);
array.push(5);
}
class Fixnum
def **(n)
self..n
end
end
class Range
def %(step)
self.step(step)
end
@nanki
nanki / codegene.rb
Created February 22, 2012 09:31
Calculate & display the differences among multiple files.
#!/usr/bin/env ruby
# Requirements:
# Ruby1.9
# gem 'ansi'
# gem 'text_layout'
# diff
# diffstat
require 'shellwords'
@nanki
nanki / mappingml.rb
Created February 12, 2012 18:06
sugary mappingml.
#!/usr/bin/env ruby
require 'nokogiri'
SEPARATOR = '->'
class ClassInfo
attr_reader :packageName, :name
def initialize(qualified_name)
names = qualified_name.split '.'
<!--
java.awt.Color -> System.Drawing.Color
new Color(int,int,int) -> System.Drawing.Color.FromArgb(255, @1, @2, @3)
.black -> .BLACK
.setEnabled(boolean) -> .Enabled = ...
-->
<mapping>
<packages>
<package name="java.awt">
@nanki
nanki / monad_plus.hs
Created January 8, 2012 07:35
Parsec golf.
import qualified Text.Parsec as P
import Control.Applicative
import Control.Monad (msum)
main = do
P.parseTest primitive0 "short"
P.parseTest primitive1 "byte"
P.parseTest primitive2 "char"
primitive0 = do
@nanki
nanki / java.hs
Created January 7, 2012 12:00
a parser for java class declaration.
import qualified Text.Parsec as P
import Control.Applicative
import Control.Monad (liftM, liftM2, msum)
data AST =
ClassDeclaration AST AST (Maybe AST) (Maybe AST) (Maybe AST) |
Identifier String |
Keyword String |
Comment String |
ClassModifiers [AST] |
@nanki
nanki / mail
Created November 14, 2011 06:11
【お知らせ】関西闇Ruby会議
関西闇Ruby会議の参加者の方へ
3日連続でお疲れ様でした。いま僕はVim勉強会と関西闇Ruby勉強会と関西闇Ruby勉強会公式残業会の全てを終えて帰途についている電車の中でこのメールを書いているところです。
関西闇Ruby会議は家に帰ってブログを書いて投稿するまでが関西闇Ruby会議です。ブログを投稿するだけでなく、ハッシュタグ
#kyami
をつけてtwitterなどにそのURLを投稿すると、後日RubyKaigi Nikkiなどに書かれる予定のまとめ記事からリンクされるので、便利です。
@nanki
nanki / findup.rb
Created November 10, 2011 14:06
find a file upward.
#!/usr/bin/env ruby
require 'pathname'
pattern = ARGV.shift
dir = ARGV.shift || Dir.pwd
Pathname(dir).expand_path.ascend{|d| puts Dir.glob(d + pattern)}