Skip to content

Instantly share code, notes, and snippets.

View marijnh's full-sized avatar

Marijn Haverbeke marijnh

View GitHub Profile
@marijnh
marijnh / parselisp.js
Created November 11, 2010 16:19
Elementary CodeMirror Lisp parser (specialized for AllegroGraph Prolog queries)
// Parses a small subset of Common Lisp as used in AGraph Prolog queries.
LispParser = Editor.Parser = (function() {
function wordRegexp(words) {
return new RegExp("^(?:" + words.join("|") + ")$", "i");
}
var specialForms = wordRegexp(["select", "select-distinct", "select0-distinct", "select0", "<-", "<--"]);
var symbolChars = /[^\s\u00a0\(\)#!<]/;
var tokenizeLisp = (function() {
<html>
<body>
<script>
var frame = document.createElement("IFRAME");
frame.src = "javascript:false";
document.body.appendChild(frame);
var win = frame.contentWindow;
win.document.open();
win.document.write("<html><body>XX<script>document.write('YY');<\/script></body></html>");
win.document.close();
@marijnh
marijnh / gist:865862
Created March 11, 2011 13:14
Rust Makefile issue
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
Reading makefiles...
Reading makefile `Makefile'...
cfg: building on Linux x86_64
import std._vec;
import std._str;
import std.option;
import middle.ty;
import front.ast;
import util.common;
// Compact string representation for ty.t values. API ty_str & parse_from_str.
// (The second has to be authed pure.) Extra parameters are for converting
// to/from def_ids in the string rep. Whatever format you choose should not
@marijnh
marijnh / phpsimple.js
Created March 26, 2011 20:47
non-embedded PHP mode for codemirror
(function() {
function keywords(str) {
var obj = {}, words = str.split(" ");
for (var i = 0; i < words.length; ++i) obj[words[i]] = true;
return obj;
}
var phpKeywords =
keywords("abstract and array as break case catch cfunction class clone const continue declare " +
"default do else elseif enddeclare endfor endforeach endif endswitch endwhile extends " +
"final for foreach function global goto if implements interface instanceof namespace " +
cc1plus: warnings being treated as errors
In file included from ./src/rt/rust_internal.h:48,
from ./src/rt/rust.cpp:1:
./src/rt/sync/lock_free_queue.h: In member function ‘bool lock_free_queue<T>::compare_and_swap(lock_free_queue<T>::pointer_t*, lock_free_queue<T>::pointer_t*, lock_free_queue<T>::pointer_t) [with T = rust_message*]’:
./src/rt/sync/lock_free_queue.h:154: instantiated from ‘void lock_free_queue<T>::enqueue(T) [with T = rust_message*]’
./src/rt/rust_message.h:119: instantiated from here
./src/rt/sync/lock_free_queue.h:91: error: dereferencing type-punned pointer will break strict-aliasing rules
make: *** [rt/rust.o] Error 1
tag name { long(str); short(char); }
fn main() {
if (long("Abc") == long("Def")) {
log_err "ARGH";
}
}
commit ff98487d35883e8a55827c992da9c2f43fa55068
Author: Marijn Haverbeke <[email protected]>
Date: Thu Apr 28 14:20:35 2011 +0200
stab at taking/dropping function args
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 3e316ab..335b706 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@marijnh
marijnh / gist:1006016
Created June 3, 2011 07:44
deftable example
(defclass test-data ()
((id :col-type serial :initarg :id :accessor test-id)
(a :col-type (or (varchar 100) db-null) :initarg :a :accessor test-a)
(b :col-type boolean :col-default nil :initarg :b :accessor test-b))
(:metaclass dao-class)
(:table-name dao-test)
(:keys id))
(deftable test-data
tag a {
left(int);
right(bool);
}
fn sabotage(@rec(mutable a foo) x) {
x.foo = left(0);
}
fn main() {