Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: forth/Forth.h

Issue 1559823002: remove forth experiment (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | forth/Forth.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: forth/Forth.h
diff --git a/forth/Forth.h b/forth/Forth.h
deleted file mode 100644
index f6df06e1ebeb32fd6ad456c22a3ca48d9057a60d..0000000000000000000000000000000000000000
--- a/forth/Forth.h
+++ /dev/null
@@ -1,105 +0,0 @@
-
-/*
- * Copyright 2011 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef Forth_DEFINED
-#define Forth_DEFINED
-
-#include "SkTypes.h"
-
-class ForthOutput {
-public:
- virtual void show(const char output[]) = 0;
-};
-
-union FloatIntDual {
- int32_t fInt;
- float fFloat;
-};
-
-static inline int32_t f2i_bits(float x) {
- FloatIntDual d;
- d.fFloat = x;
- return d.fInt;
-}
-
-static inline float i2f_bits(int32_t x) {
- FloatIntDual d;
- d.fInt = x;
- return d.fFloat;
-}
-
-class ForthEngine {
-public:
- ForthEngine(ForthOutput*);
- ~ForthEngine();
-
- int depth() const { return fStackStop - fStackCurr; }
- void clearStack() { fStackCurr = fStackStop; }
-
- void push(intptr_t value);
- intptr_t top() const { return this->peek(0); }
- intptr_t peek(size_t index) const;
- void setTop(intptr_t value);
- intptr_t pop();
-
- void fpush(float value) { this->push(f2i_bits(value)); }
- float fpeek(size_t i) const { return i2f_bits(this->fpeek(i)); }
- float ftop() const { return i2f_bits(this->top()); }
- void fsetTop(float value) { this->setTop(f2i_bits(value)); }
- float fpop() { return i2f_bits(this->pop()); }
-
- void sendOutput(const char text[]);
-
-private:
- ForthOutput* fOutput;
- intptr_t* fStackBase;
- intptr_t* fStackCurr;
- intptr_t* fStackStop;
-
- void signal_error(const char msg[]) const {
- SkDebugf("ForthEngine error: %s\n", msg);
- }
-};
-
-struct ForthCallBlock {
- const intptr_t* in_data;
- size_t in_count;
- intptr_t* out_data;
- size_t out_count;
- size_t out_depth;
-};
-
-class ForthWord {
-public:
- virtual ~ForthWord() {}
- virtual void exec(ForthEngine*) = 0;
-
- // todo: return error state of the engine
- void call(ForthCallBlock*);
-};
-
-class ForthEnv {
-public:
- ForthEnv();
- ~ForthEnv();
-
-
- void addWord(const char name[], ForthWord*);
-
- void parse(const char code[]);
-
- ForthWord* findWord(const char name[]);
-
- void run(ForthOutput* = NULL);
-
-private:
- class Impl;
- Impl* fImpl;
-};
-
-#endif
« no previous file with comments | « no previous file | forth/Forth.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698