-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ACSetSpec PEG.jl-based Implemenation #153
ACSetSpec PEG.jl-based Implemenation #153
Conversation
… working, yet its test are failing...
…. Goodnight lovely world.
I noticed that the function This test fails: @test args("foo, b ,c")[1] == ([Value(:foo), Value(:b), Value(:c)]) The LHS evaluates to |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #153 +/- ##
==========================================
- Coverage 92.06% 91.72% -0.35%
==========================================
Files 23 24 +1
Lines 2118 2139 +21
==========================================
+ Hits 1950 1962 +12
- Misses 168 177 +9 ☔ View full report in Codecov by Sentry. |
@jpfairbanks It looks like @quffaro and I both approve. Merge? |
Merge |
The following PR contains two main files: src/parsers.jl as well as test/parsers.jl. This contains a module for constructing a parse expression grammar for creating an ADT representation from an ACSet specification. The use of PEG.jl allows us to build ASTs that are not constrained to the way Julia treats code as data. We can define our expressions in our tree the way we see fit. I have also included a testing module to ensure that the parser functions properly. The new parser can be called by a string macro: "acsetspec_str". For instance, we can call: