easycoder 250204.1__tar.gz → 250205.1__tar.gz
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.
Potentially problematic release.
This version of easycoder might be problematic. Click here for more details.
- {easycoder-250204.1 → easycoder-250205.1}/PKG-INFO +1 -1
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/README.md +2 -2
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/__init__.py +1 -1
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_core.py +29 -22
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_graphics.py +2 -1
- {easycoder-250204.1 → easycoder-250205.1}/LICENSE +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/README.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/README.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/README.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/boolean.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/empty.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/ends.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/even.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/exists.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/greater.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/hasProperty.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/includes.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/is.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/less.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/list.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/none.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/not.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/numeric.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/object.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/odd.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/starts.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/conditions/string.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/add.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/append.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/assert.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/begin.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/clear.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/close.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/create.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/debug.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/decrement.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/delete.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/divide.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/exit.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/file.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/fork.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/get.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/go.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/gosub.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/if.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/import.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/increment.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/index.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/init.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/input.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/load.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/lock.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/log.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/module.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/multiply.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/negate.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/open.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/pop.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/post.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/print.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/push.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/put.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/read.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/release.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/replace.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/return.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/run.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/save.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/script.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/set.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/split.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/stack.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/stop.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/system.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/take.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/toggle.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/truncate.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/unlock.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/variable.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/wait.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/while.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/keywords/write.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/arg.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/args.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/cos.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/datime.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/decode.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/element.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/elements.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/empty.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/encode.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/error.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/files.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/float.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/from.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/hash.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/index.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/integer.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/json.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/keys.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/left.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/length.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/lowercase.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/memory.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/modification.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/modulo.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/newline.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/now.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/position.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/property.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/random.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/right.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/sin.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/stringify.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/tab.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/tan.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/timestamp.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/today.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/trim.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/type.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/uppercase.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/value.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/core/values/weekday.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/README.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/attach.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/close.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/create.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/ellipse.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/image.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/move.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/on.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/rectangle.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/render.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/run.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/set.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/keywords/text.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/values/attribute.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/doc/graphics/values/window.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_classes.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_compiler.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_condition.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_gutils.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_handler.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_program.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_timestamp.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/easycoder/ec_value.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/images/Semoigo Dawn.jpg +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/json/graphics-demo.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/ec_keyboard.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/ec_p100.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/4-function.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/4-function.png +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-0.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-0.png +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-1.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-1.png +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-2.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-2.png +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-3.json +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/keyboards/qwerty-3.png +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/plugins/points.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/pyproject.toml +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/README.md +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/benchmark.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/config.ecg +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/connect.ecg +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/ec_keyboard.py +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/findxr.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/fizzbuzz.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/hello.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/points.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/test.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/testg.ecg +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/scripts/tests.ecs +0 -0
- {easycoder-250204.1 → easycoder-250205.1}/test.ecs +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: easycoder
|
|
3
|
-
Version:
|
|
3
|
+
Version: 250205.1
|
|
4
4
|
Summary: Rapid scripting in English
|
|
5
5
|
Keywords: compiler,scripting,prototyping,programming,coding,python,low code,hypertalk,computer language,learn to code
|
|
6
6
|
Author-email: Graham Trott <gtanyware@gmail.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# EasyCode source code
|
|
2
2
|
These are the Python files that comprise **_EasyCoder_**.
|
|
3
3
|
|
|
4
|
-
**_EasyCoder_** has a small number of third-party dependencies. A minor one is `pytz`, which handles timezones. The biggest one by far is `
|
|
4
|
+
**_EasyCoder_** has a small number of third-party dependencies. A minor one is `pytz`, which handles timezones. The biggest one by far is `PySimpleGUI`, a comprehensive Python graphics library.
|
|
5
5
|
|
|
6
|
-
If an **_EasyCoder_** script filename ends with `.ecs` it's a command-line script. If it ends with `.ecg` it's a script for a graphical application and will cause `
|
|
6
|
+
If an **_EasyCoder_** script filename ends with `.ecs` it's a command-line script. If it ends with `.ecg` it's a script for a graphical application and will cause `PySimpleGUI` to be imported. Obviously this will only work on a GUI-based system, whereas command-line scripts will run anywhere there is Python.
|
|
@@ -484,6 +484,7 @@ class Core(Handler):
|
|
|
484
484
|
except:
|
|
485
485
|
pass
|
|
486
486
|
RuntimeError(self.program, f'There is no label "{label}"')
|
|
487
|
+
return None
|
|
487
488
|
|
|
488
489
|
def r_gotoPC(self, command):
|
|
489
490
|
return command['goto']
|
|
@@ -498,14 +499,12 @@ class Core(Handler):
|
|
|
498
499
|
|
|
499
500
|
def r_gosub(self, command):
|
|
500
501
|
label = command['gosub'] + ':'
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
pass
|
|
508
|
-
RuntimeError(self.program, f'There is no label "{label}"')
|
|
502
|
+
address = self.symbols[label]
|
|
503
|
+
if address != None:
|
|
504
|
+
self.stack.append(self.nextPC())
|
|
505
|
+
return address
|
|
506
|
+
RuntimeError(self.program, f'There is no label "{label + ":"}"')
|
|
507
|
+
return None
|
|
509
508
|
|
|
510
509
|
# if <condition> <action> [else <action>]
|
|
511
510
|
def k_if(self, command):
|
|
@@ -1005,8 +1004,10 @@ class Core(Handler):
|
|
|
1005
1004
|
lino = str(code['lino'] + 1)
|
|
1006
1005
|
while len(lino) < 5: lino = f' {lino}'
|
|
1007
1006
|
if value == None: value = '<empty>'
|
|
1008
|
-
if 'log' in command:
|
|
1009
|
-
|
|
1007
|
+
if 'log' in command:
|
|
1008
|
+
print(f'{datetime.now().time()}:{lino}-> {value}')
|
|
1009
|
+
else:
|
|
1010
|
+
print(value)
|
|
1010
1011
|
return self.nextPC()
|
|
1011
1012
|
|
|
1012
1013
|
# Push a value onto a stack
|
|
@@ -1817,10 +1818,12 @@ class Core(Handler):
|
|
|
1817
1818
|
return None
|
|
1818
1819
|
|
|
1819
1820
|
if token == 'value':
|
|
1820
|
-
value['type'] = 'valueOf'
|
|
1821
1821
|
if self.nextIs('of'):
|
|
1822
|
-
|
|
1823
|
-
|
|
1822
|
+
v = self.nextValue()
|
|
1823
|
+
if v !=None:
|
|
1824
|
+
value['type'] = 'valueOf'
|
|
1825
|
+
value['content'] = v
|
|
1826
|
+
return value
|
|
1824
1827
|
return None
|
|
1825
1828
|
|
|
1826
1829
|
if token == 'length':
|
|
@@ -1989,10 +1992,6 @@ class Core(Handler):
|
|
|
1989
1992
|
value['type'] = 'text'
|
|
1990
1993
|
if self.encoding == 'utf-8':
|
|
1991
1994
|
value['content'] = content.decode('utf-8')
|
|
1992
|
-
elif self.encoding == 'hex':
|
|
1993
|
-
b = content.encode('utf-8')
|
|
1994
|
-
mb = binascii.unhexlify(b)
|
|
1995
|
-
value['content'] = mb.decode('utf-8')
|
|
1996
1995
|
elif self.encoding == 'base64':
|
|
1997
1996
|
base64_bytes = content.encode('ascii')
|
|
1998
1997
|
message_bytes = base64.b64decode(base64_bytes)
|
|
@@ -2036,10 +2035,6 @@ class Core(Handler):
|
|
|
2036
2035
|
value['type'] = 'text'
|
|
2037
2036
|
if self.encoding == 'utf-8':
|
|
2038
2037
|
value['content'] = content.encode('utf-8')
|
|
2039
|
-
elif self.encoding == 'hex':
|
|
2040
|
-
b = content.encode('utf-8')
|
|
2041
|
-
mb = binascii.hexlify(b)
|
|
2042
|
-
value['content'] = mb.decode('utf-8')
|
|
2043
2038
|
elif self.encoding == 'base64':
|
|
2044
2039
|
data_bytes = content.encode('ascii')
|
|
2045
2040
|
base64_bytes = base64.b64encode(data_bytes)
|
|
@@ -2405,11 +2400,22 @@ class Core(Handler):
|
|
|
2405
2400
|
if self.nextToken() == 'with':
|
|
2406
2401
|
condition.value2 = self.nextValue()
|
|
2407
2402
|
return condition
|
|
2403
|
+
return None
|
|
2408
2404
|
|
|
2409
2405
|
if token == 'includes':
|
|
2410
2406
|
condition.value2 = self.nextValue()
|
|
2411
2407
|
return condition
|
|
2412
2408
|
|
|
2409
|
+
if token == 'does':
|
|
2410
|
+
self.nextToken()
|
|
2411
|
+
if self.nextIs('not'):
|
|
2412
|
+
if self.nextIs('include'):
|
|
2413
|
+
condition.value2 = self.nextValue()
|
|
2414
|
+
condition.type = 'includes'
|
|
2415
|
+
condition.negate = True
|
|
2416
|
+
return condition
|
|
2417
|
+
return None
|
|
2418
|
+
|
|
2413
2419
|
if token == 'is':
|
|
2414
2420
|
token = self.nextToken()
|
|
2415
2421
|
if self.peek() == 'not':
|
|
@@ -2497,7 +2503,8 @@ class Core(Handler):
|
|
|
2497
2503
|
def c_includes(self, condition):
|
|
2498
2504
|
value1 = self.getRuntimeValue(condition.value1)
|
|
2499
2505
|
value2 = self.getRuntimeValue(condition.value2)
|
|
2500
|
-
|
|
2506
|
+
test = value2 in value1
|
|
2507
|
+
return not test if condition.negate else test
|
|
2501
2508
|
|
|
2502
2509
|
def c_is(self, condition):
|
|
2503
2510
|
comparison = self.program.compare(condition.value1, condition.value2)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|