truth-tables's People
truth-tables's Issues
Add column highlighting to master
left side and right side of current operator need to be regexed and their respective columns highlighted
Parens issue with grammar
http://www.truthtables.org/#/true/(!(p&q))=((!p)|(!q))
http://www.truthtables.org/#/true/(!(p|q))=((!p)&(!q))
http://www.truthtables.org/#/true/(p|(q|r))=((p|q)|r)
http://www.truthtables.org/#/true/(p&(q|r))=((p&q)|(p&r))
http://www.truthtables.org/#/true/(p|(q&r))=((p|q)&(p|r))
www.truthtables.org/#/true/((p|q)&(!p|r))->(q|r)
www.truthtables.org/#/true/((p|q)&(r|!p))->(q|r)
www.truthtables.org/#/true/((p|q)&(!q|r))->(p|r)
www.truthtables.org/#/true/((p|q)&(r|!q))->(q|r)
Column Highlighting with ->
LHS -> RHS has issues highlighting the RHS column when RHS is a single variable
Issue doesn't occur if the right side is more than one variable.
Example:
Works: http://www.cs.utexas.edu/~bastionf/#/false/a->(b&c)
Works: http://www.cs.utexas.edu/~bastionf/#/false/a->b&c
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/a->b
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/(a&c)->b
**EDIT: Same issue occurs with <- as well
Works: http://www.cs.utexas.edu/~bastionf/#/false/a<-b&c
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/(a&c)<-b
Add CFG to Column Highlighting
We talked about this. You know what to do. Fix up the column highlighting by making a context free grammar. It should be robust and solve most of our current issues.
Table page for invalid expressions
Need an error landing page for when the expression is invalid. This case can occur when a user inputs an invalid expression directly in the url.
Operator Mistake Count
The app should count the number of errors you get for each operator. Along with this functionality, we should include counting intermediate steps (when skipped) as mistakes and adding to their operator count. Maybe we could even do something fun with chart js ( http://www.chartjs.org/ ) to display the mistake count
Add instructions on URL manipulation to landing page
column highlighting for things that have (a|b) three times
Surprise! (a|b)&(a|b)&(a|b), (a|b)|(a|b)&(a|b), and (a|b)&(a|b)|(a|b) all have issues with column highlighting. a|b is not duplicated in the columns (good!), but it is the only thing highlighted when solving the rest of the subexpressions (and the whole expression).
Ex:
(a|b)&(a|b)&(a|b) has you solve a|b and (a|b)&(a|b), but when solving the entire thing, it only highlights a|b.
Column Highlighting
Bastion has a really pretty branch of this. Please add the proper column highlighting for the !, (), and -> operators.
Examples (by the way, you can't click the links...):
http://www.cs.utexas.edu/~bastionf/#/true/a|b&c->c&a|!a
and
http://www.cs.utexas.edu/~bastionf/#/true/a|b&c|(c&a|!a)
Collapsing columns
On table-basic, a nice feature to add would be to collapse columns you're either not dealing with or don't need for the subexpression you're currently on. I'm able to make an expression so long that when solving a later subexpression, two columns being highlighted are spread so far apart that they can't be viewed together (meaning you have to scroll).
Note, you cannot completely hide the columns. This would cause issues for the user if they want to work on another subexpression.
Add variables to landing page legend
single letters besides T, F, t, f, X
Problem with XOR
XOR ("X") doesn't work if a variable is touching it on the right
Also, XOR doesn't column highlight for single variables (even for "working" links)
(Works on table-basic)
Example: (a)X(b) works, but aXb doesn't
(Note: Links don't work. Copy into browser)
Works (column highlighting works, too): http://www.cs.utexas.edu/~bastionf/#/false/(a&b)X(b)
Works: http://www.cs.utexas.edu/~bastionf/#/false/(a)X(b)
Works: http://www.cs.utexas.edu/~bastionf/#/false/aX(b)
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/aXb
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/(a)Xb
Change colors
light green and pink please
Issue with nested parens with operators
Columns aren't highlighting at all for certain expressions with nested parens and an operator
Examples (Look at last column):
Works: http://www.cs.utexas.edu/~bastionf/#/true/a&(b&(a))
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/true/a&((b)&a)
Works: http://www.cs.utexas.edu/~bastionf/#/true/a&(b->a)
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/true/a&((b)->a)
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/true/((a)|c)&b
Works: http://www.cs.utexas.edu/~bastionf/#/true/((a)|c)
Works: http://www.cs.utexas.edu/~bastionf/#/true/(a|(c))
Repeated subexpressions
Equations such as "(a|b)&(a|b)&(a|b)" don't remove repeated parts when you have to solve it. This example has you solve "a|b" in three different columns.
Ordering change in boolean value assignment
the order should be
TT
TF
FT
FF
essentially treating T as 1 and counting down in binary
Need a readme!
This repo needs a readme that explains what it is and hosts our legal stuff.
Remove redundant subexpressions in master
Column Highlighting issue with parentheses
EDIT: Not just an issue with XOR. It's something with everything
Column highlighting doesn't work for expressions in parentheses.
Examples:
Works: http://www.cs.utexas.edu/~bastionf/#/false/aXb
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/(a)Xb
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/aX(b)
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/(a)&(b)
1 Mistakes -> 1 Mistake
Column Highlighting Issue with Not
Ok column highlighting is not fun.
There's an issue with the not operator, too.
Example:
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/false/!a
Stacking nots without parens
!(!a) works, but !!a doesn't.
Works: http://www.cs.utexas.edu/~bastionf/#/true/!(!a)
Doesn't work: http://www.cs.utexas.edu/~bastionf/#/true/!!a
Suggested Additional Features (Post-Production)
-Help button (reveal answers to selected boxes)
-Fancier front page (will all the necessary information to know what it is)
-Explicitly state everything's public domain (etc etc lawyers) on the front page
-Rendering special symbols
-A legend on the front page (this symbol = blank, this symbol = blank, etc etc)
-Mark intermediate steps incorrect!!! If I skip columns that are used and I get an answer wrong, mark that answer and the intermediate steps incorrect! (Bastion, you should know what I mean)
Double counting mistakes
If I accidentally put in the wrong answer twice (such as "TT" when the answer was supposed to be "F") and backspace to clear, the mistake is counted twice. First time is when a single "T" is read, and a second time when I erase the second "T" from the box.
Results Page
The current results page lists how many errors you made, but does not show where you made them. Would it be possible to show the table (with the input answers) and mark the mistakes? (Similar to practice mode)
Also, it currently says "Mistakes made X out of X answered". Would it be possible to change to "Mistakes made: X out of X" (since the "answered" part is already included in the line below)
Issue parsing variables from =
Issue with URLs
| turns into %7C
turns into %3E
etc.
URL argument passing in master
Add expression validation to main page
Main page should display some sort of error message instead of undefined behavior with an invalid expression in the URL
Change variables to accept A-Z (except T and F)
new variable regex
[a-eg-su-zA-EG-SU-Z]
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.