Linux iad1-shared-b7-18 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
Apache
: 67.205.6.31 | : 216.73.216.13
Cant Read [ /etc/named.conf ]
8.2.29
fernandoquevedo
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
share /
guile /
3.0 /
ice-9 /
peg /
[ HOME SHELL ]
Name
Size
Permission
Action
cache.scm
1.99
KB
-rw-r--r--
codegen.scm
13.51
KB
-rw-r--r--
simplify-tree.scm
3.37
KB
-rw-r--r--
string-peg.scm
9.99
KB
-rw-r--r--
using-parsers.scm
4.37
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : cache.scm
;;;; cache.scm --- cache the results of parsing ;;;; ;;;; Copyright (C) 2010, 2011 Free Software Foundation, Inc. ;;;; ;;;; This library is free software; you can redistribute it and/or ;;;; modify it under the terms of the GNU Lesser General Public ;;;; License as published by the Free Software Foundation; either ;;;; version 3 of the License, or (at your option) any later version. ;;;; ;;;; This library is distributed in the hope that it will be useful, ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;;;; Lesser General Public License for more details. ;;;; ;;;; You should have received a copy of the GNU Lesser General Public ;;;; License along with this library; if not, write to the Free Software ;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ;;;; (define-module (ice-9 peg cache) #:export (cg-cached-parser)) ;; The results of parsing using a nonterminal are cached. Think of it like a ;; hash with no conflict resolution. Process for deciding on the cache size ;; wasn't very scientific; just ran the benchmarks and stopped a little after ;; the point of diminishing returns on my box. (define *cache-size* 512) (define (make-cache) (make-vector *cache-size* #f)) ;; given a syntax object which is a parser function, returns syntax ;; which, if evaluated, will become a parser function that uses a cache. (define (cg-cached-parser parser) #`(let ((cache (make-cache))) (lambda (str strlen at) (let* ((vref (vector-ref cache (modulo at *cache-size*)))) ;; Check to see whether the value is cached. (if (and vref (eq? (car vref) str) (= (cadr vref) at)) (caddr vref);; If it is return it. (let ((fres ;; Else calculate it and cache it. (#,parser str strlen at))) (vector-set! cache (modulo at *cache-size*) (list str at fres)) fres))))))
Close