Commit graph

147 commits

Author SHA1 Message Date
Schrottkatze 946ac879a7
lang: basic module syntax grammar 2024-06-03 11:22:36 +02:00
Schrottkatze f6da90a354
lang: improve and simplify error handling and storage
fixes wrong error ordering with errors using `forward_parents`.
2024-06-03 10:53:59 +02:00
Schrottkatze ed151c2e3c
lang: handle and recover some errors in lists 2024-05-04 23:12:47 +02:00
Schrottkatze 4bcaf945d7
lang: add highlighting to errors 2024-05-04 22:35:18 +02:00
Schrottkatze 29cdcfbe0c
lang: make output errors debuggable 2024-05-04 21:56:12 +02:00
Schrottkatze afd493be16
lang: parse pipelines 2024-05-04 21:44:02 +02:00
Schrottkatze 30f17773a8
lang: add pipelines and rename parser to lst_parser 2024-04-30 12:21:06 +02:00
Schrottkatze db2643359c
lang: basic attrset parser 2024-04-30 10:18:59 +02:00
Schrottkatze 9af71ed3f4
lang: implement vec, list and matrix 2024-04-30 09:45:36 +02:00
Schrottkatze 8a541546d9
app: fix error_reporting not being used 2024-04-28 13:22:04 +02:00
Schrottkatze 4df0118aa4
lang: first test and stuff 2024-04-24 21:09:55 +02:00
Schrottkatze ba0da33509
split up files a bit 2024-04-24 20:00:17 +02:00
Schrottkatze 9510d9254c
lang: fix matrix recovery 2024-04-24 19:55:25 +02:00
Schrottkatze e62b50a51a
lang: make Markers debuggable 2024-04-24 19:55:16 +02:00
Schrottkatze 2bea3994c2
lang: matrix parser! 2024-04-24 19:37:52 +02:00
Schrottkatze 86b1481943
lang: remove empty recursive parser module 2024-04-24 11:15:07 +02:00
Schrottkatze 06c9094227
lang: fix main 2024-04-24 11:09:48 +02:00
Schrottkatze 381ab45edc
lang: rewrite parser 2024-04-24 11:07:38 +02:00
Schrottkatze 6d8b79e8f7
lang: apparently add event debug printer 2024-04-15 16:22:33 +02:00
Schrottkatze be637846b1
lang: kinda fun parsing things that can now parse attribute sets with one attribute 2024-04-12 21:31:55 +02:00
Schrottkatze 1711d17fa6
lang: parsing to events now 2024-04-12 20:55:55 +02:00
Schrottkatze f7b61f9e0e
lang: start working on parser that parses to events 2024-04-12 15:43:34 +02:00
Schrottkatze 2d59a7f560
lang: start implementing parser combinators (i have no idea what i'm doing)
also, the current test.owo crashes for some reason. this is a headache.
manual/imperative parsers are a nightmare.
2024-04-12 01:02:07 +02:00
Schrottkatze 9da157ff4a
lang: massive amounts of parser and ast pain 2024-04-11 03:23:03 +02:00
Schrottkatze bfd4b3765f
lang: state with confusing error 2024-04-08 15:43:42 +02:00
Schrottkatze 198c74c7ae
lang: make attrset delims braces 2024-04-08 14:04:52 +02:00
Schrottkatze 8d7401531e
lang: some small, unfinished stuff 2024-04-07 01:04:02 +02:00
Schrottkatze b6e304fa78
lang: rework ast structure 2024-04-07 00:55:12 +02:00
Schrottkatze ace69b0094
svg-filters: format matrices in complex test 2024-04-03 20:08:33 +02:00
Schrottkatze 84448af714
lang: funky basic error reporting stuff 2024-04-03 17:00:20 +02:00
Schrottkatze ae60db7721
lang: extract tests into file 2024-04-03 00:30:11 +02:00
Schrottkatze de008263ca
lang: add test 2024-04-03 00:28:45 +02:00
Schrottkatze ca84af4e1b
lang: basic parser 2024-04-03 00:08:00 +02:00
Schrottkatze ae86ae29ab
svg-filters: more testssss 2024-03-24 17:07:35 +01:00
Schrottkatze 02c5e9e159
svg-filters: figured out flood not working in local test env 2024-03-24 16:11:07 +01:00
Schrottkatze 0197df5ee2
svg-filters: add turbulence and displacement map 2024-03-24 15:49:41 +01:00
Schrottkatze 919a3bb377
svg-filters: seperate out abstractions and add flood abstraction 2024-03-22 16:47:21 +01:00
Schrottkatze 9ae8c2fbd3
svg-filters: add nice abstractions for component transfer 2024-03-22 16:24:04 +01:00
Schrottkatze 9727ef82ca
svg-filters: implement feComponentTransfer rendering 2024-03-22 16:05:36 +01:00
Schrottkatze c31a158d9b
svg-filters: rework macro slightly 2024-03-20 19:11:42 +01:00
Schrottkatze aeeee54200
svg-filters: new conditional attrs macro 2024-03-19 18:43:30 +01:00
Schrottkatze dc7d76dc26
svg-filters: create gen_attr and gen_attrs convenience macros 2024-03-19 15:47:09 +01:00
Schrottkatze e17fffb66b
svg-filters: blend node 2024-03-19 15:15:36 +01:00
Schrottkatze f59062cf88
svg-filters: cleanup 2024-03-17 00:51:20 +01:00
Schrottkatze 384fef5a81
svg-filters(primitives): start with feComponentTransfer 2024-03-17 00:50:51 +01:00
Schrottkatze 77bcb54b5e
svg-filters(tests): start 2024-03-17 00:50:16 +01:00
Schrottkatze d87033d320
svg-filters(codegen): add pretty and ugly printing 2024-03-17 00:49:53 +01:00
Schrottkatze bf60bdd814
svg-filters: simplify and refactor a bit 2024-03-16 23:57:09 +01:00
Schrottkatze 5368951254
svg-filters: rework codegen 2024-03-16 20:52:45 +01:00
Schrottkatze a42ec014e5
svg-filters: get svg generation working!!!! 2024-03-16 00:35:23 +01:00
Schrottkatze 01b1880089
svg-filters: get bare basic xml generation going 2024-03-15 22:45:28 +01:00
Schrottkatze 56848a1b05
svg-filters: add basic graph and stuffs 2024-03-15 19:52:40 +01:00
Schrottkatze 69f0baf425
svg-filters: init 2024-03-15 16:44:47 +01:00
Schrottkatze 98850ee1e9
lang: lexer 2024-03-08 12:34:09 +01:00
Schrottkatze d79383a7df
cleanup: remove unneeded source format in read instruction
The image crate is able to infer the format, so that data is redundant
2024-01-23 12:40:25 +01:00
MultisampledNight 63d7993940
chore: remove confusing comment 2024-01-21 21:28:35 +01:00
MultisampledNight bbde1c84ca
chore: move error handling todos from msgs into comments 2024-01-21 21:08:27 +01:00
MultisampledNight 98f4a6cdeb
chore: use to_owned instead of to_string 2024-01-21 21:00:36 +01:00
MultisampledNight 3e208335c3
feat: get full evaluation back online
Very hacky, but this is enough to be finished with the graph IR for now.
2024-01-21 04:21:33 +01:00
MultisampledNight 3c529c3a1a
chore: rename executor -> evaluator and integrate into app 2024-01-21 03:22:46 +01:00
MultisampledNight de9ca81b65
chore: appease clippy 2024-01-20 21:47:33 +01:00
MultisampledNight c4207af8da
repo: rename executor -> eval 2024-01-20 21:36:40 +01:00
MultisampledNight 23fadce867
fix: glue with app from #7 2024-01-20 21:32:25 +01:00
MultisampledNight 98c9399ee4
feat: nicer debug repr for instr id and socketidx 2024-01-20 21:13:11 +01:00
MultisampledNight 8b6f9810df
docs(ir): clarify localness of socketidx 2024-01-20 21:13:11 +01:00
MultisampledNight cdf42417da
refactor(ir): use u64 directly instead of spans for instructions 2024-01-20 21:13:11 +01:00
MultisampledNight 5a209ab5af
docs: fix typo 2024-01-20 21:13:11 +01:00
MultisampledNight fa2893bc77
feat(ir): actually get toposort working 2024-01-20 21:13:11 +01:00
MultisampledNight 4fd35736d5
feat(ir): rethink logic for finding vertices with no inputs 2024-01-20 21:13:10 +01:00
MultisampledNight 66639771ac
feat(ir): dependents and dependencies 2024-01-20 21:13:07 +01:00
MultisampledNight 29269e2fcd
feat(ir): implement resolve functionality (untested) 2024-01-20 21:12:43 +01:00
MultisampledNight d8e08459a0
docs: ensure docs are well-linked, fed and washed 2024-01-20 21:12:43 +01:00
MultisampledNight 6395efbeab
chore: extract id stuff into its own file 2024-01-20 21:12:43 +01:00
MultisampledNight ca8cf0cc52
chore: put semi human graph ir into its own module 2024-01-20 21:12:43 +01:00
MultisampledNight ee675de202
feat: add semi-human-readable-and-writable-ir 2024-01-20 21:12:43 +01:00
MultisampledNight 4db6eb4317
feat(cli): don't require executor arg anymore 2024-01-20 21:12:42 +01:00
MultisampledNight fcf7e909ee
feat(ir): replace Rpl with GraphIr
Semi-broken as atm the CLI just does nothing except printing the parsed
IR, instead of actually executing it.
2024-01-20 21:12:08 +01:00
MultisampledNight ccbccfb11b
style: drop Instruction suffix from instructions 2024-01-20 21:11:33 +01:00
MultisampledNight 77d1236720
test: prettify TEST_DATA over multiple lines 2024-01-20 21:11:33 +01:00
MultisampledNight 5bf277cf14
test: fix running tests 2024-01-20 21:11:32 +01:00
MultisampledNight 8f3c426359
style: propagate clippy lints throughout workspace 2024-01-20 21:11:31 +01:00
MultisampledNight 816602fb2e
fix: take care of clippy warnings and add test image 2024-01-20 21:10:49 +01:00
Schrottkatze 48458fd1c9
remove old cli 2024-01-20 20:07:55 +01:00
Schrottkatze 746c81ab60
app(cli): apply review 2024-01-20 20:05:09 +01:00
Schrottkatze 0615ea653c
app(doc): well... write the docs 2024-01-20 20:05:09 +01:00
Schrottkatze 6006f92d9c
app: better? config error handling 2024-01-20 20:05:09 +01:00
Schrottkatze 7c9dca0ae2
app: improve config loading and merging 2024-01-20 20:05:09 +01:00
Schrottkatze ea2e5d6075
app: unify config handling stuff a bit 2024-01-20 20:05:09 +01:00
Schrottkatze e67c80a6a9
move ron to be specific to app 2024-01-20 20:05:09 +01:00
Schrottkatze 96374b6491
split up modules into subfiles 2024-01-20 20:05:09 +01:00
Schrottkatze 4788278d86
more basic features, config gets read and startup messages 2024-01-20 20:05:09 +01:00
Schrottkatze 33aa131b95
app: improve errors a bit more
added a message to the label so the position of the error gets shown
and a note to make clear we don't have enough info for better error
messages thanks to serde
2024-01-20 20:05:08 +01:00
Schrottkatze e7db9c38f3
cli: work on basic cli and serde error hanlding 2024-01-20 20:05:08 +01:00
Schrottkatze e7863402f3 implement invert instruction 2024-01-01 21:18:56 +01:00
Schrottkatze b92977d8f1 basic conversion thing do worky!!! 2024-01-01 07:30:04 +01:00
Schrottkatze f046393af8 really basic implementation of rpl types 2023-12-14 08:42:49 +01:00
Schrottkatze b4d48a598a restart basically lmao 2023-12-13 18:13:43 +01:00