Skip to content

Instantly share code, notes, and snippets.

View alucky0707's full-sized avatar

Hoshinoma Araki alucky0707

View GitHub Profile
@alucky0707
alucky0707 / searchbox.exe.manifest
Last active May 27, 2017 17:44
WALKのサンプル。テキストエリアの文字列を検索する。 ref. http://qiita.com/alucky0707/items/b066ccd2ff8517cf79fb
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="*" name="SomeFunkyNameHere" type="win32"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>
@alucky0707
alucky0707 / parser.bnf
Created August 10, 2013 00:46
Go言語で簡単なパーサー書いてみた ref: http://qiita.com/alucky0707/items/acb963b7bdeadfc60e29
top ::= "?"? line | ""
line ::= (ident "=")? line | expr
expr ::= term (("+" | "-") term)*
term ::= fact (("*" | "/") fact)*
fact ::= "(" expr ")"
| ("+" | "-") fact
| number
| ident
number :::= [0-9]+
@alucky0707
alucky0707 / inverse.js
Created July 31, 2013 07:42
Objectのkeyとvalueを反転させる。もしくはJSでenumを作る。 ref: http://qiita.com/alucky0707/items/de59e49de855e56be733
/**
* オブジェクトのkeyとvalueを反転させる
* @param {Object} obj 反転させるオブジェクト
* @param {Boolean} [keyIsNumber=false] keyが数値であるか?(数値ならkeyを反転させるとき数値に変換する)
* @return {Object} keyとvalueの反転したオブジェクト
*/
function inverseObject (obj, keyIsNumber) {
return Object.keys(obj).reduceRight(function (ret, k) {
return (ret[obj[k]] = keyIsNumber ? parseInt(k, 10) : k, ret);
}, {});
@alucky0707
alucky0707 / pl0.js
Created July 8, 2013 12:04
PL/0 to JavaScript Compiler
/*
PL/0 Compiler for JavaScript v0.1.0
copyright 2013 alucky0707
licensed by http://opensource.org/licenses/MIT
*/
/*
BNF
program = block "." .
@alucky0707
alucky0707 / parsec.js
Last active December 18, 2015 19:49
Parsecっぽい何か
// TODO: コメント書け!
(function(exports) {
var
debug = false;
function extend(trait, target) {
var
p;
for(p in trait) {
target[p] = trait[p];
var
async = require('async'),
ideone = require('./jsonrpc').createClient('http://ideone.com/api/1/service.json');
var
user = 'your user',
pass = 'your pass',
lang = {'python': 4, 'ruby': 17}['ruby'],
src = 'puts "Hello, World!"',
input = '';
module.exports = (function() {
/* constructor */
function Search(arr){
if(!(this instanceof Search)) return new Search(arr);
this._arr = arr;
this._createTable();
}
var
function main() {
var
i, j, n, m, x,
len = input.length;
for(i = 0; i < len; i++) {
n = parseInt(input[i], 10);
if(n === 0) break;
m = ~~(n / 2);
for(x = 0, j = 0; primes[j] <= m; j++) {
if(primesTable[n - primes[j]]) x++;
@defined_patterns = File.read("defined_patterns.dat", encoding: Encoding::UTF_8).split("\n").map{|s|s.split(":#")}
@default_messages = File.read("default_messages.dat", encoding: Encoding::UTF_8).split("\n")
def generateReply(inputMessage)
matched = [@default_messages[rand @default_messages.length]]
@defined_patterns.each do|pattern, result|
if inputMessage.index(pattern)
matched << result
end
end
@alucky0707
alucky0707 / file10.txt
Created May 16, 2013 11:52
竹内関数をメモ化とか遅延で高速化してみた ref: http://qiita.com/items/b3f9ab63c63e9e6399e6
$ node tak.js simple 13 7 0