Skip to content

Instantly share code, notes, and snippets.

@gengar
gengar / pd-extractor.js
Created July 24, 2023 04:48
ジムリーダーの城の保存用HTMLの再現ボタン様のフォームからPD値を取り出すブックマークレット
javascript:(function(){let s,f,i=0,a=document.forms;for(;f=a[i++];)if(f.C&&/^1(?:_x_(?:\d{1,3}_){2}(?:[0-9a-f]_){4}(?:\d{1,2}_){5}(?:\d{1,3}_){4}(?:\d{1,2}_){4}(?:[0-3]_){4}\d{1,3}_0_\d{1,3}){6}/i.test(s=f.C.value))f.C.type="text";})();
@gengar
gengar / hiddenpower-inspector-for-保存用HTML.js
Created July 24, 2023 04:45
ジムリーダーの城の保存用HTMLのめざパのタイプを表示するブックマークレット
javascript:(function(){let i,j,g,c=document.getElementsByTagName("input")[1].value.split("_");for(i=0;i<6;i++){for(j=3;j<7;j++){g=document.getElementsByTagName("tr")[i+1].getElementsByTagName("td")[j];g.innerHTML=g.innerHTML.replace("めざめるパワ-", "めざパ("+["格","飛","毒","地","岩","虫","霊","鋼","炎","水","草","電","超","氷","竜","悪"][("0x"+c[i*27+4]-0)%4*4+("0x"+c[i*27+5]-0)%4]+")");}}})();
@gengar
gengar / fcontrol.rkt
Created July 7, 2020 17:14
fcontrol/runってこういう理解でOK?
#lang racket
(require racket/control)
(define (call-with-run thunk proc)
(call/prompt thunk
(default-continuation-prompt-tag)
proc))
(define-syntax run
(syntax-rules ()
@gengar
gengar / function-try-block.el
Created May 26, 2020 15:54
c++-modeがfunction-try-blockのインデントでおかしいのをadviceで修正する試み
;; c-beginning-of-statement-1 は function-try-block のとき、
;; (1) メンバ初期化があれば、最初のメンバ初期化の先頭
;; (2) さもなくば、 try の先頭
;; まで point が動く。try の先頭位置から再び c-beginning-of-statement-1 すると期待する場所へ動く。
(defun my:c-beginning-of-statement-1 (orig &rest args)
(let* ((ret (apply orig args))
(try-pos (and (eq 'c++-mode major-mode)
(save-excursion
(or (and (looking-at-p "try")
(point))
#define PP_AUX_STR(s) #s
#define PP_STR(s) PP_AUX_STR(s)
#define PP_AUX_CAT(x, y) x ## y
#define PP_CAT(x, y) PP_AUX_CAT(x, y)
#define PP_ARG_HEAD(arg, ...) arg
#define PP_ARG_TAIL(arg, ...) __VA_ARGS__
#define PP_AUX_ARG_GET_0(a0, ...) a0
@gengar
gengar / c-grammar.scm.patch
Last active October 3, 2019 15:23
c-wrapperがMojave+Xcode11で動かなかったので
--- c-grammar.scm.orig 2019-10-04 00:07:42.000000000 +0900
+++ c-grammar.scm 2019-10-03 22:17:39.000000000 +0900
@@ -19,7 +19,7 @@
XOR_ASSIGN OR_ASSIGN TYPENAME
TYPEDEF EXTERN STATIC AUTO REGISTER INLINE RESTRICT
- SIGNED UNSIGNED CONST VOLATILE
+ SIGNED UNSIGNED CONST VOLATILE NULLABLE NONNULL
STRUCT UNION ENUM ELLIPSIS RANGE
// ==UserScript==
// @name puyopContestManager
// @namespace https://twitter.com/kaki_puyo
// @description ぷよパークの3DSぷよ通対戦会の登録を補助する
// @include http://www.puyop.com/Contest
// @version 0.1.0
// @grant unsafeWindow
// @grant GM_xmlhttpRequest
// ==/UserScript==
(use util.match)
(use gauche.record)
(define-syntax m
(er-macro-transformer
(^ (form r c)
(match form
((_ name)
`(,(r 'define-record-type)
,(r name)
@gengar
gengar / ref.scm
Last active October 29, 2015 06:56
(define ~/default
(case-lambda
((obj index default)
(ref obj index default))
((obj index i x . xs)
(apply ~/default
(ref obj index)
i x xs))))
(define-syntax ~~
{-# LANGUAGE FlexibleContexts #-}
module Lexer ( tokenize, token, tokenEq, tokenChar, tokenString
, BaseToken, BaseLexer, BaseParser
) where
import Control.Applicative
import Control.Monad.Identity
import Text.Parsec hiding (token)
import qualified Text.Parsec as Parsec (token)