diff options
author | Hugo <hugo.hornquist@gmail.com> | 2016-05-09 15:52:13 +0200 |
---|---|---|
committer | Hugo <hugo.hornquist@gmail.com> | 2016-05-09 16:10:36 +0200 |
commit | 9c3637a69c186fb23fce6b253c866ddfe3a70d1e (patch) | |
tree | 53294e2c6a99d512fed053711730468056567f48 | |
parent | parser now handles numbers with more than one digit, inculding decimals and o... (diff) | |
download | math-parse-9c3637a69c186fb23fce6b253c866ddfe3a70d1e.tar.gz math-parse-9c3637a69c186fb23fce6b253c866ddfe3a70d1e.tar.xz |
removed everything but the parser, move project from racket to guile
-rw-r--r-- | full-eval.rkt | 7 | ||||
-rw-r--r-- | gui.rkt | 83 | ||||
-rw-r--r-- | math-parser.scm (renamed from full-parse.rkt) | 6 | ||||
-rw-r--r-- | simple-eval.rkt | 7 | ||||
-rw-r--r-- | simple-parse.rkt | 6 |
5 files changed, 1 insertions, 108 deletions
diff --git a/full-eval.rkt b/full-eval.rkt deleted file mode 100644 index 1a82dff..0000000 --- a/full-eval.rkt +++ /dev/null @@ -1,7 +0,0 @@ -#lang racket - -(provide full-eval) - -(define (full-eval expr) - (eval expr)) - diff --git a/gui.rkt b/gui.rkt deleted file mode 100644 index 98b4f77..0000000 --- a/gui.rkt +++ /dev/null @@ -1,83 +0,0 @@ -#lang racket/gui - -(provide show-window) - -(require racket/format) -(require racket/class) -(require (planet williams/table-panel:1:2/table-panel)) -;(require table-panel) - -(require "../useful/enumerate-interval.rkt") -(require "simple-eval.rkt") -(require "simple-parse.rkt") -(require "full-eval.rkt") -(require "full-parse.rkt") - -(define (show-window) - (define frame (new frame% [label "Calculator"])) - - (define msg (new message% - [parent frame] - [label ""])) - - (define root-panel (new vertical-panel% - [parent frame] - [alignment '(left top)])) - - (define top-op-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (define center-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (define number-panel (new table-panel% - [parent center-panel] - [alignment '(left top)])) - - (define left-op-panel (new vertical-panel% - [parent center-panel] - [alignment '(left top)])) - - (define bottom-op-panel (new horizontal-panel% - [parent root-panel] - [alignment '(left top)])) - - (send number-panel set-dimensions 3 3) - - - (define (setup-num-btn lbl par) - (new button% - [parent par] - [label (~a lbl)] - [callback - (lambda (button event) - (send msg - set-label - (string-append - (send msg get-label) - (send button get-label))))])) - - (map (lambda (x) (setup-num-btn x top-op-panel)) '("(" ")" "/")) - - (map - (lambda (x) (setup-num-btn x number-panel)) - (enumerate-interval 1 9)) - (map - (lambda (x) (setup-num-btn x left-op-panel)) - '(* - +)) - (map - (lambda (x) (setup-num-btn x bottom-op-panel)) - '(0 "." ^ )) - - - (new button% - [parent bottom-op-panel] - [label "="] - [callback - (lambda (button event) - (send msg set-label (~a - (full-eval (full-parse (send msg get-label))))))]) - - (send frame show #t)) diff --git a/full-parse.rkt b/math-parser.scm index a20583c..1048250 100644 --- a/full-parse.rkt +++ b/math-parser.scm @@ -1,10 +1,6 @@ -#lang racket - -(provide full-parse) - ; parses a function written in mathematical notation to lisp notation ; currently handles (+ - * / ^). It does respect the order of operations -(define (full-parse str) +(define (parse-math str) (define (get-general expr operator next-operation) ; adds a operation to the list of operations diff --git a/simple-eval.rkt b/simple-eval.rkt deleted file mode 100644 index 4cf6d4a..0000000 --- a/simple-eval.rkt +++ /dev/null @@ -1,7 +0,0 @@ -#lang racket - -(provide simple-eval) - -(define (simple-eval expr) - 5) - diff --git a/simple-parse.rkt b/simple-parse.rkt deleted file mode 100644 index b60f5ec..0000000 --- a/simple-parse.rkt +++ /dev/null @@ -1,6 +0,0 @@ -#lang racket - -(provide simple-parse) - -(define (simple-parse str) - '(5)) |