Changeset 32761 in project


Ignore:
Timestamp:
09/04/15 03:12:21 (4 years ago)
Author:
Ivan Raikov
Message:

ersatz: added functionality for debugging stmts

Location:
release/4/ersatz/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • release/4/ersatz/trunk/ersatz-lib.scm

    r31825 r32761  
    66;; turn based on the Python Jinja2 library.
    77;;
    8 ;; Copyright 2012-2014 Ivan Raikov.
     8;; Copyright 2012-2015 Ivan Raikov.
    99;;
    1010;; This program is free software: you can redistribute it and/or
     
    2525
    2626        (
     27         debug
     28
    2729         from-string from-file
    2830         statements-from-string statements-from-file
     
    9193                (only setup-api run execute)
    9294                )
     95
     96
     97(define debug (make-parameter 0))
    9398
    9499;;
     
    400405
    401406
     407(define-record-printer (tstmt x out)
     408  (cases tstmt x
     409         (TextStatement (s)
     410                        (fprintf out "<TextStatement \"~A\">" s))
     411         (ExpandStatement (e)
     412                          (fprintf out "<ExpandStatement ~A>" e))
     413         (IfStatement     (cb el)
     414                          (fprintf out "<IfStatement ~A ~A>" cb el))
     415         (ForStatement    (e1 e2 a)
     416                          (fprintf out "<ForStatement ~A ~A ~A>" e1 e2 a))
     417         (IncludeStatement (s wcontext)
     418                           (fprintf out "<IncludeStatement ~A ~A>" s wcontext))
     419         (ExtendsStatement (s)
     420                           (fprintf out "<ExtendsStatement ~A>" s))
     421         (ImportStatement  (s w)
     422                           (fprintf out "<ImportStatement ~A ~A>" s w))
     423         (FromImportStatement (s w)
     424                              (fprintf out "<FromImportStatement ~A ~A>" s w))
     425         (SetStatement (e1 e2)
     426                       (fprintf out "<SetStatement ~A ~A>" e1 e2))
     427         (BlockStatement  (e f b)
     428                          (fprintf out "<BlockStatement ~A ~A ~A>" e f b))
     429         (MacroStatement  (e a b)
     430                          (fprintf out "<MacroStatement ~A ~A ~A>" e a b))
     431         (FilterStatement (e b)
     432                          (fprintf out "<FilterStatement ~A ~A>" e b))
     433         (CallStatement (e a1 a2 b)
     434                        (fprintf out "<CallStatement ~A ~A ~A ~A>" e a1 a2 b))
     435         (WithStatement (es b)
     436                        (fprintf out "<WithStatement ~A ~A>" es b))
     437         (AutoEscapeStatement (e b)
     438                              (fprintf out "<AutoEscapeStatement ~A ~A>" e b))
     439         ))
     440
     441
     442
    402443
    403444(define macro-code? (list-of tstmt?))
  • release/4/ersatz/trunk/eval.scm

    r31825 r32761  
    263263(define (eval-statement env ctx stmt)
    264264
     265  (if (> (debug) 0)
     266      (fprintf (current-output-port)
     267               "ersatz: stmt = ~A~%" stmt))
     268
    265269  (cases tstmt stmt
    266270
Note: See TracChangeset for help on using the changeset viewer.