diff --git a/src/bindings/ruby/.gitignore b/src/bindings/ruby/.gitignore
index 0f57d62539dd624381fa38ab40fb63dc08bd9fa8..66f8ed35a47c740ac93a12aa7a32528721bdc127 100644
--- a/src/bindings/ruby/.gitignore
+++ b/src/bindings/ruby/.gitignore
@@ -1,3 +1 @@
-/tmp/
-/lib/hammer/hammer_ext.bundle
 /Gemfile.lock
diff --git a/src/bindings/ruby/Gemfile b/src/bindings/ruby/Gemfile
index 96ca0895a3df9fa33d77feb9c28c0063532f84c0..9e7a9bec407e905ae865544939da80d4de239b28 100644
--- a/src/bindings/ruby/Gemfile
+++ b/src/bindings/ruby/Gemfile
@@ -2,9 +2,6 @@ source 'https://rubygems.org'
 
 gemspec
 
-gem 'rake'
-gem 'rake-compiler'
-
 group :test do
   # ...
 end
diff --git a/src/bindings/ruby/README.md b/src/bindings/ruby/README.md
index 1876fc7317823d0234c6157b9128c101e8d1b90c..e69a504aae072f1d6d438c428c1d2ddbc640730e 100644
--- a/src/bindings/ruby/README.md
+++ b/src/bindings/ruby/README.md
@@ -7,8 +7,6 @@ Ruby bindings for [hammer](https://github.com/UpstandingHackers/hammer), a parsi
 
 * I called the gem `hammer-parser`, since there already is a [gem named `hammer`](https://rubygems.org/gems/hammer).
 
-* C extension not really needed at the moment, if we don't mind hardcoding the token types in the ruby code.
-
 
 ## Development
 
@@ -16,9 +14,7 @@ Ruby bindings for [hammer](https://github.com/UpstandingHackers/hammer), a parsi
 
 2. Run `bundle install` to install dependencies.
 
-3. Run `rake compile` to compile the C extension.
-
-4. Run `irb -I ./lib -r hammer` to open `irb` with hammer loaded.
+3. Run `irb -I ./lib -r hammer` to open `irb` with hammer loaded.
 
 
 ## Installation
diff --git a/src/bindings/ruby/Rakefile b/src/bindings/ruby/Rakefile
deleted file mode 100644
index 646654da332297cb1a8db844ee513da41f85ebb2..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/Rakefile
+++ /dev/null
@@ -1,8 +0,0 @@
-require 'rake/extensiontask'
-
-#spec = Gem::Specification.load('hammer-parser-ruby.gemspec')
-#Rake::ExtensionTask.new('hammer_ext', spec)
-
-Rake::ExtensionTask.new 'hammer_ext' do |ext|
-  ext.lib_dir = 'lib/hammer'
-end
diff --git a/src/bindings/ruby/ext/hammer_ext/extconf.rb b/src/bindings/ruby/ext/hammer_ext/extconf.rb
deleted file mode 100644
index d5158a70c8c41ed748bde99f9d9f74555e1625e8..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/ext/hammer_ext/extconf.rb
+++ /dev/null
@@ -1,9 +0,0 @@
-require 'mkmf'
-
-extension_name = 'hammer_ext'
-dir_config extension_name
-
-abort 'ERROR: missing hammer library' unless have_library 'hammer'
-abort 'ERROR: missing hammer.h' unless have_header 'hammer.h'
-
-create_makefile extension_name
diff --git a/src/bindings/ruby/ext/hammer_ext/hammer_ext.c b/src/bindings/ruby/ext/hammer_ext/hammer_ext.c
deleted file mode 100644
index 6b461c6eda08b397c6a3082be856dc4fb6f9e1eb..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/ext/hammer_ext/hammer_ext.c
+++ /dev/null
@@ -1,6 +0,0 @@
-#include "token_type.h"
-
-void Init_hammer_ext(void)
-{
-  Init_token_type();
-}
diff --git a/src/bindings/ruby/ext/hammer_ext/hammer_ext.h b/src/bindings/ruby/ext/hammer_ext/hammer_ext.h
deleted file mode 100644
index 98fc2dad30c6c8e8e204fef159fe1bc5285a3068..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/ext/hammer_ext/hammer_ext.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef HAMMER_EXT__H
-#define HAMMER_EXT__H
-
-// ...
-
-#endif
diff --git a/src/bindings/ruby/ext/hammer_ext/token_type.c b/src/bindings/ruby/ext/hammer_ext/token_type.c
deleted file mode 100644
index a154d7ed8313b5b0a7aed876b319277de25438d8..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/ext/hammer_ext/token_type.c
+++ /dev/null
@@ -1,20 +0,0 @@
-#include <ruby.h>
-#include <hammer.h>
-
-#include "token_type.h"
-
-#define DefineHammerInternalConst(name) rb_define_const(mHammerInternal, #name, INT2FIX(name));
-
-void Init_token_type(void)
-{
-  VALUE mHammer = rb_define_module("Hammer");
-  VALUE mHammerInternal = rb_define_module_under(mHammer, "Internal");
-
-  DefineHammerInternalConst(TT_NONE);
-  DefineHammerInternalConst(TT_BYTES);
-  DefineHammerInternalConst(TT_SINT);
-  DefineHammerInternalConst(TT_UINT);
-  DefineHammerInternalConst(TT_SEQUENCE);
-  DefineHammerInternalConst(TT_ERR);
-  DefineHammerInternalConst(TT_USER);
-}
diff --git a/src/bindings/ruby/ext/hammer_ext/token_type.h b/src/bindings/ruby/ext/hammer_ext/token_type.h
deleted file mode 100644
index 5652ce6b5fd2a5e295c6da137013a649d6ac59fd..0000000000000000000000000000000000000000
--- a/src/bindings/ruby/ext/hammer_ext/token_type.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef HAMMER_EXT_TOKEN_TYPE__H
-#define HAMMER_EXT_TOKEN_TYPE__H
-
-void Init_token_type(void);
-
-#endif
diff --git a/src/bindings/ruby/lib/hammer.rb b/src/bindings/ruby/lib/hammer.rb
index 4b86690cfd6ddc7db8c132bf815cd83667109a1c..2032b36afbaa54841822802295a9799753ad199e 100644
--- a/src/bindings/ruby/lib/hammer.rb
+++ b/src/bindings/ruby/lib/hammer.rb
@@ -1,4 +1,3 @@
-require 'hammer/hammer_ext'
 require 'hammer/internal'
 require 'hammer/parser'
 require 'hammer/parser_builder'