     ########################################
     terminal:
         id: (value)->
-            $ =
+            $$ =
                 node: 'ID'
                 raw: value
                 value: ssubstring value, 1, -1
         string: (value)->
-            $ =
+            $$ =
                 node: 'STRING'
                 value: ssubstring value, 1, -1
         integer: (value)->
-            $ =
+            $$ =
                 node: 'INTEGER'
                 raw: value
                 value: parseInt value
         float: (value)->
-            $ =
+            $$ =
                 node: 'FLOAT'
                 raw: value
                 value: parseFloat value
         variable: (value)->
-            $ =
+            $$ =
                 node: 'VARIABLE'
                 raw: value
                 position: parseInt ssubstring value, 1, 0
         blob: (value)->
-            $ =
+            $$ =
                 node: 'BLOB'
                 raw: value
                 value: ssubstring value, 2, -1
         join_kw: (value)->
-            $ =
+            $$ =
                 node: 'JOIN_KW'
                 type: value
-
-                    
+        like_kw: (value)->
+            $$ =
+                node: 'LIKE_KW'
+                type: value
+        ctime_kw: (value)->
+            $$ =
+                node: 'CTIME_KW'
+                type: value
 
 
+

    ecmd: (explain, cmd)->
        explain ?= null
        cmd ?= null
        $ =
            node: 'ecmd'
            explain: explain
            cmd: cmd
    explain: (explain, queryPlan)->
        $ =
            node: 'explain'
            explain: explain
            queryPlan: queryPlan

            terminal: terminal

    dbnm: (nm)->
        $$ =
            node: 'dbnm'
            nm: nm

    trans_opt: (nm)->
        nm ?= null
        $$ =
            node: 'trans_opt'
            value: nm

    transtype: (type)->
        type ?= null
        $$ =
            node: 'transtype'
            type: type

