Commit Graph

397 Commits

Author SHA1 Message Date
collin
ac8c940169 add parsing for .in and .state files and update errors 2020-07-29 13:20:44 -07:00
howardwu
5bd6ab78b9 Refactor compiler to have a separate typed ast infrastucture 2020-07-29 01:12:17 -07:00
collin
3d3e8f5e72 compiler successfully parsing record, registers, state, state_leaf variables with access 2020-07-29 00:18:19 -07:00
howardwu
d3894ff546 Adds AST JSON generator 2020-07-28 22:26:28 -07:00
collin
d5ac5e6709 use input section macro in leo types 2020-07-28 21:22:31 -07:00
collin
82b0b576dd parse input file before program file 2020-07-28 20:46:26 -07:00
collin
9fc9e16367 parse main, record, registers, state, state_leaf types to compiler input 2020-07-28 16:57:03 -07:00
collin
92bfad8cc3 clean up pr. remove field comparison 2020-07-17 16:14:13 -07:00
collin
7405a6284a rename gadgets, remove unused files 2020-07-17 13:56:13 -07:00
collin
cc33c68bea fix field tests, use num_bigint 2020-07-17 12:44:08 -07:00
collin
1ede8db1cd fix traits in compiler 2020-07-16 22:48:56 -07:00
collin
8f397a3382 fix field comparator 2020-07-16 20:00:28 -07:00
collin
078c7e8a5a use helpers and rename errors 2020-07-15 22:44:20 -07:00
collin
2f39ecdbc3 impl infra for i type tests 2020-07-15 21:31:23 -07:00
collin
bfda4bb95c fix tests 2020-07-15 20:42:57 -07:00
collin
d30d72d76e impl i8 i16 i32 i64 i128 for leo-inputs 2020-07-15 20:28:22 -07:00
collin
5ccda0750a add i8 i16 i32 i64 i128 types 2020-07-15 19:32:55 -07:00
collin
eb5ab1fbe1 move comparator into leo-gadgets. impl cmp for i types 2020-07-14 18:32:54 -07:00
collin
540c0de69f add unknown parameter test 2020-07-09 19:33:10 -07:00
collin
118b50fb58 add macro tests 2020-07-09 19:23:15 -07:00
collin
cd38e3a476 println -> print. update readme 2020-07-09 18:55:53 -07:00
collin
7ae351c0c6 evaluate println, debug, error macros 2020-07-09 05:03:10 -07:00
collin
364e7684ac add println, debug, error to leo-types 2020-07-09 01:39:13 -07:00
collin
aa708b8084 fix value.field bug 2020-07-08 03:30:15 -07:00
collin
7a0827af48 refactor errors module 2020-07-08 03:18:30 -07:00
collin
cce056be5d add function modules 2020-07-08 03:12:35 -07:00
collin
24df97b9a3 add assert statement module 2020-07-08 02:45:19 -07:00
collin
6d52a28161 add conditional statement module 2020-07-08 02:36:12 -07:00
collin
a7888f5b29 add assign statement module 2020-07-08 02:17:51 -07:00
collin
6d4a34d0ec add definition statement module 2020-07-08 01:58:45 -07:00
collin
51ee4894c7 add return statment module 2020-07-08 01:48:59 -07:00
collin
6a442fc421 add implicit module. Edit expression module descriptions 2020-07-08 00:34:09 -07:00
collin
2d9386f685 add binary expression module 2020-07-08 00:13:41 -07:00
collin
c1a560f0ec add identifier expression module 2020-07-08 00:04:05 -07:00
collin
ba239921b9 add function module 2020-07-08 00:00:12 -07:00
collin
c8a93073c1 add circuit expression module 2020-07-07 23:56:31 -07:00
collin
5d1b242eb4 add array expression module 2020-07-07 23:48:39 -07:00
collin
c989061ab1 add ternary expression module 2020-07-07 23:38:01 -07:00
collin
ada42fdcf4 make expression module methods public 2020-07-07 23:32:49 -07:00
collin
6de9e67282 add logical expression module 2020-07-07 23:15:41 -07:00
collin
d5017c7666 add relational expression module 2020-07-07 23:07:35 -07:00
collin
f29fac883f add arithmetic expression module 2020-07-07 22:51:41 -07:00
collin
333f75ae8b add module names 2020-07-07 21:15:23 -07:00
collin
965bdc4d6a fix import module 2020-07-07 21:05:03 -07:00
collin
5557f08435 add program module 2020-07-07 20:13:22 -07:00
collin
edec49e5d0 add function module 2020-07-07 20:06:39 -07:00
collin
7321e90d50 create statement module 2020-07-07 20:03:56 -07:00
collin
5ca2712888 crate expression module 2020-07-07 20:01:25 -07:00
collin
9f4812a178 move address module 2020-07-07 19:58:12 -07:00
collin
b0acd5ea5a update field and group modules 2020-07-07 19:53:37 -07:00
collin
a6092e9a2f add field module 2020-07-07 19:40:01 -07:00
collin
d575a187db move integer module 2020-07-07 19:32:19 -07:00
collin
933775fe95 create boolean module 2020-07-07 19:26:01 -07:00
collin
e98c344f76 move comparator 2020-07-07 19:17:23 -07:00
collin
654c623789 move boolean 2020-07-07 19:14:03 -07:00
collin
2e24197ea2 create value module 2020-07-07 19:11:26 -07:00
collin
604eb09e27 move definitions 2020-07-07 19:06:45 -07:00
collin
a20d4ab22d add one trait to group type trait 2020-07-07 02:10:39 -07:00
collin
efd885c6a7 impl 1group and add test 2020-07-07 02:08:48 -07:00
collin
4529c56fd2 add address ternary and equal functionality and tests 2020-07-06 20:25:14 -07:00
collin
7a04fd9e0e fix address input bug 2020-07-06 06:40:04 -07:00
collin
423e804a27 impl address inputs 2020-07-06 06:17:08 -07:00
collin
d3c0dbb80c impl tests for address type 2020-07-06 04:59:06 -07:00
collin
96a623315e impl address gadgets 2020-07-06 04:04:06 -07:00
collin
8ca5f5ce66 use account public key in snarkos dpc 2020-07-06 03:18:20 -07:00
collin
d5bdda89e7 add initial address type to constraints 2020-07-06 02:38:50 -07:00
collin
84f634559c fix recursive circuit member function namespace bug 2020-07-03 22:44:09 -07:00
collin
3f10bcfe82 impl circuit member access with self.member 2020-07-03 13:35:46 -07:00
collin
36b2508de3 add circuit self keyword wip 2020-07-02 21:36:22 -07:00
collin
a78d077d40 merge refactor/const 2020-07-02 15:58:00 -07:00
collin
b7cefc5ac0 Merge branch 'feature/comparator' of github.com:AleoHQ/leo into refactor/const 2020-07-02 15:54:29 -07:00
collin
cf4a8772bb merge lib and imports 2020-07-02 15:53:41 -07:00
collin
ee2db05b2e fix imports 2020-07-02 15:47:40 -07:00
collin
a76a51bcd7 fix multiple import bug and update tests 2020-07-02 05:48:43 -07:00
collin
c30a50c5dc retrieve import definitions at program execution 2020-07-02 05:21:06 -07:00
collin
14f5f448be resolve all definitions prior to program execution 2020-07-02 03:56:52 -07:00
collin
a422027e12 fix nested import parsing bug 2020-07-01 21:43:06 -07:00
collin
6a04dd0f58 refactor import file parsing. constraints for imports wip 2020-07-01 21:05:57 -07:00
collin
330bfe46c8 refactor import * for packages and leo files only 2020-06-30 13:31:27 -07:00
collin
e08ad6698c fix group and field allocation 2020-06-29 22:03:19 -07:00
collin
6fbb848015 add const mut check 2020-06-29 20:29:53 -07:00
collin
45a2664fd9 Merge branch 'feature/lib-and-imports' of github.com:AleoHQ/leo into feature/comparator 2020-06-29 19:52:47 -07:00
collin
d905ffd569 impl importing from package lib, file, directory, and star 2020-06-29 17:47:59 -07:00
collin
24cf5a0181 Merge branch 'master' of github.com:AleoHQ/leo into feature/lib-and-imports 2020-06-29 14:25:43 -07:00
collin
9854c8c983 use updated sha2 functions 2020-06-29 14:11:12 -07:00
collin
b8b0da305b merge master 2020-06-29 14:05:12 -07:00
Collin Chin
d1c5c9e928
Merge pull request #80 from AleoHQ/feature/cli
Add debug flag, improve CLI messages, add num_constraints, add 'leo clean'
2020-06-29 13:23:58 -07:00
howardwu
c622b157f5 Cleanup 2020-06-28 19:36:45 -07:00
howardwu
c1243a2e74 Adds the command 2020-06-28 18:53:09 -07:00
howardwu
607685122b Update logger, add debug flag, improve CLI messages, add num_constraints 2020-06-28 18:24:36 -07:00
collin
878310f793 add import directory parsing 2020-06-26 23:47:11 -07:00
collin
8825a0741c clean up for pr 2020-06-26 19:06:52 -07:00
collin
f64dfcf410 refactor import constraints into separate files 2020-06-26 18:09:28 -07:00
collin
a4a9ed05ea impl constraints and tests for multiple imports 2020-06-26 17:12:04 -07:00
collin
5900923d9d impl constraints for single imports 2020-06-26 15:42:52 -07:00
collin
b5d90b857b impl import package syntax for ast and types 2020-06-26 14:18:05 -07:00
collin
a8cbbee392 fix integer and field gadgets 2020-06-25 17:19:32 -07:00
collin
7233e55dc1 impl comparator gadgets for fields and integers 2020-06-25 15:58:37 -07:00
collin
cc8a3d9878 move integer enum and errors into compiler 2020-06-25 14:27:19 -07:00
collin
47ef6be719 set inputs size from bytes 2020-06-24 21:40:17 -07:00
collin
504480b3d7 serialize program into bytes file 2020-06-24 21:05:11 -07:00
collin
7bc52ada9e evaluate all indices to expressions 2020-06-24 16:57:15 -07:00
collin
f1e9df7c95 evaluate range bounds to rust usize type 2020-06-24 16:30:49 -07:00
collin
1fafbab5ee parse integer later in program. derive serde for basic program types 2020-06-24 16:02:20 -07:00
collin
5f0b3e2b0c parse boolean later in program 2020-06-24 15:33:05 -07:00
collin
0159b1c0cc remove print 2020-06-24 12:08:10 -07:00
collin
25a66d1f58 impl multiple returns and test 2020-06-23 23:56:51 -07:00
collin
2291cc51fd fix return type namespaces 2020-06-23 17:48:35 -07:00
collin
c2862c7a0c add formatting for cli errors 2020-06-22 23:20:55 -07:00
collin
5bc1bc022d add file path to formatted errors 2020-06-22 22:32:57 -07:00
collin
ea81f9bc98 add square root example 2020-06-22 21:39:24 -07:00
collin
2f3a51860b fix circuit name 2020-06-22 21:02:18 -07:00
collin
0a990bdb4e Merge branch 'master' of https://github.com/AleoHQ/language into fix/namespace 2020-06-22 18:35:10 -07:00
collin
5865149c06 fix index evaluation 2020-06-22 18:28:30 -07:00
collin
eeaf1b4ae8 remove unused compiler errors 2020-06-22 16:39:33 -07:00
collin
c513fd1626 reformat import errors 2020-06-22 16:28:12 -07:00
collin
8d93f3e079 fix conditional namespace conflict 2020-06-22 16:12:25 -07:00
collin
1dc79ef604 add unique namespaces to function calls 2020-06-22 15:42:46 -07:00
collin
cff3be9d01 add unique namespaces to statement gadget calls 2020-06-22 13:11:01 -07:00
collin
9f27d22486 remove non-formatted errors for program value 2020-06-20 20:40:17 -07:00
collin
d506158499 remove non-formatted errors for expressions 2020-06-20 20:17:04 -07:00
collin
632d98b284 remove non-formatted errors for primitive data types 2020-06-20 18:59:52 -07:00
collin
d1dfdcb878 fix boolean namespaces and errors 2020-06-20 18:43:45 -07:00
collin
03c6af2d46 fix group namespaces and errors 2020-06-20 18:14:08 -07:00
collin
172ab78497 fix field namespaces and errors 2020-06-20 17:49:09 -07:00
collin
f915cab9f2 fix conflicts 2020-06-20 16:37:34 -07:00
collin
2e02d0906c fix integer operation namespaces 2020-06-20 16:30:44 -07:00
collin
837a006e51 move error struct to types. fix integer namespaces 2020-06-20 15:24:46 -07:00
howardwu
d80734fbb5 Add a member_field_and_function test 2020-06-20 01:40:56 -07:00
howardwu
3df120f9d0 Rename identifier to circuit_name in Circuit type 2020-06-20 00:45:41 -07:00
collin
9e93462f2b merge master 2020-06-19 23:16:12 -07:00
collin
82a0afc17e convert leo-inputs to span with errors. fix tests 2020-06-19 23:02:58 -07:00
howardwu
03b59b573b Update file extensions to new convention 2020-06-19 22:07:02 -07:00
collin
2743b23e1e convert functions to span with error 2020-06-19 21:49:42 -07:00
collin
f3e81184c1 convert expressions to span with error 2020-06-19 21:38:36 -07:00
collin
3d1fe9cc4b convert statements to span with error 2020-06-19 19:04:13 -07:00
collin
6922d5dd73 convert identifer to span with error 2020-06-19 17:28:50 -07:00
collin
c54f1817ce impl custom span and error structs 2020-06-19 15:47:09 -07:00
collin
51f603b881 add span error formatting for inputs 2020-06-17 15:40:39 -07:00
collin
4d1bf9071c add span to input values 2020-06-16 19:13:11 -07:00
collin
7248814ac7 impl let/const for circuits and value wrappers 2020-06-16 09:49:45 -07:00
collin
eeaef78632 impl allocate value for let definition 2020-06-15 19:25:16 -07:00
collin
b423e532cb let and const wip 2020-06-15 18:25:33 -07:00
collin
c77e6a51b3 remove visibility syntax and functionality 2020-06-15 13:38:07 -07:00
collin
4efd06fd41 merge refactor/program-struct 2020-06-15 11:22:47 -07:00
collin
cc39e8241e Merge branch 'master' of https://github.com/AleoHQ/language 2020-06-15 11:11:56 -07:00
collin
8ff4ddafb2 remove CS trait from program struct 2020-06-15 11:11:35 -07:00
collin
8ea11dbab7 add type resolution for values and fix tests 2020-06-13 17:43:59 -07:00
collin
499805efdf add field and group evaleq 2020-06-13 14:21:40 -07:00
collin
1eaaed269d impl chained and nested conditionals 2020-06-13 03:39:51 -07:00