Skip to content

Commit de37dc4

Browse files
committed
Start sketching out compile-time known value handling and how we'll reference values in World (so common it deserves explicit support).
1 parent 3e9ecfc commit de37dc4

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

src/QAST/CompileTimeValue.nqp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Composed or mixed in to any node that also has a compile-time known value.
2+
role QAST::CompileTimeValue {
3+
has $!value;
4+
method value(*@value) { $!value := @value[0] if @value; $!value }
5+
}

src/QAST/WorldValue.nqp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
class QAST::WorldValue does QAST::CompileTimeValue {
2+
}

tools/build/Makefile.in

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,10 @@ QREGEX_PIR = QRegex.pir
8787
QREGEX_PBC = QRegex.pbc
8888
QREGEX_SOURCES = \
8989
src/QRegex.nqp \
90+
src/QAST/CompileTimeValue.nqp \
9091
src/QAST/Node.nqp \
9192
src/QAST/Regex.nqp \
93+
src/QAST/WorldValue.nqp \
9294
src/QAST/Op.nqp \
9395
src/QAST/Compiler.nqp \
9496
src/QRegex/NFA.nqp \

0 commit comments

Comments
 (0)