Julien Danjou
cb20910d93
Remove `pass' from the language.
...
This also fixes a bug in the pass optimize missing branch where the code is
something like: [stmt, [], stmt]; in such case we want to filter out [], so
if we end up with [] we can optimize it. This fix is needed otherwise (do)
inside (do) are not properly optimized.
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-14 13:56:44 +02:00
Paul R. Tagliamonte
f295b10f52
Updating yield.
2013-04-12 23:48:58 -04:00
Nicolas Dandrimont
30c0b25512
Add a unicode string handling test
2013-04-12 20:58:56 +02:00
James King
9ff3b128b4
Got &rest working, tests pass
...
Did a little house cleaning in lex states.py too and started removing
stupid print() statements.
2013-04-11 12:00:27 -04:00
James King
484a96abae
WIP - Move _parse_lamba_list to the functiondef
2013-04-10 16:52:28 -04:00
James King
7417789ce0
WIP - Adding Call support and FuncionDef
...
The test is still broken, there are print statements... this is an
ongoing WIP and will get squashed before submitted the PR.
2013-04-09 15:23:50 -04:00
James King
4d90123506
Merge branch 'develop' into feature/lambda-list-keyword
2013-04-09 15:13:25 -04:00
Julien Danjou
92eaed21e4
Merge pull request #87 from jd/jd/try
...
compiler: add `else' support in `try'
2013-04-09 08:23:41 -07:00
Julien Danjou
4ba6ada77b
Merge pull request #92 from jd/jd/raise-0-arg
...
Implements (raise)
2013-04-09 08:23:09 -07:00
Julien Danjou
b13cc60075
Implements (raise)
...
As in Python, this allows to re-raise the last raised exception.
This fixes #86
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 17:00:45 +02:00
Julien Danjou
f8131d3c36
compiler: add else' support in
try'
...
This is a bit tricky, since we'll also have to support `finally' in the end,
I've introduced an Else statement on my own to be able to recognize it.
This fixes #74
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 17:00:30 +02:00
Julien Danjou
dd90272129
except/catch: check exceptions list type
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-09 16:56:45 +02:00
Julien Danjou
cd36a1d7eb
Allow empty `do'
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 15:17:11 +02:00
Paul R. Tagliamonte
6912f4c4d9
Merge branch 'master' into pr-82
2013-04-07 18:51:18 -04:00
Julien Danjou
2ff3da032c
Merge pull request #81 from paultag/paultag/bugfix/with-syntax-fix
...
Fixing (with)'s syntax to be more hyish.
2013-04-07 15:41:53 -07:00
Julien Danjou
a81a716420
Be sure errors are raised at by compile, not tokenize
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 00:38:55 +02:00
Julien Danjou
0d3500f6e5
try: accept a simpler form
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 00:36:08 +02:00
Paul R. Tagliamonte
4db9446197
Fixing (with)'s syntax to be more hyish.
2013-04-07 18:35:36 -04:00
Julien Danjou
a73d460beb
try: allow empty body
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-08 00:14:42 +02:00
Nicolas Dandrimont
1853b7d33c
Correctly balance the brackets in the wrong syntax tests
...
We want to test the compiler, not the lexer.
2013-04-07 19:53:50 +02:00
Julien Danjou
bdd07e1251
Alias except' to
catch' and raise' to
throw'
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 18:24:01 +02:00
Julien Danjou
2fd56e8fa1
catch: uncomment some tests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 18:20:32 +02:00
Julien Danjou
6dec894a0c
Better catch syntax
...
The syntax is now changed to:
(catch [] BODY)
(catch [Exception] BODY)
(catch [e Exception] BODY)
(catch [e [Exception1 Exception2]] BODY)
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-07 18:03:43 +02:00
Julien Danjou
123339bfcf
tests: simplify not compiling tests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-06 21:28:12 +02:00
Julien Danjou
78133500cb
Fix flake8 errors in tests
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-06 21:22:35 +02:00
Julien Danjou
0eb795b4a5
Check the number of arguments for each function
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-06 19:00:32 +02:00
Paul R. Tagliamonte
6aebc5820f
Merge branch 'jd/if' of git://github.com/jd/hy
2013-04-06 08:18:13 -04:00
Julien Danjou
3e9a2178c5
Add support for unary operators (not, ~)
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-06 10:38:41 +02:00
Julien Danjou
b36018981a
if: emit error on too many args
...
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-06 10:13:14 +02:00
Nicolas Dandrimont
d070d3d484
Add while loops to the compiler
2013-04-03 19:55:09 +02:00
James King
dceaad716a
[WIP] Added lambda list keyword parsing step
...
This allows us to translate lisp argument lists to Python ones.
(defun foo (x y &rest z &optional {foo 3} &aux kwargs))
translates roughly to:
def foo(x, y, *z, foo=3, **kwargs):
pass
2013-04-03 11:39:31 -04:00
Julien Danjou
1c8d21e3de
Raises TypeError on bad if statements
...
This relates to issue #6 .
Signed-off-by: Julien Danjou <julien@danjou.info>
2013-04-03 11:25:17 +02:00
Paul R. Tagliamonte
c4b270a727
test coverage bits
2013-04-01 22:07:05 -04:00
Paul Tagliamonte
025e501b13
cleaning up the tests a bit
2013-04-01 20:00:37 -04:00
Paul Tagliamonte
678ef441e5
Adding in tuple checkingish.
2013-04-01 19:53:04 -04:00
Paul Tagliamonte
6831841699
Adding in some tests for print
2013-04-01 19:51:21 -04:00
Paul Tagliamonte
426c7cd829
Test bad decoration
2013-04-01 19:38:58 -04:00
Paul R. Tagliamonte
4cb4e7384e
holy shit it's 2013
2013-03-18 10:27:14 -04:00
Paul R. Tagliamonte
81d6a6515b
adding better native testing
2013-03-05 22:15:45 -05:00
Paul Tagliamonte
fecf17960d
unstaged changes
2013-03-05 09:08:13 -05:00
Paul R. Tagliamonte
4d32dac9ad
Moving the compiler stuff around.
2013-03-04 20:40:23 -05:00
Paul Tagliamonte
20805fc7b2
tweaking the ast.
2013-03-04 19:12:57 -05:00
Paul R. Tagliamonte
9e16fb4ca0
Very broken.
2013-03-03 19:40:46 -05:00
Paul R. Tagliamonte
ef9007c229
Futzing about.
2013-03-03 16:26:17 -05:00
Paul R. Tagliamonte
9b58f893cb
adding more testing
2013-03-03 13:12:23 -05:00
Paul R. Tagliamonte
a9b5d851b2
Fiddling with more AST testing
2013-03-03 13:10:50 -05:00
Paul R. Tagliamonte
6661d85323
Add some failing tests in.
2013-03-03 11:18:13 -05:00
Paul R. Tagliamonte
f776f5411a
docstring update
2013-03-03 00:00:55 -05:00
Paul R. Tagliamonte
b42fdc0bb7
Adding more testing.
2013-03-02 23:47:16 -05:00