closes #46 closes #63 closes #41

Redefines alphabet.base and makes all functions work with the given base
Squashed commit of:

commit f054de20b57f13b9445c5a5d60db3f338021c55d
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:38:51 2014 +0000

    fixes functional tests

commit 8268671658ca96822426e64ec66ec599b90b5d75
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:15:32 2014 +0000

    disables some lexer tests

commit a9fd2bf697f067739fe77bc471a096d20ca02010
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:15:05 2014 +0000

    restores testEmptyInput

commit b79f1e13bfee1bad21636ecfb4126bb0374589a3
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:14:33 2014 +0000

    removes duplicated tests

commit 3ac77ca11047082969ba676046430a76582679b2
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:14:10 2014 +0000

    simplifies GeneralLexer

commit 3811ce9f9fae126b6b80ee883df6fa82e5090315
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 11:13:17 2014 +0000

    improves docstring

commit 63317b37cfb2728f07c2efdf2391373fcb8a3d03
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 09:56:28 2014 +0000

    fixes more tests

commit 5dedc65a075522a78674dd320f4c793f0b5700fe
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Feb 12 08:45:15 2014 +0000

    improves graph generation

commit 8e175e1472581fa5916d8bdfef277a7e12b58ceb
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 18:06:18 2014 +0000

    fixes tests

commit ce12394c37262ea4e318bdec4d1b49ef45d7b574
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 17:13:22 2014 +0000

    improves Encoding's __getitem__ and __contains__

commit 12ae103acbf88fd3697c777baeeb8a1b54480e0f
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 16:34:06 2014 +0000

    fixes several tests

commit ed6c1f1f6ab74c3410ba418d76afa9ade324645c
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 16:05:15 2014 +0000

    fixes several tests

commit da8120f94daa96a383c6f7ce124f1ab1fd57b4bc
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 16:04:02 2014 +0000

    fixes extract with empty inputs

commit aa7162b6968a6ab74f878a0205b6dbf97cc40dd3
Merge: a9f360b 584368c
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Feb 11 12:35:58 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit a9f360b18a5f6676779916912aa63b8ef03f929b
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 21:09:19 2014 +0000

    fixes GeneralParser result order

commit 7458e58cafdfd9223d9928b4f007c1b330c5fae8
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 19:40:25 2014 +0000

    several fixes

commit 1cddb6ccf7daf9b88acae851a2e039d5a4f55077
Merge: 280c4fe 77b5061
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 19:07:11 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Parser/Backtracing.py
    	tests/unit/test_Alphabet.py
    	tests/unit/test_Extract.py
    	tests/unit/test_Lexer.py

commit 280c4fef183a9f35cee3e5597bb52cd0c50e09c2
Merge: 015dccc 75e3c2d
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 16:39:27 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Grammar/Alphabet.py
    	pydsl/Lex.py

commit 015dccc53636baf113b3fe7d321ef73eb72f7507
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 16:20:17 2014 +0000

    handles list of Token input

commit 978ddadc0c6b4a364dd60a0d6f31ebffc1622cc3
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 15:44:57 2014 +0000

    Extract should work with Token lists

commit 0a7ead7e7e652f6e5399cdd0a1443f4402b62c14
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 14:44:39 2014 +0000

    fixes test function calls (not working yet)

commit 81ce4e9df518393fb9b4c97c05a8b18e0c1c7549
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 14:44:00 2014 +0000

    removes AlphabetChain test

commit 97b24ebd778b7bd6adf4b525a288794f12623789
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 14:38:27 2014 +0000

    fixes bad merge

commit a7135da78507f4e7c0eb5628e48accc49fcb1abc
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 14:35:48 2014 +0000

    convert values returned from a lexer into a list of PositionTokens

commit b77f0f195953d4eb3c9e166617a5ff79f9b4a6c5
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 14:21:25 2014 +0000

    fixes usage of PositionToken in tests

commit e438cce59b43f0b6ea0f2973a15d49ad5f239e78
Merge: fb4313e f1f5e7c
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 11:52:43 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py
    	pydsl/Parser/Parser.py
    	tests/unit/test_Extract.py

commit fb4313e13b1b6ec70351e5a5d602d431b61f6024
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 09:30:41 2014 +0000

    fixes a bad merge

commit d2a5816a8b2a5a2ecff42117d5d4c9b424133ac1
Merge: c1a17a5 e825944
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 09:30:00 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit c1a17a514e81df4f0aff8e43c0de6db14e29b65a
Merge: 3817395 031a3da
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Feb 10 09:26:24 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py
    	tests/unit/test_Lexer.py

commit 381739565df862954ed18eb5300cc6c2cea2bdaf
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Feb 9 18:08:53 2014 +0000

    removes lexer_generator

commit 438132b150c4ed1f5c3eaf45e9d26efc777e18c6
Merge: 5deb65a d3531d1
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Feb 9 17:32:41 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Grammar/Alphabet.py
    	pydsl/Lex.py
    	tests/unit/test_Extract.py

commit 5deb65a528784d821bbcd35b837dd86d094b0f73
Merge: d41f948 9d5b3bd
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Feb 9 11:47:11 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py

commit d41f948a5ef5b9a8a8612470fbb43ad605d7b62e
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Feb 9 10:27:21 2014 +0000

    graph_to_alphabet is now an independent function

commit f90a80b268182c01f8d3396c77ffd01cb4838fc8
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Feb 9 09:58:07 2014 +0000

    Choice inherits from GrammarCollection

commit 3eafb1871fc7333f6fa97deeb0affd04411b1d92
Merge: c162977 aabedfc
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Feb 8 20:51:07 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	requirements.txt

commit c1629772b963df969d8d758555a4bf37bdf09c82
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 12 09:14:36 2014 +0000

    some fixes

commit e731792bd572a71e8d258071a9413a9c0ea8a2e2
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 12 08:56:13 2014 +0000

    Squashed commit of the following:

    commit 9ae6a9a143e33a9de058f40b402be6f5ed440c99
    Author: Nestor Arocha <nesaro@gmail.com>
    Date:   Sun Jan 12 08:55:27 2014 +0000

        fixed extract_alphabet test

    commit 01e5238bab5c2b5aa66b4d7059f5b58694565b45
    Author: Nestor Arocha <nesaro@gmail.com>
    Date:   Sat Jan 11 17:58:20 2014 +0000

        added alphabet extract

    commit 0d70494ed96c281a298e3f5bf944d50147add6f4
    Author: Nestor Arocha <nesaro@gmail.com>
    Date:   Sat Jan 11 14:09:23 2014 +0000

        refactored extract tests

commit 5407506c2dd2553d45de427759bb4c568b76a207
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Jan 7 20:54:31 2014 +0000

    added call_back function for graph

commit 09dfc1d70b81959be7999e4a2e8acfac6b41e268
Merge: 2999d48 4e77276
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Jan 6 21:42:27 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	tests/unit/test_Validate.py

commit 2999d48ea2962a935551700ba9bc5ef2e8cd2c63
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Mon Jan 6 21:33:22 2014 +0000

    partial work using graphs

commit eaa5393cce101bd6ab68edd609381a5d3aaf7b65
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 22:46:00 2014 +0000

    added hash method to Encoding

commit e124db0803683ae67edb8f0384e3a9ca0aa9c718
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 22:44:00 2014 +0000

    playing with graphs and networkx

commit c73685729d34c7856e8af8e6ea3826c8f9b2d616
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 14:11:15 2014 +0000

    fixes some test calls

commit 3f8d4fce34be96fe38ebe3b96af3fc6b8a693371
Merge: bb2156a 3d213a8
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 13:58:44 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit bb2156aea0fb338333244a1a1422a18b91facecb
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 13:42:29 2014 +0000

    removed AlphabetChain

commit 20cad4b855d19a8441eea955d37f8fa8de872400
Merge: eefc17a a062290
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 11:07:11 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit eefc17af6e8b60fd8c782bc8517e5c47f5d98309
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 10:37:16 2014 +0000

    added comments, removed alphabetchain lexer

commit 1d24382ab6683bec659d04fd7fbf3f716dcdee2d
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 10:00:12 2014 +0000

    fixes lexer calling signature

commit ff1397240422e52e80a0b350ac7100b1adc7169a
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 10:00:00 2014 +0000

    fixes common_ancestor

commit e908aa6de78d37da6b6f91912eb6193bfb38ec6b
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Jan 5 09:51:23 2014 +0000

    added is_Ancestor function

commit 86606b39daf8e1476348ee85d957c343db7e040b
Merge: eb07dd9 2c012e9
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 23:13:35 2014 +0000

    Merge branch '46-remove-symbol-reduction' into explicit_lexers

    Conflicts:
    	pydsl/Lex.py

commit 2c012e975a1904eb95c872172f6ed00000cd28f4
Merge: f8cabac 7649273
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 23:12:49 2014 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py

commit eb07dd994e57c53c59b85f9b0d543476fd594050
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 23:06:59 2014 +0000

    updated lexer definitions

commit e78948cd537c487fba67376bba9d9a5a9281034a
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 20:43:17 2014 +0000

    removes PythonLexer

commit f8cabacf9aaaa9ca4a44463c48c03f863ca102e0
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 12:12:26 2014 +0000

    added test for Choice Lexer

commit 8cb9def74032f313c7c78c23db80d24f9c82b0f4
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 11:24:06 2014 +0000

    partial commit GrammarCollection

commit 90d843f34d692b740d21a127b8eb329d8169c00b
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 10:15:03 2014 +0000

    adds GrammarCollection class

commit 115ad171a38f234b444029d4da7c34b49621dcc9
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 10:10:46 2014 +0000

    implements Choice.alphabet properly

commit eaa94e6fea723aa535f317c9067f5f47387d12c0
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 10:07:43 2014 +0000

    Alphabet is not a Grammar

commit 0e636abbd37bfc3c018eb70375357857b3108247
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 10:02:00 2014 +0000

    restored Exception

commit 18ccd6c497257ec0f55db64f400276b9a9ed5d60
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Jan 4 09:43:31 2014 +0000

    implemented common_ancestor

