ceml 0.6.2 → 0.6.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|