Commit Graph

159 Commits

Author SHA1 Message Date
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