Programmed by Raphael Finkel.
A student team, including Seifalla Moustafa, Ronnel Turner, and Clay Marshall
suggested currency-conversion code, abbreviation menus, and dimension display.
Currency conversion provided by www.exchangerate-api.com.
Instructions
Input is line-oriented.
Valid forms:
expression, such as 12 m / day
assignment, such as snailPace = 12 m / day
conversion request, such as convert snailPace to km / hr
dimension request, such as dim snailPace
Expression details:
disallowed: function symbols
allowed: implicit multiplication
allowed: unary negation
allowed: exponentiation (with ^) to any integer (including negative).
allowed: decimal numbers
disallowed: exponential (e) notation.
Comments start with % and continue to the end of the line.
You may prefix constants and variables with multipliers:
P peta-
T tera-
G giga-
M mega-
k kilo-
h hecto-
d deci-
c centi-
m milli-
μ micro-
n nano-
p pico-
f femto-
Predefined constants
A: 1 A (Ampere)
AED: (United Arab Emirates Dirham)
AMD: (Armenian Dram)
ANG: (Netherlands Antillian Guilder)
AOA: (Angolan Kwanza)
ARS: (Argentine Peso)
AUD: (Australian Dollar)
BBD: (Barbados Dollar)
BDT: (Bangladeshi Taka)
BGN: (Bulgarian Lev)
BHD: (Bahraini Dinar)
BRL: (Brazilian Real)
BSD: (Bahamian Dollar)
BWP: (Botswana Pula)
Bq: 1/s (becquerel)
Btu: 1055.05585 kg m^2/s^2 (British thermal unit)
C: 1 s A (Coulomb)
CAD: (Canadian Dollar)
CHF: (Swiss Franc)
CLP: (Chilean Peso)
CNY: (Chinese Renminbi)
COP: (Colombian Peso)
CZK: (Czech Koruna)
Ci: 37000000000/s (curie)
DKK: (Danish Krone)
DOP: (Dominican Peso)
EGP: (Egyptian Pound)
ETB: (Ethiopian Birr)
EUR: (Euro)
F: 96485.3365 s A/mol (Faraday constant)
FJD: (Fiji Dollar)
G: 6.67384e-11 m^3/(kg s^2) (gravitational constant)
GBP: (United Kingdom Pound Sterling)
GHS: (Ghanaian Cedi)
GTQ: (Guatemalan Quetzal)
Gy: 1 m^2/s^2 (Gray)
H: 1 kg m^2/(s^2 A^2) (Henry)
HKD: (Hong Kong Dollar)
HNL: (Honduran Lempira)
HRK: (Croatian Kuna)
HUF: (Hungarian Forint)
Hz: 1/s (Hertz)
IDR: (Indonesian Rupiah)
ILS: (Israeli Shekel)
INR: (Indian Rupee)
IQD: (Iraqi Dinar)
IRR: (Iranian Rial)
ISK: (Icelandic Krona)
J: 1 kg m^2/s^2 (Joule)
JMD: (Jamaican Dollar)
JOD: (Jordanian Dinar)
JPY: (Japanese Yen)
K: 1 °K (degree Kelvin)
KES: (Kenyan Shilling)
KHR: (Cambodian Riel)
KRW: (Korean Won)
KWD: (Kuwaiti Dinar)
KZT: (Kazakhstani Tenge)
L: 6.02214076e+23/mol (Avogadro's number)
LAK: (Lao Kip)
LKR: (Sri Lanka Rupee)
MAD: (Moroccan Dirham)
MKD: (Macedonian Denar)
MMK: (Myanmar Kyat)
MUR: (Mauritian Rupee)
MXN: (Mexican Peso)
MYR: (Malaysian Ringgit)
Mx: 1e-08 kg m^2/(s^2 A) (maxwell)
N: 1 kg m/s^2 (Newton)
NAD: (Namibian Dollar)
NGN: (Nigerian Naira)
NOK: (Norwegian Krone)
NZD: (New Zealand Dollar)
OMR: (Omani Rial)
PAB: (Panamanian Balboa)
PEN: (Peruvian Nuevo Sol)
PGK: (Papua New Guinean Kina)
PHP: (Philippine Peso)
PKR: (Pakistani Rupee)
PLN: (Polish Zloty)
PYG: (Paraguayan Guarani)
Pa: 1 kg/(m s^2) (Pascal)
QAR: (Qatari Riyal)
R: 8.314 kg m^2/(s^2 mol °K) (gas constant)
RON: (Romanian Leu)
RSD: (Serbian Dinar)
RUB: (Russian Rouble)
Rvalue: 1 s^3 °K/kg (R value)
Rvalue_US: 0.176110184119637 s^3 °K/kg (US R value)
S: 1 s^3 A^2/(kg m^2) (Siemens)
SAR: (Saudi Riyal)
SCR: (Seychellois Rupee)
SEK: (Swedish Krona)
SGD: (Singapore Dollar)
Sv: 1 m^2/s^2 (Sievert)
THB: (Thai Baht)
TJS: (Tajikistani Somoni)
TND: (Tunisian Dinar)
TRY: (Turkish Lira)
TTD: (Trinidad And Tobago Dollar)
TWD: (New Taiwan Dollar)
TZS: (Tanzanian Shilling)
Tbsp: 1.478676478128e-05 m^3 (tablespoon)
Torr: 133.322368421053 kg/(m s^2) (torr)
Ts: 1 kg/(s^2 A) (Tesla)
UAH: (Ukrainian Hryvnia)
USD: 1 USD (United States Dollar)
UYU: (Uruguayan Peso)
UZS: (Uzbekistani Som)
V: 1 kg m^2/(s^3 A) (Volt)
VEF: (Venezuelan Bolivar Fuerte)
VND: (Vietnamese Dong)
W: 1 kg m^2/s^3 (Watt)
Wb: 1 kg m^2/(s^2 A) (weber)
XAF: (CFA Franc Central)
XCD: (East Caribbean Dollar)
XOF: (CFA Franc West)
XPF: (French Pacific Francs)
ZAR: (South African Rand)
ZMW: (Zambian Kwacha)
acre: 4046.8564224 m^2 (acre)
arshin: 0.7112 m (арши́н)
atm: 101325 kg/(m s^2) (atmosphere)
bar: 100000 kg/(m s^2) (bar)
bbl: 0.119240471196242 m^3 (barrel)
berkovets: 163.806872 kg (берковец)
bochka: 0.4919764 m^3 (бо́чка)
bu: 0.035239072 m^3 (bushel)
butylka_vinnaya: 0.000768713125 m^3 (буты́лка_ви́нная)
butylka_vodochnaya: 0.0006149705 m^3 (буты́лка_во́дочная)
c: 299792458 m/s (speed of light)
cal: 4.18409 kg m^2/s^2 (calorie)
cb: 219.456 m (cable)
cc: 1e-06 m^3 (cubic centimeter)
cd: 1 cd (candela)
ch: 20.1168 m (chain)
charka: 0.0001229941 m^3 (ча́рка)
chast: 0.000109328066666667 m^3 (часть)
chetverik: 0.026238736 m^3 (четвери́к)
chetvert: 0.209909888 m^3 (че́тверть)
cp: 0.00023658823650048 m^3 (US cup)
cwt: 45.3592 kg (US hundredweight)
day: 86400 s (day)
degF: 0.555555555555556 °K (Δ degrees Fahrenheit)
desiatina: 10925.397504 m^2 (десяти́на)
dolia: 4.44354578993056e-05 kg (до́ля)
dr: 0.00177184375 kg (dram)
dry_bbl: 0.115619395232 m^3 (dry barrel)
dry_gal: 0.004404884 m^3 (dry gallon)
dry_pt: 0.0005506105 m^3 (dry pint)
dry_qt: 0.001101221 m^3 (dry quart)
duiym: 0.0254 m (дюйм)
dunam: 1000 m^2 (dunam)
e: 1.602176634e-19 s A (electron charge)
eV: 1.602176634e-19 kg m^2/s^2 (electron volt)
fldr: 3.69669119532e-06 m^3 (fluid dram)
floz: 2.957352956256e-05 m^3 (fluid ounce)
ft: 0.3048 m (foot)
ftm: 1.8288 m (fathom)
funt: 0.40951718 kg (фунт)
fur: 201.168 m (furlong)
fut: 0.3048 m (фут)
g: 0.001 kg (gram)
gal: 0.00378541178400768 m^3 (US gallon)
garnets: 0.003279842 m^3 (га́рнец)
gi: 0.00011829411825024 m^3 (US gill)
gr: 6.47988571428571e-05 kg (grain)
h: 6.62607015e-34 kg m^2/s (Planck constant)
hectare: 10000 m^2 (hectare)
hogshead: 0.238480942392484 m^3 (hogshead)
hp: 745.699872 kg m^2/s^3 (horsepower (mechanical))
hr: 3600 s (hour)
in: 0.0254 m (inch)
jig: 4.436029434384e-05 m^3 (jigger)
k: 1.380649e-23 kg m^2/(s^2 °K) (Boltzmann constant)
k_e: 8987551000 kg m^3/(s^4 A^2) (Coulomb constant)
kat: 1 mol/s (katal)
kruzhka: 0.001229941 m^3 (кру́жка)
l: 0.001 m^3 (liter)
lb: 0.453592 kg (pounds of mass)
lbF: 4.44822 kg m/s^2 (pounds of force)
lea: 4828.032 m (league)
liniya: 0.00254 m (ли́ния)
lot: 0.012797411875 kg (лот)
m: 1 m (meter)
mi: 1609.344 m (mile)
mi/hr: (miles / hour)
milia: 7467.6 m (ми́ля)
min: 60 s (minute)
minim: 6.1611519922e-08 m^3 (minim)
mmHg: 133.322387415 kg/(m s^2) (mm of mercury)
mol: 1 mol (mole)
molal: 1 mol/kg (molal)
nmi: 1852.354944 m (nautical mile)
osmina: 0.104954944 m^3 (осьми́на)
oz: 0.0283495 kg (ounce)
pc: 3.08567758149137e+16 m (parsec)
peck: 0.008809768 m^3 (peck)
piad: 0.1778 m (пядь)
pood: 16.3806872 kg (пуд)
pt: 0.00047317647300096 m^3 (US pint)
qt: 0.00094635294600192 m^3 (US quart)
rad: 0.01 m^2/s^2 (rad)
rd: 1000000/s (rutherford)
rod: 5.0292 m (rod)
s: 1 s (second)
sazhen: 2.1336 m (са́жень)
shkalik: 6.149705e-05 m^3 (шка́лик)
shtof: 0.001229941 m^3 (штоф)
slug: 14.5938976377953 kg (slug)
stone: 6.350288 kg (British/Irish stone)
tochka: 0.000254 m (то́чка)
ton: 907.184 kg (US ton (short ton))
tsp: 4.92892159376e-06 m^3 (teaspoon)
twp: 93239571.972096 m^2 (township)
uk_gal: 0.00454609 m^3 (UK gallon)
vedro: 0.01229941 m^3 (ведро́)
vershok: 0.04445 m (вершо́к)
versta: 1066.8 m (верста́)
yd: 0.9144 m (yard)
zolotnik: 0.00426580395833333 kg (золотни́к)
Å: 1e-10 m (Angstrom)
Ω: 1 kg m^2/(s^3 A^2) (Ohm)
π: 3.1415926535 (pi)
ℏ: 1.0545718176763e-34 kg m^2/s (Dirac constant)