Tiffany Bennett
0041d12b1e
Prevent weird decompositions like Pa m -> A tesla
2016-08-25 22:41:16 -04:00
Tiffany Bennett
685e5149d1
Use more deterministic data structures
2016-08-25 22:32:38 -04:00
Tiffany Bennett
755c853cc7
Change lookup order for -s vs prefixes
2016-08-25 21:59:42 -04:00
Tiffany Bennett
eb185656dd
Canonicalize to longer version of prefix
2016-08-25 21:57:53 -04:00
Tiffany Bennett
4049a8c922
Fix panic in query tokenizer
2016-08-25 15:54:15 -04:00
Tiffany Bennett
628d9e0ae6
Show symbols instead of internal token names
2016-08-25 15:50:15 -04:00
Tiffany Bennett
e366ec430e
Remove vestigial tokens
2016-08-25 15:48:12 -04:00
Tiffany Bennett
d89fbc767f
Fix typo "Carot" token
2016-08-25 15:30:03 -04:00
Tiffany Bennett
f019bc8bea
Hopefully fix parser bugs for good this time
...
Temperature is now parsed as part of parse_mul, and an additional
regression test has been added to cover the bug that this fixed.
2016-08-25 15:27:16 -04:00
Tiffany Bennett
30b244c961
Add more ways to refer to bits and bytes
2016-08-25 15:18:42 -04:00
Tiffany Bennett
286fd0e44c
Add a few new quantities
2016-08-24 22:34:54 -04:00
Tiffany Bennett
5d972ffce3
Add some more suffix operator tests
2016-08-24 22:05:22 -04:00
Tiffany Bennett
ebb2f5995d
Make / lower precedence than *, add |
...
| has higher precedence than *
2016-08-24 21:56:55 -04:00
Tiffany Bennett
dedc2d7620
Regression test for temperature suffixes
2016-08-24 21:31:37 -04:00
Tiffany Bennett
5bdc7da65d
Fix tests
2016-08-24 21:29:48 -04:00
Tiffany Bennett
f4ba7f4884
Show base units in definition listings
2016-08-24 21:17:57 -04:00
Tiffany Bennett
888313e7e2
Fix parser bug with terms after a suffix operator
2016-08-24 21:07:36 -04:00
Tiffany Bennett
353f82804d
Add units for
query
2016-08-24 17:24:58 -04:00
Tiffany Bennett
6180935d63
Canonicalize user input units
2016-08-24 15:25:35 -04:00
Tiffany Bennett
262ee80a7c
Add unit list conversions
...
e.g. megasecond -> hour;min;sec
2016-08-24 15:04:13 -04:00
Tiffany Bennett
3f32bc30a7
Separate expressions from top-level queries
2016-08-24 13:46:30 -04:00
Tiffany Bennett
52c19f6920
Detect reciprocal conversions better
...
Detect squared units and inverted units in conformance errors as well.
2016-08-24 12:56:42 -04:00
Tiffany Bennett
0a5704b039
Improve showing definitions
...
Recursively resolves "alias" units, actually shows value in terms of
base units.
2016-08-24 12:36:17 -04:00
Tiffany Bennett
cd05875490
Add ℃ and ℉ keywords
2016-08-24 12:25:46 -04:00
Tiffany Bennett
cfeca70dc2
Rename some commonly confused units
2016-08-24 12:23:15 -04:00
Tiffany Bennett
b2a87e8dc6
Add some basic unit tests
2016-08-22 19:20:49 -04:00
Tiffany Bennett
b4f3d02539
Fix associativity of addition and subtraction
2016-08-22 17:11:02 -04:00
Tiffany Bennett
7158fe81e1
Remove vestigial frink definition parser
2016-08-22 15:03:26 -04:00
Tiffany Bennett
2d84daf064
Add dedicated date patterns file, improve dates
...
There is now a dedicated lexer for date literals, which handles ISO 8601
dates (with the T) properly now.
Parsing of date patterns is handled in date.rs now, instead of in unit_defs.rs.
2016-08-22 14:53:33 -04:00
Tiffany Bennett
b75e67f86c
Compile in definitions.units by default
...
This makes the default compilation of rink invoke the secondary
licensing clause, which results in the binaries being under the GPL.
You can still use your own definitions.units - it will only use the
built in one if it can't find another.
2016-08-22 12:03:00 -04:00
Tiffany Bennett
3181e24e29
Switch to MPL
2016-08-22 10:46:22 -04:00
Tiffany Bennett
1e26f13bee
Fix unevenly spaced = in definition output
2016-08-21 22:35:21 -04:00
Tiffany Bennett
0576611968
Merge branch 'gnu_units'
2016-08-21 22:32:40 -04:00
Tiffany Bennett
7169be2ef9
Fix regression with printing dimensionless values
2016-08-21 22:31:24 -04:00
Tiffany Bennett
ea3284f2b2
Update documentation to refer to definitions.units
2016-08-21 22:26:04 -04:00
Tiffany Bennett
4cbffea0ed
Show definitions for single-unit queries
2016-08-21 22:16:28 -04:00
Tiffany Bennett
a5ddd614bc
Add output of computed derived units
...
E.g. a calculation with a result of W^2 will show as 1 watt^2 = kg^2 m^4 / s^6
2016-08-21 21:25:49 -04:00
Tiffany Bennett
6432f0b864
Fix quantity conflicts
2016-08-21 15:28:42 -04:00
Tiffany Bennett
5413bd1a22
Add radiometric units
2016-08-21 11:20:58 -04:00
Tiffany Bennett
c9ad5d9ff0
Enable dimensionless primitive units
2016-08-21 10:55:44 -04:00
Tiffany Bennett
920fffe9ca
Introduce quantity syntax to gnu units definitions
2016-08-21 10:50:26 -04:00
Tiffany Bennett
ef2362f6bc
Fix precedence of / in GNU units
2016-08-21 09:53:14 -04:00
Tiffany Bennett
6aac7bab8c
Run successfully off of definitions.units
2016-08-20 21:35:56 -04:00
Tiffany Bennett
5a679beba0
WIP out of order definition resolver
2016-08-20 20:03:02 -04:00
Tiffany Bennett
20e8e1adbd
Impl Debug for Number
2016-08-20 20:02:38 -04:00
Tiffany Bennett
24f510f1f4
Implement gnu units parser
2016-08-20 17:00:26 -04:00
Tiffany Bennett
8db988c589
Implement tokenizer for GNU definitions.units
2016-08-20 15:11:27 -04:00
Tiffany Bennett
8d847e5930
Define subtraction of datetimes
2016-08-20 13:42:33 -04:00
Tiffany Bennett
6582ff4783
Add now
for current datetime
2016-08-20 13:28:52 -04:00
Tiffany Bennett
af9d4d57ee
Make prefixes optional in private message
2016-08-20 13:00:34 -04:00