Commit Graph

17 Commits

Author SHA1 Message Date
Patrick Lühne 66b5499005
Experimental refactoring 2020-07-07 08:15:52 +02:00
Patrick Lühne c7d79e7b07
Make inner types customizable 2020-05-19 15:39:20 +02:00
Patrick Lühne 0216f90929
Add support for comments 2020-05-12 05:55:23 +02:00
Patrick Lühne 75e97a5c07
Use log crate rather than println 2020-05-05 19:43:41 +02:00
Patrick Lühne 82e98e5ec0
Look up functions 2020-05-04 16:56:03 +02:00
Patrick Lühne 1b4c400bfb
Look up variables 2020-05-04 16:55:21 +02:00
Patrick Lühne f8918628fa
Pass declarations to term parser 2020-05-04 16:53:42 +02:00
Patrick Lühne 8d474fa489
Finish dirty first pass over parser 2020-04-28 05:21:58 +02:00
Patrick Lühne 66ac57c5b8
Work in progress 2020-04-28 03:18:05 +02:00
Patrick Lühne 15d0d2b76c
Work in progress 2020-04-27 19:36:12 +02:00
Patrick Lühne ff17c60cd1
Start rewriting parser 2020-04-22 20:01:29 +02:00
Patrick Lühne ba385868cb
Fix parsing precedence of left implication vs. less-than comparison 2020-04-20 02:40:13 +02:00
Patrick Lühne 2b3add562f
Update nom to 6.0.0-alpha1 2020-04-17 18:22:50 +02:00
Patrick Lühne 0d5971cad7
Retrieve declarations using traits and not objects 2020-04-17 04:06:22 +02:00
Patrick Lühne abbc047dda
Replace variable declaration stack with recursive layer implementation 2020-04-17 02:53:23 +02:00
Patrick Lühne 62b9e2da04
Make variable declaration stack safer with guards 2020-04-17 01:40:19 +02:00
Patrick Lühne fa6f27beb4
Start reimplementing parser
Implement name parsing

Start parsing terms

Implement word boundaries

Implement strings

Add pipe character to allowed word boundaries

Implement booleans

Require word boundaries around names

Implement variable parsing

Finish implementing term parsing

Add term parsing test

Test associativity of multiplication

Make parse feature the default

Fix term parsing and finish tests

Start parsing formulas

Continue parsing formulas

Finish implementing formula parsing

Move boolean parser to separate module

Move integer parser to separate module

Move special integer parser to separate module

Move string parser to separate module

Address warnings

Fix negation parser

Refactor term parser tests

Address clippy warning

Disallow reserved keywords as names

Add missing word boundary character

Check that names don’t start with special characters

Minor refactoring

Add note

Test conjunction parser

Test disjunction parser

Parentheses for stronger checks

Add note

Fix implication parser and output

Split formatting functionality into two files

Test term formatting

Add unit test for function declaration formatting

Work in progress

Fix implication formatting

Refactor precedence rules

Start testing formula formatter

Minor formatting

Test remaining formula types

Add unit tests for precedence-0 formulas and lower

Before larger refactoring

Refactor precedence rules for formulas

Remove ChildPosition enum

Fix

Address warnings

Remove unneeded precedence implementation

Test negation

Test quantified formulas

Clean up tests

Clean up tests

Test conjunction

Test disjunction

Start testing implications

Refactor parenthesis requirement check

Fix precedence of implication

Continue testing implication

Test biconditionals

Experimental method for testing all permutations

Rewrite tests for clarity

Rewrite tests for clarity

Add type annotations

Rewrite tests for clarity

Reorganize tests

Finish testing biconditionals

Support empty n-aries

Support quantified expressions with 0 parameters

Rewrite term formatting tests for clarity

Reorganize term formatter tests

Refactor parenthesis rules for terms

Remove unneeded parentheses enum

Refactoring

Refactoring

Minor clean-up

Minor clean-up

Simplify representation of quantified formulas

Remove redundant indirection

Remove redundant indirection
2020-04-17 01:40:16 +02:00