commit 76ac408d9c5e9358b1782ea4c249c8d85aba90a5
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Dec 31 22:29:11 2013 +0000

    fixes import problems

commit 9d36e089e4659961908e0f95b1c651876b13158a
Merge: f22b26a 9894cd7
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Dec 31 22:26:46 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py
    	tests/functional/test_LogicGrammars.py
    	tests/unit/test_Lexer.py
    	tests/unit/test_Validate.py

commit f22b26a8d1a1bbc8daf52ee168b8e1f247ac17c7
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Dec 8 11:19:22 2013 +0000

    fixed tests

commit dfa814aae0521a4cdf03dc99e0fd7b2445e2f97e
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Dec 8 11:18:57 2013 +0000

    added string method to alphabet

commit 9d0edc587525fe0cac951cb6846bcb01194dfce1
Merge: 8d91102 eb35eb0
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Dec 4 21:18:15 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit 8d91102ef4041faa0d98763439b573944757a42b
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Dec 4 21:06:17 2013 +0000

    increased Value checking

commit 0e8d8d5291d8a6aaf4e0aec491d5f1f8eca207f6
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Wed Dec 4 20:46:22 2013 +0000

    fixes some tests

commit 877b6a6831f45cee475790d4f7dccb60fcecc0a8
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Dec 3 21:12:39 2013 +0000

    fixes one of the logicgrammar tests

commit 4a25c93c6d7317aef11066e863250a45f06823a2
Merge: 0acb18e 91c9b6a
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Dec 1 11:08:13 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Parser/Weighted.py
    	tests/unit/test_Parser.py

commit 0acb18e7166db0ae87149510c9214df3e9c65db9
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Dec 1 11:03:03 2013 +0000

    tokenized input for test

commit 910c711b2fa270f3c9a9866f41d402b743a869fa
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Dec 1 11:01:44 2013 +0000

    tokenizes input, causes long execution time for test

commit e6a25a1bd6a8df6008ce292c39601703b3ab7bc6
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 20:02:31 2013 +0000

    fixed html table test

commit 74e8ab1065163d28997d700e4f872e414c577826
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 19:55:54 2013 +0000

    fixes the validation test, avoids infinite loop

commit aa8231eaec92dee577f175ce1df0f5a7f82671a0
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 18:47:08 2013 +0000

    fixes test

commit 345e7023ec1afa451d38f1794a0780c7766391de
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 17:07:37 2013 +0000

    fixes validator tests

commit aa5801dc4ced361757a88d846388972b4d63eb32
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 15:51:52 2013 +0000

    added alphabet check to parse function

commit 604766fda2b702d674e287d54df11207cfadfbb3
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 15:45:38 2013 +0000

    removed unnecessary call to tokenize

commit a4089681d609c20cf9aaf3cb4aac11d614843a40
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 15:43:18 2013 +0000

    reenabled test

commit 2e9d1b05058cdd95d44504a22bd86892a5b2bf8a
Merge: a01efef 9c39985
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 15:43:05 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit a01efef094129bfda53bbde5aef9acc7b4738e33
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 14:50:05 2013 +0000

    alphabet is now a property

commit 2f6d0c845fc33a7e8c69022db9c3225e6f563e66
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 14:48:42 2013 +0000

    removed duplication detection code in Sequence

commit d9469a8814f6eb7dade110d7e3fffe88170e19ec
Merge: 10468c9 194b78c
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 14:47:32 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

commit 10468c9de2d8350123adee81e490a83f302a25a9
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 14:43:52 2013 +0000

    lexes the string before calling the parser

commit dced736a54a6f252003b2c7b7d655e0ae976fe50
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 14:42:40 2013 +0000

    using check instead of lexer in parse function

commit 0ed60489fce4685e469797505ef7049efa001fdf
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 13:55:19 2013 +0000

    removed plural from choice

commit aceb74fc9e9cfdd7be8402ace4f44cdba08669c0
Merge: d4acd58 016b643
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sat Nov 30 13:52:53 2013 +0000

    Merge branch 'master' into 46-remove-symbol-reduction

    Conflicts:
    	pydsl/Lex.py

commit d4acd583d8ccfb6d42b086b86ad669cb85086330
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Tue Nov 19 07:56:28 2013 +0000

    fixed NameError

commit 87b14c769bf7616c2808cca01c51fec9b7c1b52f
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Nov 17 22:28:59 2013 +0000

    renamed AlphabetListLexer to ChoicesBruteForceLexer

commit fecac71588a64a81f933200b8b494c0bc5841dff
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Nov 17 22:20:07 2013 +0000

    added some restriction to the number of iterations

commit cbbdb7bbdeaa2dcbf92d09a75c8d916fa72dcf99
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Nov 17 10:56:35 2013 +0000

    lexes the input before parsing #46

commit c0cba07ab206cb68a1b2c2aa10a7114fc23a9f4e
Author: Nestor Arocha <nesaro@gmail.com>
Date:   Sun Nov 17 10:24:19 2013 +0000

    removed terminal symbol reducer, tests fails