Skip to content

Instantly share code, notes, and snippets.

View raisch's full-sized avatar

raisch raisch

View GitHub Profile
{
/*
Filename: grammar.pegjs
Author: raisch@gmail.com
*/
const util = require('util')
const _ = require('lodash')
@raisch
raisch / README.md
Last active January 26, 2017 20:43
Example Of Using Interned Variables In Pegjs
/* Created by raisch on 3/21/16. */
/*jshint node:true, bitwise:true, camelcase:false, curly:true, undef:false, unused:false, eqeqeq:true, shadow:true */
'use strict';
var assert = require('assert'),
event = require('events');
/**
@raisch
raisch / gist:99ef9ed0e72f56193564
Created July 12, 2015 17:26
Ipaddr Range Membership
var atoi = function atoi(addr) {
var parts = addr.split('.').map(function(str) {
return parseInt(str);
});
return (parts[0] ? parts[0] << 24 : 0) +
(parts[1] ? parts[1] << 16 : 0) +
(parts[2] ? parts[2] << 8 : 0) +
parts[3];
};
'use strict';
const
fs = require('fs'),
filename = process.argv[2];
console.log('--watching %s',filename);
var watcher=fs.watch(filename);
watcher.on('change',function(){
@raisch
raisch / Config.js
Created October 1, 2013 23:41
Node require.cache tomfoolery
module.exports={
foo:true,
bar:false
};
@raisch
raisch / taskrunner.js
Created July 14, 2011 18:51
TaskRunner - runs any number of functions asynchronously and in order
var util=require('util'),
events=require('events'),
EventEmitter=events.EventEmitter;
/*
* TaskRunner - runs any number of functions asynchronously and in order
*
* var runner = new TaskRunner( func(s) || { options } );
*
* runner.init({
@raisch
raisch / regex_tokenizer.js
Created June 10, 2011 13:29
Regular Expression Sentence Tokenizer (English)
// tokenize(str)
// extracts semantically useful tokens from a string containing English-language sentences
// @param {String} the string to tokenize
// @returns {Array} contains extracted tokens
function tokenize(str) {
var punct='\\['+ '\\!'+ '\\"'+ '\\#'+ '\\$'+ // since javascript does not
'\\%'+ '\\&'+ '\\\''+ '\\('+ '\\)'+ // support POSIX character
'\\*'+ '\\+'+ '\\,'+ '\\\\'+ '\\-'+ // classes, we'll need our