summaryrefslogtreecommitdiff
path: root/oracles
diff options
context:
space:
mode:
Diffstat (limited to 'oracles')
-rw-r--r--oracles/base.php12
-rw-r--r--oracles/calc.php7
2 files changed, 19 insertions, 0 deletions
diff --git a/oracles/base.php b/oracles/base.php
index 45747fc..84299fd 100644
--- a/oracles/base.php
+++ b/oracles/base.php
@@ -21,4 +21,16 @@ abstract class oracle {
return "";
}
}
+// backwards compatibility
+if (!function_exists('str_starts_with')) {
+ function str_starts_with($haystack, $needle) {
+ return strncmp($haystack, $needle, strlen($needle)) === 0;;
+ }
+}
+if (!function_exists('str_contains')) {
+ function str_contains($haystack, $needle) {
+ return strpos((string)$haystack, (string)$needle) !== false;
+ }
+}
+
?> \ No newline at end of file
diff --git a/oracles/calc.php b/oracles/calc.php
index 4888b95..bcc127b 100644
--- a/oracles/calc.php
+++ b/oracles/calc.php
@@ -84,6 +84,13 @@ class calculator extends oracle {
}
}
+ // no implicit multiplication
+ for ($i = 0; $i < count($tokens) - 1; $i++) {
+ if ($tokens[$i][0] == "n" && $tokens[$i+1] == ["g", "("]) {
+ return "";
+ }
+ }
+
//strategy:
// traverse to group open (if there is one)
// - return to start with the internals