Commit Graph

120 Commits

Author SHA1 Message Date
Jon Rafkind
249c7b02ca [honu] use syntax properties to differentiate parsed syntax from unparsed 2012-03-05 13:48:52 -07:00
Jon Rafkind
782664316d [honu] honu forms implemented in racket must call honu->racket on the parsed output. add an example to do ocaml style pattern matching 2012-02-21 16:19:09 -07:00
Jon Rafkind
b74ad87160 [honu] wrap the condition of when expression inside parentheses. instantiate literal sets at the proper phase for honu macros 2012-02-01 16:05:41 -07:00
Jon Rafkind
1fac120cd2 [honu] move core definition of honu-syntax to another module 2012-01-26 13:32:52 -07:00
Jon Rafkind
bef2f188b3 [honu] move when macro to the honu language 2011-11-22 10:30:43 -07:00
Jon Rafkind
9ec39fd590 [honu] add format and a facility to convert floats to integers 2011-11-14 17:49:15 -07:00
Jon Rafkind
6b6ca7a7c3 [honu] allow %racket expressions to remain inside honu syntax and remove them after parsing 2011-11-10 15:55:54 -07:00
Jon Rafkind
8fe87bd2a9 [honu] reparse honu expressions into racket expressions 2011-11-09 11:17:41 -07:00
Jon Rafkind
b25406db4c [honu] re-attach the output of macros to the input stream. wrap racket expressions so they dont get reparsed 2011-11-09 11:17:40 -07:00
Jon Rafkind
6b519f7b64 [honu] remove extra semicolon from cond 2011-10-23 14:06:12 -06:00
Jon Rafkind
ffc5387ac3 [honu] configure honu runtime to use the honu syntax reader. this allows honu to be used at the repl 2011-09-06 17:33:12 -06:00
Jon Rafkind
60aabdc8c5 [honu] don't stop parsing the current expression after invoking a macro.
add a file to help test honu.
2011-08-19 17:12:13 -06:00
Jon Rafkind
07715da5e9 [honu] dont remove syntaxes that end expressions from the stream so macros can consume them. add a simple cond macro 2011-08-17 13:47:58 -06:00
Jon Rafkind
85110e177b [honu] handle unary operators. add some common functions and binary operators 2011-08-17 13:47:58 -06:00
Jon Rafkind
2737351c4a start new honu implementation 2011-07-12 10:37:23 -06:00
Jon Rafkind
b406e74a8e remove old parser implementation. disable honu expansion and disable
debugging output
2010-10-22 14:33:22 -06:00
Jon Rafkind
e1ca24b80d add parse file 2010-10-22 10:48:12 -06:00
Jon Rafkind
1b356476a4 change printf to debug. add infix macro parser 2010-10-22 10:48:11 -06:00
Jon Rafkind
c45aba592d allow comma in templates 2010-10-22 10:48:11 -06:00
Jon Rafkind
86e7b98d65 fix condition. patterns can take literals 2010-10-22 10:48:11 -06:00
Jon Rafkind
eeaf6b4981 fix with-syntax 2010-10-22 10:48:10 -06:00
Jon Rafkind
02e87cdc0c add with-syntax 2010-10-22 10:48:10 -06:00
Jon Rafkind
03562eb8e3 fix if. add check_expect. add some comparison operators 2010-10-22 10:48:10 -06:00
Jon Rafkind
00094ba4e3 make print a macro 2010-10-22 10:48:09 -06:00
Jon Rafkind
9c30bda973 use honu/core. make a convenient macro for providing stuff 2010-10-22 10:48:08 -06:00
Jon Rafkind
00989ef01b add honu function 2010-10-22 10:48:08 -06:00
Jon Rafkind
32227e391d move rest of honu files. point core at local private files 2010-10-22 10:48:08 -06:00
Jon Rafkind
b185147a45 separate honu into core and user-level modules 2010-10-22 10:48:07 -06:00
Jon Rafkind
ebb177f28d parse assignment. add simple struct form that can be accessed by field identifiers 2010-10-22 10:48:07 -06:00
Jon Rafkind
9a984fcc2b parse assignment 2010-10-22 10:48:06 -06:00
Jon Rafkind
222a3f509b allow multiple patterns in a macro. parse call before macro invocation. expressions can end with any number of semicolons 2010-10-22 10:48:06 -06:00
Jon Rafkind
44fc323cff emit macro-debugger steps. dont try to use phased macro invocation 2010-10-22 10:48:05 -06:00
Jon Rafkind
af678f40ec start to trampoline macro expansion 2010-10-22 10:48:05 -06:00
Jon Rafkind
2c6cf77b53 add another introducer. compute syntax position more accurately. parse statements 2010-10-22 10:48:05 -06:00
Jon Rafkind
befa88f1ac use literal sets 2010-10-22 10:48:05 -06:00
Jon Rafkind
99545f8a08 repeater for entire expressions 2010-10-22 10:48:04 -06:00
Jon Rafkind
81544ea644 use a different syntax for expressions 2010-10-22 10:48:03 -06:00
Jon Rafkind
9894670dbe define patterns (really syntax-classes). use different parsers depending on the context. implement provide and require 2010-10-22 10:48:00 -06:00
Jon Rafkind
0ec71da614 attach original syntax properties during expansion. add debug syntax
classes.
2010-10-22 10:48:00 -06:00
Jon Rafkind
d90235efbc dont parse raw scheme syntax. fix comma replacer 2010-10-22 10:47:59 -06:00
Jon Rafkind
59db2491d0 honu-syntax supports commas 2010-10-22 10:47:59 -06:00
Jon Rafkind
1b088f7c37 expand syntax properly. force use of syntax-parse classes 2010-10-22 10:47:59 -06:00
Jon Rafkind
d5357f6dca expose syntax-parse classes 2010-10-22 10:47:58 -06:00
Jon Rafkind
721c815d89 allow macros to reparse their input 2010-10-22 10:47:58 -06:00
Jon Rafkind
066166ce65 start to get transformers to work. weave in scheme syntax 2010-10-22 10:47:58 -06:00
Jon Rafkind
3d52f5ff12 parse macro functions 2010-10-22 10:47:58 -06:00
Jon Rafkind
31cafd7974 move syntax-rules macro to a syntax-parse pattern 2010-10-22 10:47:57 -06:00
Jon Rafkind
d5533606e6 attach honu-syntax to output from syntax-rules macros 2010-10-22 10:47:57 -06:00
Jon Rafkind
177141a852 test 2010-10-22 10:47:57 -06:00
Jon Rafkind
837f1e24e5 test 2010-10-22 10:47:56 -06:00