+ (defparameter *parenscript-interface-exports*
+ '(;; compiler
+ #:*js-target-version*
+ #:compile-script
+ #:ps
+ #:ps-doc
+ #:ps-doc*
+ #:ps*
+ #:ps-inline
+ #:ps-inline*
+ #:*ps-read-function*
+ #:ps-compile-file
+ #:ps-compile-stream
+ ;; for parenscript macro definition within lisp
+ #:defpsmacro
+ #:defmacro/ps
+ #:defmacro+ps
+ #:import-macros-from-lisp
+
+ ;; gensym
+ #:ps-gensym
+ #:with-ps-gensyms
+ #:ps-once-only
+ #:*ps-gensym-counter*
+
+ ;; naming and namespaces
+ #:ps-package-prefix
+ #:obfuscate-package
+ #:unobfuscate-package
+
+ ;; printer
+ #:symbol-to-js-string
+ #:*js-string-delimiter*
+ #:*js-inline-string-delimiter*
+ #:*ps-print-pretty*
+ #:*indent-num-spaces*
+ ))
+ (defparameter *parenscript-interface-deprecated-exports*
+ '(;; deprecated interface
+ #:define-script-symbol-macro
+ #:gen-js-name
+ #:with-unique-js-names
+ #:defjsmacro
+ #:js-compile
+ #:js-inline
+ #:js-inline*
+ #:js
+ #:js*
+ #:symbol-to-js
+ ))
+
+ (defparameter *javascript-exports*
+ '(;;; for representing js code as s-expressions
+
+ ;; operators
+ ; arithmetic
+ #:+
+ #:-
+ #:*
+ #:/
+ #:%
+
+ ; bitwise
+ #:&
+ #:|\||
+ #:^
+ #:~
+ #:>>
+ #:<<
+ #:>>>
+
+ ; assignment
+ #:=
+ #:+=
+ #:-=
+ #:*=
+ #:/=
+ #:%=
+ #:&=
+ #:\|=
+ #:^+
+ #:>>=
+ #:<<=
+ #:>>>=
+
+ ; increment/decrement
+ #:++
+ #:--
+
+ ; comparison
+ #:==
+ #:===
+ #:!=
+ #:!==
+ #:>
+ #:>=
+ #:<
+ #:<=
+
+ ; logical
+ #:&&
+ #:||||
+ #:!
+
+ ; misc
+ #:? ; ternary
+ #:|,|
+ #:delete
+ #:function
+ #:get
+ #:in
+ #:instanceof
+ #:new
+ #:this
+ #:typeof
+ #:void
+
+
+ ;; statements
+ #:block
+ #:break
+ #:continue
+ #:do-while
+ #:for
+ #:for-in
+ #:if
+ #:label
+ #:return
+ #:switch
+ #:throw
+ #:try
+ #:var
+ #:while
+ #:with
+
+
+ #:unary-operator
+ #:literal
+ #:array
+ #:aref
+ #:operator
+ #:cond
+ #:lambda
+ #:object
+ #:variable
+ #:slot-value
+ #:funcall
+ #:escape
+ ))
+ )