/cyberpyg

CyberPyg syntax highlighting / lexing framework

Primary LanguagePython

CyberPyg
========

CyberPyg wants to highlight your syntax. It's designed to be a flexible syntax
highlighting / lexing framework that learns by example. Feed it pre-highlighted
syntax, and it will guess how to highlight more of the same syntax. No more
writing arcane spec files to configure syntax highlighting for your new file
format! (Well, that's the dream, anyway)

About
-----

* Author:       David Barnett <davidbarnett2@gmail.com>
* Home:         http://github.com/dbarnett/cyberpyg
* License:      BSD

What does it do?
----------------
The main goal of CyberPyg itself is just to grok syntax by example. It will
understand a syntax on a lexer level, not a parser level, which means it will
know enough about the syntax to do syntax highlighting. However, actually
highlighting syntax is a secondary goal. It could just as well generate lex
files or a pygments lexer, do pass-fail checks on files for syntax errors, etc.

Why?
----

* Because it's cool
* Syntax highlighting is great, but writing lexers sucks
* It seems like a nice self-contained (but virtually impossible) challenge
* I believe the future of software development is in having software understand
    and write software, and I'm hoping to learn some tricks that will generalize
    into even harder problems