aboutsummaryrefslogtreecommitdiffstats
path: root/COPYING (unfollow)
Commit message (Collapse)AuthorFilesLines
2025-06-19more list testsGravatar Peter McGoron 1-1/+36
2025-06-19self-syntax tests for producerGravatar Peter McGoron 1-25/+41
2025-06-19Add ellipsis escape formGravatar Peter McGoron 5-40/+77
`(... <template>)` in R6RS+ will escape a single form of ellipses in the production. I personally do not recommend this: overriding the ellipsis with a new identifier is the better approach in all circumstances.
2025-06-19add support for multiple ellipses in a sequence in producersGravatar Peter McGoron 2-17/+35
Adopts behavior such that x ... ... => {append ((x ...) ...} x ... ... ... => {append {append (((x ...) ...) ...)}} where `{append ...}` occurs at the meta-level after expanding the patterns. (In the code this is done with an accumulator.)
2025-06-19Rework PNL calculations in pattern producer, fix producer testGravatar Peter McGoron 2-27/+49
Previous PNL calculations calculated the PNL against the entire pattern. This is not useful, because the PNL at each ellipsis pattern is what is useful. This is also nice because it does not require a parameter: the PNL can always be calculated locally.
2025-06-17pattern testingGravatar Peter McGoron 6-36/+130
2025-06-16producerGravatar Peter McGoron 5-20/+341
2025-05-02move common procedures for matcher and producer to internalGravatar Peter McGoron 8-88/+183
2025-04-26move utils to new library, emit ellipsis dag from matcher compilerGravatar Peter McGoron 7-54/+128
The compiler now returns a DAG implemented as a hash table. The keys are ellipsis group IDs and the values are lists of ellipsis group IDS. When a producer encounters a repeated form, it uses the information in this DAG to confirm that the production is valid.
2025-04-26document pattern matcher, add ellipsis groupsGravatar Peter McGoron 3-111/+191
Add precise definitions, with examples, for concepts like the ellipsis nesting level. This should clarify what the matcher is doing. They should apply to any implementation of the Macrological Fascicle's description of patterns. This also adds ellipsis grouping. This is used to determine which identifiers are allowed to be repeated with each other in output. TODO: The concept of group needs to encompass nested identifiers. For instance (let-values (((name ...) value) ...) body ...) does not allow ((name ...) body ...) but the current system does not handle this.
2025-04-25reorganize pattern moduleGravatar Peter McGoron 5-8/+11
2025-04-25test vectors with matches after an ellipsesGravatar Peter McGoron 2-10/+53
2025-04-25support literals as a list of identifiers, test literalsGravatar Peter McGoron 2-17/+44
2025-04-25fix nested ellipsesGravatar Peter McGoron 2-7/+99
2025-04-25rewrite expanderGravatar Peter McGoron 3-145/+276
Expander now uses dynamically scoped variables. The old lexical scope variable implementation was getting to four nested lambdas, which was unreadable. The dynamic variables are clearly labeled and segregated from the rest of the code. The actual compiler interacts with the dynamic variables through an API. The previous compiler did not handle empty ellipses match properly. This has some more work to fix that.
2025-04-24fix pattern list creationGravatar Peter McGoron 4-20/+38
2025-04-24fix is-ellipsis-listGravatar Peter McGoron 1-1/+1
2025-04-24add pattern matcher and some testsGravatar Peter McGoron 5-0/+309
2025-04-24add tests for bound-identifier-comparatorGravatar Peter McGoron 3-121/+175
lass='logheader'>2000-11-25Add some information about return values.Gravatar aeb 1-3/+29 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@45 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-11-24Bump up version numbers for release.Gravatar aeb 2-3/+11 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@44 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-11-24Added libraw1394.postinst.in to list of distributed files.Gravatar aeb 3-3/+35 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@43 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-11-23Add ldconfig in deb postinst for Debian policy conformance.Gravatar aeb 2-2/+17 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@42 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-11-23Removed acconfig.h, which wasn't needed for some time.Gravatar aeb 1-13/+0 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@41 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-11-22Added ieee1394.h header.Gravatar aeb 3-1/+38 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@40 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-09-13Fix raw1394_start_iso_write() which uses wrong variable.Gravatar aeb 1-1/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@39 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-09-10Work around compiler warnings for int/ptr casts.Gravatar aeb 6-10/+20 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@38 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-09-10Added control files for Debian packages.Gravatar aeb 6-8/+106 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@37 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-09-01Added missing prototypes for iso send functions.Gravatar aeb 1-0/+7 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@36 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-08-08Added raw1394_get_irm_id().Gravatar aeb 7-7/+39 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@35 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-08-06Added support for isochronous sending.Gravatar aeb 3-0/+35 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@34 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-07-05Added raw1394_reset_bus() call.Gravatar aeb 4-0/+23 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@33 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-22- Set library version info in configure.in, use in src/Makefile.am.Gravatar aeb 4-2/+16 - Enable compiler warnings. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@32 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-15Update libtool version number.Gravatar aeb 2-2/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@31 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-14Added copyright headers.Gravatar aeb 6-0/+54 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@30 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-11Added explicit AC_PROG_INSTALL call.Gravatar aeb 1-0/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@29 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-09Fix size of error field.Gravatar aeb 1-2/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@28 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-06-02Modified support for 32/64 bit environments, control struct fields have ↵Gravatar aeb 7-43/+28 fixed size now. git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@27 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-05-28Added support for environments with 64 bit kernel and 32 bit userland.Gravatar aeb 8-7/+45 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@26 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-27Fixed missing setting of ext code in raw1394_start_lock()Gravatar aeb 1-0/+1 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@25 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-15Fixed lock transaction to actually return response value.Gravatar aeb 3-5/+11 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@24 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-12Add userdata functions as news.Gravatar aeb 1-0/+4 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@23 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-04-05Add userdata functions.Gravatar aeb 3-0/+18 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@22 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Bump version number to 0.6.Gravatar aeb 3-5/+6 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@21 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention byte order change.Gravatar aeb 1-0/+2 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@20 53a565d1-3bb7-0310-b661-cf11e63c67ab 2000-03-18Mention SourceForge home.Gravatar aeb 1-1/+5 git-svn-id: svn://svn.linux1394.org/libraw1394/trunk@19 53a565d1-3bb7-0310-b661-cf11e63c67ab