In this tutorial we're going to build a set of parser combinators.
We'll answer the above question in 2 steps.
- What is a parser?
- and, what is a parser combinator?
So first question: What is parser?
| var gulp = require('gulp'); | |
| var sourcemaps = require('gulp-sourcemaps'); | |
| var source = require('vinyl-source-stream'); | |
| var buffer = require('vinyl-buffer'); | |
| var browserify = require('browserify'); | |
| var watchify = require('watchify'); | |
| var babel = require('babelify'); | |
| function compile(watch) { | |
| var bundler = watchify(browserify('./src/index.js', { debug: true }).transform(babel)); |
| { | |
| /* Keybindings for emacs emulation. Compiled by Jacob Rus. | |
| * | |
| * This is a pretty good set, especially considering that many emacs bindings | |
| * such as C-o, C-a, C-e, C-k, C-y, C-v, C-f, C-b, C-p, C-n, C-t, and | |
| * perhaps a few more, are already built into the system. | |
| * | |
| * BEWARE: | |
| * This file uses the Option key as a meta key. This has the side-effect | |
| * of overriding Mac OS keybindings for the option key, which generally |