ceml 0.6.2 → 0.6.3
Sign up to get free protection for your applications and to get access to all the features.
- data/VERSION +1 -1
- data/ceml.gemspec +2 -2
- data/lib/ceml/incident.rb +8 -1
- data/lib/ceml/tt/instructions.treetop +9 -5
- data/lib/ceml.rb +1 -0
- data/test/test_incident.rb +1 -1
- metadata +3 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.6.
|
1
|
+
0.6.3
|
data/ceml.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ceml}
|
8
|
-
s.version = "0.6.
|
8
|
+
s.version = "0.6.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Joe Edelman"]
|
12
|
-
s.date = %q{2011-01-
|
12
|
+
s.date = %q{2011-01-31}
|
13
13
|
s.description = %q{a language for coordinating real world events}
|
14
14
|
s.email = %q{joe@citizenlogistics.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/ceml/incident.rb
CHANGED
@@ -56,8 +56,10 @@ module CEML
|
|
56
56
|
bytecode << [:complete_delay]
|
57
57
|
end
|
58
58
|
case inst.cmd
|
59
|
-
when :
|
59
|
+
when :record
|
60
60
|
bytecode << [:answered_q, {:key => inst.key}]
|
61
|
+
when :set
|
62
|
+
bytecode << [:set, {:key => inst.key, :value => inst.text}]
|
61
63
|
when :ask
|
62
64
|
bytecode << [:ask_q, {:text => inst.text}]
|
63
65
|
bytecode << [:answered_q, {:key => inst.key}]
|
@@ -145,6 +147,11 @@ module CEML
|
|
145
147
|
true
|
146
148
|
end
|
147
149
|
|
150
|
+
def set q
|
151
|
+
qs_answers[q[:key]] = q[:value]
|
152
|
+
true
|
153
|
+
end
|
154
|
+
|
148
155
|
def send_msg a
|
149
156
|
text = interpolate(a[:text]) or return false
|
150
157
|
say :message, :msg => text
|
@@ -3,7 +3,7 @@ grammar Instructions
|
|
3
3
|
include Lexer
|
4
4
|
|
5
5
|
rule basic_statement
|
6
|
-
(ask_stmt / tell_stmt / assign_stmt /
|
6
|
+
(ask_stmt / tell_stmt / assign_stmt / record_stmt / set_stmt) {
|
7
7
|
|
8
8
|
def delay
|
9
9
|
if parent.respond_to? :later and not parent.later.empty?
|
@@ -14,7 +14,7 @@ grammar Instructions
|
|
14
14
|
def role; id.text_value.to_sym; end
|
15
15
|
def text; super.text_value; end
|
16
16
|
def var
|
17
|
-
return varname.text_value if cmd == :
|
17
|
+
return varname.text_value if cmd == :record or cmd == :set
|
18
18
|
(!defined?(:about) || about.empty?) ? nil : about.varname.text_value;
|
19
19
|
end
|
20
20
|
def key; var || text; end
|
@@ -22,7 +22,8 @@ grammar Instructions
|
|
22
22
|
text_value =~ /^ask/ and return :ask
|
23
23
|
text_value =~ /^tell/ and return :tell
|
24
24
|
text_value =~ /^assign/ and return :assign
|
25
|
-
text_value =~ /^
|
25
|
+
text_value =~ /^record/ and return :record
|
26
|
+
text_value =~ /^set/ and return :set
|
26
27
|
end
|
27
28
|
}
|
28
29
|
end
|
@@ -35,8 +36,8 @@ grammar Instructions
|
|
35
36
|
duration ws 'later' ws
|
36
37
|
end
|
37
38
|
|
38
|
-
rule
|
39
|
-
'
|
39
|
+
rule record_stmt
|
40
|
+
'record' ws id ws varname:id
|
40
41
|
end
|
41
42
|
|
42
43
|
rule tell_stmt
|
@@ -51,5 +52,8 @@ grammar Instructions
|
|
51
52
|
'ask' ws id about:(ws 're' ws varname:id)? ':' ws? text
|
52
53
|
end
|
53
54
|
|
55
|
+
rule set_stmt
|
56
|
+
'set' ws id ws varname:id ':' ws? text
|
57
|
+
end
|
54
58
|
end
|
55
59
|
end
|
data/lib/ceml.rb
CHANGED
data/test/test_incident.rb
CHANGED
@@ -11,7 +11,7 @@ XXX
|
|
11
11
|
JANE_SCRIPT = <<XXX
|
12
12
|
|
13
13
|
await 1 new signup
|
14
|
-
|
14
|
+
record signup first_name
|
15
15
|
ask signup re shoeless:
|
16
16
|
Hello |his.first_name|. You are Level Zero. Lowly level zero.
|
17
17
|
To advance to Level 1, please remove a shoe. Keep it off,
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 6
|
8
|
-
-
|
9
|
-
version: 0.6.
|
8
|
+
- 3
|
9
|
+
version: 0.6.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Joe Edelman
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2011-01-
|
17
|
+
date: 2011-01-31 00:00:00 -08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|