-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerated-backend-design
56 lines (51 loc) · 1.33 KB
/
generated-backend-design
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
oop targets:
c++
java
c#
python
c++ - pipeline (for better performance)
python - storage
swift??
user api:
pipeline - focus on performance
allocRenderer
setStorage
renderFrame
disposeRenderer
storage - focus on covenience
allocStorage
uploadMeshToGPU
uploadTexture2DToGPU
addMeshToObjectArray
setScreenSize
updateUniforms
disposeStorage
EDSL for pseudo code OOP programming
hint: generalize C++ LC backned
- class/method definition only (interface files can be derived from definition)
- language features
enums with namespace
switch/case
error handling (e.g. exceptions)
imports/includes ???
if then else
statement blocks
namespace qualification
type cast ???
sizeof
for loop / foreach
record value initialization
memory management (GC or ref count, like shared_pointer in C++)
pointer cast
- types
vector
pointer
reference
EDSL ideas:
ADT support
- get specific constructor (ADT pattern match on one constructor)
- switch on constructor (ADT pattern match on multiple constructors)
- builtin support for opengl calls
- builtin support for map and array iteration (foreach)
LINKS:
android/java - http://developer.android.com/training/graphics/opengl/draw.html