Skip to content

Commit

Permalink
Get the various QAST nodes we have stubbed in and start to fill some …
Browse files Browse the repository at this point in the history
…of them out.
  • Loading branch information
jnthn committed Apr 21, 2012
1 parent 29da48d commit 3ccdf9e
Show file tree
Hide file tree
Showing 11 changed files with 45 additions and 9 deletions.
1 change: 1 addition & 0 deletions src/QAST/BVal.nqp
@@ -0,0 +1 @@
class QAST::BVal is QAST::Node { has $!block; method block(*@value) { $!block := @value[0] if @value; $!block }}
Expand Down
4 changes: 4 additions & 0 deletions src/QAST/IVal.nqp
@@ -0,0 +1,4 @@
class QAST::IVal is QAST::Node {
has int $!value;
method value(*@value) { $!value := @value[0] if @value; $!value }
}
4 changes: 4 additions & 0 deletions src/QAST/NVal.nqp
@@ -0,0 +1,4 @@
class QAST::NVal is QAST::Node {
has num $!value;
method value(*@value) { $!value := @value[0] if @value; $!value }
}
19 changes: 14 additions & 5 deletions src/QAST/Node.nqp
@@ -1,7 +1,10 @@
class QAST::Node is NQPCapture {
has str $!name;
has $!node;
has $!type;
has str $!name;
has $!returns;
has int $!arity;
has int $!flat;
has str $!childorder;

method new(*@children, *%options) {
my $new := self.CREATE();
Expand All @@ -13,9 +16,15 @@ class QAST::Node is NQPCapture {
$new;
}

method name(*@value) { $!name := @value[0] if @value; $!name }
method node(*@value) { $!node := @value[0] if @value; $!node }
method node(*@value) { $!node := @value[0] if @value; $!node }
method name(*@value) { $!name := @value[0] if @value; $!name }
method returns(*@value) { $!returns := @value[0] if @value; $!returns }
method arity(*@value) { $!arity := @value[0] if @value; $!arity }
method flat(*@value) { $!flat := @value[0] if @value; $!flat }
method childorder(*@value) { $!childorder := @value[0] if @value; $!childorder }

method pop() { nqp::pop(self.list) }
method push($value) { nqp::push(self.list, $value) }
method shift() { nqp::shift(self.list) }
method unshift($value) { nqp::unshift(self.list, $value) }
method type(*@value) { $!type := @value[0] if @value; $!type }
}
4 changes: 4 additions & 0 deletions src/QAST/SVal.nqp
@@ -0,0 +1,4 @@
class QAST::SVal is QAST::Node {
has str $!value;
method value(*@value) { $!value := @value[0] if @value; $!value }
}
2 changes: 2 additions & 0 deletions src/QAST/Stmt.nqp
@@ -0,0 +1,2 @@
class QAST::Stmt is QAST::Node {
}
2 changes: 2 additions & 0 deletions src/QAST/VM.nqp
@@ -0,0 +1,2 @@
class QAST::VM is QAST::Node {
}
3 changes: 3 additions & 0 deletions src/QAST/Var.nqp
@@ -0,0 +1,3 @@
class QAST::Var is QAST::Node {
has $!scope;
}
2 changes: 2 additions & 0 deletions src/QAST/WVal.nqp
@@ -0,0 +1,2 @@
class QAST::WVal does QAST::CompileTimeValue {
}
2 changes: 0 additions & 2 deletions src/QAST/WorldValue.nqp

This file was deleted.

11 changes: 9 additions & 2 deletions tools/build/Makefile.in
Expand Up @@ -90,10 +90,17 @@ QREGEX_SOURCES = \
src/QAST/CompileTimeValue.nqp \
src/QAST/Node.nqp \
src/QAST/Regex.nqp \
src/QAST/WorldValue.nqp \
src/QAST/IVal.nqp \
src/QAST/NVal.nqp \
src/QAST/SVal.nqp \
src/QAST/BVal.nqp \
src/QAST/WVal.nqp \
src/QAST/Var.nqp \
src/QAST/Op.nqp \
src/QAST/Block.nqp \
src/QAST/VM.nqp \
src/QAST/Stmts.nqp \
src/QAST/Stmt.nqp \
src/QAST/Block.nqp \
src/QAST/Compiler.nqp \
src/QRegex/NFA.nqp \
src/QRegex/Cursor.nqp \
Expand Down

0 comments on commit 3ccdf9e

Please sign in to comment.