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