rpdl ~master
Simple declarative langauge
To use this package, run the following command in your project's root directory:
Manual usage
Put the following dependency into your project's dependences section:
RPDL
Simple declarative language with compile time loading and bytecode compilation.
Examples
simple.rdl
include "include.rdl"
# This is a comment
Rombik
t: [
[1, 2, 3],
[3, 5, 6],
[7, 8, 9],
[false, true]
]
Tito: "Hello"
position: 1, 3
size: [320, 128], ["Hello", "World!"]
size2: 64, 1024
texCoord: [10, 15, 32, 64]
texCoord2: 5, 3, 16, 24
Test
p1: 1.231, 3
array: [
1, 2, [[3], 5]
]
Test2
p2: 2, true, "Hello"
unicode: "Привет мир"
p3: 3, 2
Test3 p4: aaa p5: bbb
Test4(test)
p6: aaa
p7: bbb
include.rdl
TestInclude
I: 1, 2, 3
c: 8, 3, 2
Linux: "Arch"
Test2
param: 1, 2, "asasd", [1, 3, 4]
test: 1, 2, 3
Example of usage
auto data = new RpdlTree("tests"); // set root directory as "tests"
data.load("simple.rdl");
data.load("file2.bin", RpdlTree.FileType.bin); // load bytecode
assert(data.getNumber("Test.Test2.p2.0") == 2);
assert(data.optVec4f("Rombik.texCoord2", vec4(0, 1, 2, 3)) == (5, 3, 16, 24));
assert(data.optVec4f("Rombik.texCoord3", vec4(0, 1, 2, 3)) == vec4(0, 1, 2, 3));
data.save("compiled.bin", RpdlTree.FileType.bin); // Save to bytecode
Language reference
WIP
Roadmap
- Inheritance
- Overriding
- Finish compile time loading
- Registered by Andrey Kabylin
- ~master released 5 years ago
- sysint64/RPDL
- MIT
- Copyright © 2016 - 2017, Andrey Kabylin
- Authors:
- Dependencies:
- gl3n
- Versions:
-
0.1.0-alpha.6 2019-Aug-27 0.1.0-alpha.5 2019-Aug-27 0.1.0-alpha.4 2019-Aug-27 0.1.0-alpha.3 2019-Aug-27 0.1.0-alpha.2 2019-Jul-17 - Download Stats:
-
-
0 downloads today
-
0 downloads this week
-
0 downloads this month
-
51 downloads total
-
- Score:
- 0.8
- Short URL:
- rpdl.dub.pm