Skip to content

i-e-b/DBSS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DBSS
====

A toy spread-sheet engine with SQL backing

Each cell can have a name, a value and a formula.
Names hide but don't overwrite formulas and values (like giving a function or constant a name)
Formulae update values based on calculations
Values are values.

Formulae DON'T start in '=' (this isn't Excel!)
Formulae are infix, support functions and scientific notation of large numbers.
Functions are nestable.
Operators:
	+  add
	-  substract
	*  multiply
	/  divide
	^  exponent
	%  modulo
	!  
	
Constants defined: (case insensitive)
	pi - Value of π
	e  - Value of e
	R  - Row (Y-value) of current cell
	C  - Column (X-value) of current cell
	
Functions defined: (case insensitive)
LOOKUP functions (co-ords are absolute. To get relative co-ordinates, do like "$(C,R-1)")
	$(x,y)  - value of cell at co-ordinates given
	$f(x,y) - function string of cell at co-ordinates given
	$n(x,y) - name of cell at co-ordinates given
	
	floor(x) - integer value from floor of float
	ceil(x)  - integer value from ceiling of float
	sqrt(x)  - square root of x
	cos(x)   - Cosine of x
	sin(x)   - Sine of x
	sign(x)  - *ve sign of x (-1, 0, 1)

TODO
----
 - More common functions
 - Lookup by cell name
 - Lookup by truth-table (1D and 2D to start with, possible reduction sets for 3+D)
 - Colour code cells by what fields are populated.
 - Use named cells as functions in formulae

About

[Working] A toy spread-sheet engine using SQL for backing

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages