Windel Bouwman
c2550ad3f1
Introduce LocatedStatement after idea from review
2018-08-22 17:49:07 +02:00
Windel Bouwman
4897e10714
Add location to statement ast type
2018-08-22 16:18:47 +02:00
Windel Bouwman
f6edf876fd
Some formatting
2018-08-22 13:08:07 +02:00
Windel Bouwman
3d9b2360e3
Add row and column info to lexer
2018-08-22 12:14:37 +02:00
Windel Bouwman
17a952dbf1
fix #34
2018-08-20 22:06:01 +02:00
Windel Bouwman
823730f023
Fix cast test snippet
2018-08-20 21:37:21 +02:00
Windel Bouwman
15e274210f
Add float type
2018-08-20 21:22:14 +02:00
Adam Kelly
a9c3349943
Specify bases in normal class definitions.
2018-08-19 20:55:37 +01:00
Daniel Watkins
19c9db2375
Parse trailing commas in lists/dicts
2018-08-11 23:37:01 -04:00
Daniel Watkins
2a90df80c8
Run cargo fmt to format the entire project
2018-08-10 20:23:15 -04:00
Daniel Watkins
76a19d35be
Move lexer::lex_source in to tests module
...
That's the only place it is used; this fixes a warning.
2018-08-10 17:10:42 -04:00
Windel Bouwman
816038c166
Merge pull request #54 from OddBloke/import
...
Implement complex import handling
2018-08-10 15:40:28 +02:00
Windel Bouwman
a7f1830fe7
Merge pull request #50 from OddBloke/triple_quotes
...
Implement triple-quotes for strings
2018-08-10 15:36:24 +02:00
Daniel Watkins
a7428e3808
Implement complex import handling
...
This expands import parsing and handling to implement a variety of
import cases:
* `import x as y`
* `import x, y`
* `from x import y`
* `from x import y, z`
* `from x import y as z, a as b`
This fixes #51 .
2018-08-09 17:14:08 -04:00
Adam Kelly
402230684f
Add support for parsing classes to ast.
2018-08-09 07:41:33 +01:00
Daniel Watkins
3861fd898e
Implement triple-quotes for strings
...
This fixes #33 .
2018-08-08 23:36:32 -04:00
Daniel Watkins
d1acf5e7db
Implement simple dict literals
2018-08-07 23:49:42 -04:00
Daniel Watkins
1b259d5d61
Implement 0-size dict literal
2018-08-07 23:49:42 -04:00
Windel Bouwman
a40ef57ba4
Merge pull request #41 from OddBloke/function_args
...
Allow Tests in function arguments (rather than just Expressions)
2018-08-06 16:48:35 +02:00
Daniel Watkins
36f6fb2733
Support creation of single-element tuples
...
This fixes #37
2018-08-05 16:41:20 -04:00
Daniel Watkins
c8a0b04b2d
Allow Tests in function arguments (rather than just Expressions)
...
This fixes #39
2018-08-05 16:24:32 -04:00
Windel Bouwman
fcf3518f4a
Merge pull request #30 from OddBloke/nums_in_funcs
...
Include numbers in valid identifier characters
2018-08-04 23:01:01 +02:00
Daniel Watkins
3e56bc1d60
Include numbers in valid identifier characters
...
Fixes #27 .
2018-08-04 16:00:15 -04:00
Adam Kelly
c6ef62ceac
Improved interpreter using compile single and with multiline input.
2018-08-04 20:47:34 +01:00
Adam Kelly
a9afa76438
Test that an empty line parses.
2018-08-04 20:47:34 +01:00
Daniel Watkins
862442b635
Simplify the conversion of missing slice parts to None
2018-08-03 20:55:18 -04:00
Daniel Watkins
73b2d07578
Support parsing steps in slice syntax
2018-08-03 20:55:18 -04:00
Daniel Watkins
43fafa5102
Enable semi-colon separated statements
...
For example, `cargo run -- -c 'print("a"); print("b")'`.
2018-07-31 16:33:27 -04:00
Windel Bouwman
099595bf17
Merge pull request #15 from wulmer/feature/windows-and-mac-eol-characters
...
Add support for Windows/Mac EOL characters in lexer
2018-07-29 17:15:49 +02:00
Adam Kelly
e79ec8e4cb
Suppress unused variable warnings.
2018-07-29 09:06:56 +01:00
Adam Kelly
12a3ff5e7e
Deal with warnings for Ellipsis and Rarrow
2018-07-29 09:06:56 +01:00
Ulmer Wolfgang (CR/AEE3)
d168156375
Add support for Windows/Mac EOL characters in lexer
2018-07-28 22:00:46 +01:00
Adam Kelly
976c1f4340
Update lexer and parser to support lambdas.
2018-07-28 10:09:08 +01:00
Adam Kelly
a6785c8d72
Add support for a escape sequence in string literals to lexer.
...
(\u, \x and octals not supported.)
2018-07-27 10:43:48 +01:00
Windel Bouwman
e7cc6b1786
Add else clause to for loop
2018-07-24 22:30:45 +02:00
Windel Bouwman
bbc19305f8
Reduce dependencies of vm and parser crates
2018-07-18 10:22:00 +02:00
Windel Bouwman
8b6e0fe0b6
Add more arithmatic
2018-07-16 21:09:05 +02:00
Windel Bouwman
e47e5f3d05
Add else statement
2018-07-15 16:54:29 +02:00
Windel Bouwman
b653b96a46
Autoformatting
2018-07-15 13:16:00 +02:00
Windel Bouwman
8a0d8ab624
Add += and -=
2018-07-15 10:58:20 +02:00
Windel Bouwman
36bef81ceb
Change eval compile to statement
2018-07-14 16:03:50 +02:00
Windel Bouwman
5783133565
Add eval and exec compile modes
2018-07-14 15:17:19 +02:00
Windel Bouwman
e6493ec996
Add new_instance method
2018-07-14 12:14:16 +02:00
Windel Bouwman
5187c2e974
Simple importing scheme working
2018-07-12 20:38:53 +02:00
Windel Bouwman
65c3ff54b0
New idea for object system
2018-07-11 17:33:10 +02:00
Windel Bouwman
2354102795
Add interactive shell
2018-07-09 22:06:49 +02:00
Windel Bouwman
7d20869dc0
Fix return value from function
2018-07-08 21:03:25 +02:00
Windel Bouwman
ed4557fec5
Added cool script to test snippets in both implementations
2018-07-08 19:57:53 +02:00
Windel Bouwman
62cb3e2474
Add slice object
2018-07-08 12:38:55 +02:00
Windel Bouwman
0a43d244f4
Add pipfile to install requirements for test snippets
2018-07-07 17:54:56 +02:00