The js-parser Reference Manual

This is the js-parser Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 18:27:56 2024 GMT+0.

Table of Contents


1 Systems

The main system appears first, followed by any subsystem dependency.


1.1 js-parser

Author

Red Daly

License

MIT License <http://www.opensource.org/licenses/mit-license.php>

Dependency

cl-ppcre (system).

Source

js-parser.asd.

Child Components

2 Modules

Modules are listed depth-first from the system components tree.


2.1 js-parser/external

Source

js-parser.asd.

Parent Component

js-parser (system).

Child Component

jsyacc.lisp (file).


2.2 js-parser/src

Dependency

external (module).

Source

js-parser.asd.

Parent Component

js-parser (system).

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 js-parser/js-parser.asd

Source

js-parser.asd.

Parent Component

js-parser (system).

ASDF Systems

js-parser.

Packages

js-parser-system.

Public Interface

*version* (special variable).

Internals

*muffle-conflicts* (special variable).


3.1.2 js-parser/external/jsyacc.lisp

Source

js-parser.asd.

Parent Component

external (module).

Packages

jsyacc.

Public Interface
Internals

3.1.3 js-parser/src/package.lisp

Source

js-parser.asd.

Parent Component

src (module).

Packages

js-parser.


3.1.4 js-parser/src/general-utilities.lisp

Dependency

package.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Internals

3.1.5 js-parser/src/conditions.lisp

Dependency

general-utilities.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Public Interface
Internals

3.1.6 js-parser/src/lexer-macros.lisp

Dependency

conditions.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Internals

3.1.7 js-parser/src/lex-javascript.lisp

Dependency

lexer-macros.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Public Interface
Internals

3.1.8 js-parser/src/js-source-model.lisp

Dependency

lex-javascript.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Public Interface
Internals

3.1.9 js-parser/src/parse-javascript-yacc.lisp

Dependency

js-source-model.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Internals

3.1.10 js-parser/src/parse-javascript.lisp

Dependency

parse-javascript-yacc.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Public Interface

parse (function).

Internals

3.1.11 js-parser/src/source-transformations.lisp

Dependency

parse-javascript.lisp (file).

Source

js-parser.asd.

Parent Component

src (module).

Public Interface
Internals

4 Packages

Packages are listed by definition order.


4.1 js-parser

Source

package.lisp.

Use List
  • cl-ppcre.
  • common-lisp.
Public Interface
Internals

4.2 jsyacc

Source

jsyacc.lisp.

Use List

common-lisp.

Public Interface
Internals

4.3 js-parser-system

Source

js-parser.asd.

Use List
  • asdf/interface.
  • common-lisp.
Public Interface

*version* (special variable).

Internals

*muffle-conflicts* (special variable).


5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *symbols-to-tokens*

Map from token symbol to token string. This contains an entry for every token in *tokens-to-symbols*, plus additional entries for the ’operation’ symbols.

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: *version*

The current version

Package

js-parser-system.

Source

js-parser.asd.


5.1.2 Macros

Macro: define-grammar (name &body body)

DEFINE-GRAMMAR NAME OPTION... PRODUCTION...
PRODUCTION ::= (SYMBOL RHS...)
RHS ::= SYMBOL | (SYMBOL... [ACTION])
Defines the special variable NAME to be a grammar. Options are as in MAKE-GRAMMAR.

Package

jsyacc.

Source

jsyacc.lisp.

Macro: define-parser (name &body body)

DEFINE-GRAMMAR NAME OPTION... PRODUCTION...
PRODUCTION ::= (SYMBOL RHS...)
RHS ::= SYMBOL | (SYMBOL... [ACTION])
Defines the special variable NAME to be a parser. Options are as in MAKE-GRAMMAR and MAKE-PARSER.

Package

jsyacc.

Source

jsyacc.lisp.


5.1.3 Ordinary functions

Reader: array-literal-elements (instance)
Writer: (setf array-literal-elements) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

elements.

Function: array-literal-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf array-literal-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: array-literal-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf array-literal-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: array-literal-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: array-literal-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf array-literal-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: binary-operator-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf binary-operator-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: binary-operator-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf binary-operator-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: binary-operator-left-arg (instance)
Writer: (setf binary-operator-left-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

left-arg.

Reader: binary-operator-op-symbol (instance)
Writer: (setf binary-operator-op-symbol) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

op-symbol.

Function: binary-operator-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: binary-operator-right-arg (instance)
Writer: (setf binary-operator-right-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

right-arg.

Function: binary-operator-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf binary-operator-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: break-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf break-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: break-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf break-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: break-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: break-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf break-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: break-statement-target-label (instance)
Writer: (setf break-statement-target-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

target-label.

Reader: case-clause-body (instance)
Writer: (setf case-clause-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: case-clause-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf case-clause-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: case-clause-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf case-clause-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: case-clause-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: case-clause-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf case-clause-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: case-clause-value (instance)
Writer: (setf case-clause-value) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

value.

Reader: catch-clause-binding (instance)
Writer: (setf catch-clause-binding) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

binding.

Reader: catch-clause-body (instance)
Writer: (setf catch-clause-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: catch-clause-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf catch-clause-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: catch-clause-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf catch-clause-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: catch-clause-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: catch-clause-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf catch-clause-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: comma-expr-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf comma-expr-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: comma-expr-exprs (instance)
Writer: (setf comma-expr-exprs) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

exprs.

Function: comma-expr-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf comma-expr-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: comma-expr-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: comma-expr-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf comma-expr-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: conditional-condition (instance)
Writer: (setf conditional-condition) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

condition.

Function: conditional-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf conditional-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: conditional-false-arg (instance)
Writer: (setf conditional-false-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

false-arg.

Function: conditional-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf conditional-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: conditional-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: conditional-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf conditional-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: conditional-true-arg (instance)
Writer: (setf conditional-true-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

true-arg.

Function: continue-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continue-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continue-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continue-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continue-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: continue-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continue-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: continue-statement-target-label (instance)
Writer: (setf continue-statement-target-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

target-label.

Reader: default-clause-body (instance)
Writer: (setf default-clause-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: default-clause-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf default-clause-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: default-clause-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf default-clause-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: default-clause-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: default-clause-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf default-clause-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: do-statement-body (instance)
Writer: (setf do-statement-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Reader: do-statement-condition (instance)
Writer: (setf do-statement-condition) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

condition.

Function: do-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf do-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: do-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf do-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: do-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: do-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf do-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: expression-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf expression-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: expression-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf expression-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: expression-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: expression-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf expression-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: finally-clause-body (instance)
Writer: (setf finally-clause-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: finally-clause-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf finally-clause-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: finally-clause-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf finally-clause-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: finally-clause-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: finally-clause-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf finally-clause-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: fn-call-args (instance)
Writer: (setf fn-call-args) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

args.

Function: fn-call-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf fn-call-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: fn-call-fn (instance)
Writer: (setf fn-call-fn) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

fn.

Function: fn-call-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf fn-call-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: fn-call-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: fn-call-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf fn-call-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: for-body (instance)
Writer: (setf for-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Reader: for-condition (instance)
Writer: (setf for-condition) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

condition.

Function: for-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: for-in-binding (instance)
Writer: (setf for-in-binding) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

binding.

Reader: for-in-body (instance)
Writer: (setf for-in-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Reader: for-in-collection (instance)
Writer: (setf for-in-collection) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

collection.

Function: for-in-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-in-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: for-in-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-in-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: for-in-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: for-in-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-in-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: for-initializer (instance)
Writer: (setf for-initializer) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

initializer.

Function: for-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: for-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: for-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf for-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: for-step (instance)
Writer: (setf for-step) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

step.

Reader: function-decl-body (instance)
Writer: (setf function-decl-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: function-decl-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-decl-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: function-decl-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-decl-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: function-decl-name (instance)
Writer: (setf function-decl-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

name.

Function: function-decl-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: function-decl-parameters (instance)
Writer: (setf function-decl-parameters) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

parameters.

Function: function-decl-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-decl-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: function-expression-body (instance)
Writer: (setf function-expression-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: function-expression-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-expression-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: function-expression-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-expression-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: function-expression-name (instance)
Writer: (setf function-expression-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

name.

Function: function-expression-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: function-expression-parameters (instance)
Writer: (setf function-expression-parameters) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

parameters.

Function: function-expression-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf function-expression-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: get-constructor (struct-object)

Accept a structure object and return the (likely) name of its constructor. CAVEAT: Assumes that the structure was defined in the same package as its name.

Package

js-parser.

Source

source-transformations.lisp.

Function: identifier-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf identifier-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: identifier-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf identifier-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: identifier-name (instance)
Writer: (setf identifier-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

name.

Function: identifier-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: identifier-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf identifier-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: if-statement-condition (instance)
Writer: (setf if-statement-condition) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

condition.

Reader: if-statement-else-statement (instance)
Writer: (setf if-statement-else-statement) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

else-statement.

Function: if-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf if-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: if-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf if-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: if-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: if-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf if-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: if-statement-then-statement (instance)
Writer: (setf if-statement-then-statement) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

then-statement.

Function: make-add-handler (&key label start end handler thunk-body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-array-literal (&key label start end elements)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-binary-operator (&key label start end op-symbol left-arg right-arg)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-break-statement (&key label start end target-label)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-case-clause (&key label start end value body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-catch-clause (&key label start end binding body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-comma-expr (&key label start end exprs)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-conditional (&key label start end condition true-arg false-arg)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-continue-statement (&key label start end target-label)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-default-clause (&key label start end body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-do-statement (&key label start end condition body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-finally-clause (&key label start end body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-fn-call (&key label start end fn args)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-for (&key label start end initializer condition step body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-for-in (&key label start end binding collection body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-function-decl (&key label start end name parameters body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-function-expression (&key label start end name parameters body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-grammar (&key name start-symbol terminals precedence productions)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-identifier (&key label start end name)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-if-statement (&key label start end condition then-statement else-statement)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-import-decl (&key label start end type-symbol uripath)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-keyword (x)

Makes a keyword out of a symbol.

Package

js-parser.

Source

source-transformations.lisp.

Function: make-new-expr (&key label start end constructor args)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-numeric-literal (&key label start end value)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-object-literal (&key label start end properties)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-parser (grammar &key discard-memos muffle-conflicts print-derives-epsilon print-first-terminals print-states print-goto-graph print-lookaheads)

Combines COMPUTE-ALL-LOOKAHEADS and COMPUTE-PARSING-TABLES. MUFFLE-WARNINGS is one of NIL, T, :SOME or a list of the form (sr rr).

Package

jsyacc.

Source

jsyacc.lisp.

Function: make-production (symbol derives &key action action-form)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-property-access (&key label start end target field)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-re-literal (&key label start end pattern options)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-remove-handler (&key label start end handler thunk-body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-resume-statement (&key label start end target arg)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-return-statement (&key label start end arg)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-source-element (&key label start end)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-special-value (&key label start end symbol)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-statement-block (&key label start end statements)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-string-literal (&key label start end value)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-suspend-statement (&key label start end)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-switch (&key label start end value clauses)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-throw-statement (&key label start end value target)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-try (&key label start end body catch-clause finally-clause)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-unary-operator (&key label start end op-symbol arg)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-var-decl (&key label start end name initializer)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-var-decl-statement (&key label start end var-decls)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-while (&key label start end condition body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-with (&key label start end scope-object body)
Package

js-parser.

Source

js-source-model.lisp.

Reader: new-expr-args (instance)
Writer: (setf new-expr-args) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

args.

Reader: new-expr-constructor (instance)
Writer: (setf new-expr-constructor) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

constructor.

Function: new-expr-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf new-expr-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: new-expr-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf new-expr-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: new-expr-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: new-expr-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf new-expr-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: numeric-literal-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf numeric-literal-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: numeric-literal-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf numeric-literal-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: numeric-literal-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: numeric-literal-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf numeric-literal-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: numeric-literal-value (instance)
Writer: (setf numeric-literal-value) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

value.

Function: object-literal-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf object-literal-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: object-literal-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf object-literal-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: object-literal-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: object-literal-properties (instance)
Writer: (setf object-literal-properties) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

properties.

Function: object-literal-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf object-literal-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: parse (str)

Parse STR as a Javascript script, returning a list of statements. Semicolon insertion is performed according to the ECMA-262 standard.

Package

js-parser.

Source

parse-javascript.lisp.

Function: parse-with-lexer (lexer parser)

Parse the stream of symbols provided by LEXER using PARSER.
LEXER is a function of no arguments returning a symbol and a semantic value, and should return (VALUES NIL NIL) when the end of input is reached. Handle YACC-PARSE-ERROR to provide custom error reporting.

Package

jsyacc.

Source

jsyacc.lisp.

Function: property-access-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf property-access-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: property-access-field (instance)
Writer: (setf property-access-field) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

field.

Function: property-access-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf property-access-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: property-access-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: property-access-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf property-access-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: property-access-target (instance)
Writer: (setf property-access-target) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

target.

Function: re-literal-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf re-literal-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: re-literal-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf re-literal-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: re-literal-options (instance)
Writer: (setf re-literal-options) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

options.

Function: re-literal-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: re-literal-pattern (instance)
Writer: (setf re-literal-pattern) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

pattern.

Function: re-literal-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf re-literal-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: return-statement-arg (instance)
Writer: (setf return-statement-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

arg.

Function: return-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf return-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: return-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf return-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: return-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: return-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf return-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: source-element-end (instance)
Writer: (setf source-element-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

end.

Reader: source-element-label (instance)
Writer: (setf source-element-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

label.

Function: source-element-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: source-element-start (instance)
Writer: (setf source-element-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

start.

Function: special-value-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf special-value-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: special-value-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf special-value-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: special-value-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: special-value-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf special-value-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: special-value-symbol (instance)
Writer: (setf special-value-symbol) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

symbol.

Function: statement-block-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf statement-block-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: statement-block-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf statement-block-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: statement-block-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: statement-block-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf statement-block-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: statement-block-statements (instance)
Writer: (setf statement-block-statements) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

statements.

Function: string-literal-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf string-literal-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: string-literal-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf string-literal-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: string-literal-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: string-literal-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf string-literal-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: string-literal-value (instance)
Writer: (setf string-literal-value) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

value.

Function: structure-slots (object)

Returns a list of the slot-names of the provided structure object

Package

js-parser.

Source

source-transformations.lisp.

Reader: switch-clauses (instance)
Writer: (setf switch-clauses) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

clauses.

Function: switch-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf switch-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: switch-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf switch-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: switch-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: switch-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf switch-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: switch-value (instance)
Writer: (setf switch-value) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

value.

Function: throw-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf throw-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: throw-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf throw-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: throw-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: throw-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf throw-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: throw-statement-target (instance)
Writer: (setf throw-statement-target) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

target.

Reader: throw-statement-value (instance)
Writer: (setf throw-statement-value) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

value.

Reader: try-body (instance)
Writer: (setf try-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Reader: try-catch-clause (instance)
Writer: (setf try-catch-clause) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

catch-clause.

Function: try-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf try-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: try-finally-clause (instance)
Writer: (setf try-finally-clause) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

finally-clause.

Function: try-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf try-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: try-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: try-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf try-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: unary-operator-arg (instance)
Writer: (setf unary-operator-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

arg.

Function: unary-operator-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf unary-operator-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: unary-operator-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf unary-operator-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: unary-operator-op-symbol (instance)
Writer: (setf unary-operator-op-symbol) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

op-symbol.

Function: unary-operator-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: unary-operator-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf unary-operator-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: var-decl-initializer (instance)
Writer: (setf var-decl-initializer) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

initializer.

Function: var-decl-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: var-decl-name (instance)
Writer: (setf var-decl-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

name.

Function: var-decl-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: var-decl-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf var-decl-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: var-decl-statement-var-decls (instance)
Writer: (setf var-decl-statement-var-decls) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

var-decls.

Reader: while-body (instance)
Writer: (setf while-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Reader: while-condition (instance)
Writer: (setf while-condition) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

condition.

Function: while-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf while-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: while-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf while-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: while-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: while-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf while-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: with-body (instance)
Writer: (setf with-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

body.

Function: with-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf with-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: with-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Reader: with-scope-object (instance)
Writer: (setf with-scope-object) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

scope-object.

Function: with-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf with-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.


5.1.4 Generic functions

Generic Reader: yacc-parse-error-expected-terminals (condition)
Package

jsyacc.

Methods
Reader Method: yacc-parse-error-expected-terminals ((condition yacc-parse-error))
Source

jsyacc.lisp.

Target Slot

expected-terminals.

Generic Reader: yacc-parse-error-terminal (condition)
Package

jsyacc.

Methods
Reader Method: yacc-parse-error-terminal ((condition yacc-parse-error))
Source

jsyacc.lisp.

Target Slot

terminal.

Generic Reader: yacc-parse-error-value (condition)
Package

jsyacc.

Methods
Reader Method: yacc-parse-error-value ((condition yacc-parse-error))
Source

jsyacc.lisp.

Target Slot

value.


5.1.5 Standalone methods

Method: make-load-form ((self throw-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self conditional) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self do-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self continue-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self break-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self function-expression) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self try) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self return-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self case-clause) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self statement-block) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self var-decl-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self source-element) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self special-value) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self default-clause) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self for) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self comma-expr) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self binary-operator) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self identifier) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self if-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self property-access) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self for-in) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self expression) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self array-literal) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self finally-clause) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self fn-call) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self unary-operator) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self numeric-literal) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self function-decl) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self switch) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self new-expr) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self var-decl) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self while) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self re-literal) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self object-literal) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self catch-clause) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self with) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self string-literal) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self resume-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self add-handler) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self import-decl) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self suspend-statement) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self token) &optional environment)
Source

lex-javascript.lisp.

Method: make-load-form ((self continuation-call) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self thunk-function) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self remove-handler) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((self continuation-function) &optional environment)
Source

js-source-model.lisp.

Method: make-load-form ((p production) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((p parser) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((a error-action) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((a accept-action) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((a reduce-action) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((a shift-action) &optional env)
Source

jsyacc.lisp.

Method: make-load-form ((g grammar) &optional env)
Source

jsyacc.lisp.

Method: print-object ((e syntax-error) s)
Source

conditions.lisp.

Method: print-object ((e missing-import) s)
Source

conditions.lisp.

Method: print-object ((object kernel) stream)
Source

jsyacc.lisp.

Method: print-object ((object item) stream)
Source

jsyacc.lisp.

Method: print-object ((object production) stream)
Source

jsyacc.lisp.

Method: print-object ((object action) stream)
Source

jsyacc.lisp.


5.1.6 Conditions

Condition: syntax-error

Indicates that an error occured during parsing

Package

js-parser.

Source

conditions.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: token
Initargs

:token

Readers

token.

Writers

This slot is read-only.

Slot: expected-terminals
Initargs

:expected-terminals

Readers

expected-terminals.

Writers

This slot is read-only.

Condition: yacc-parse-error
Package

jsyacc.

Source

jsyacc.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: terminal
Initargs

:terminal

Readers

yacc-parse-error-terminal.

Writers

This slot is read-only.

Slot: value
Initargs

:value

Readers

yacc-parse-error-value.

Writers

This slot is read-only.

Slot: expected-terminals
Initargs

:expected-terminals

Readers

yacc-parse-error-expected-terminals.

Writers

This slot is read-only.


5.1.7 Structures

Structure: array-literal
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: elements
Type

list

Readers

array-literal-elements.

Writers

(setf array-literal-elements).

Structure: binary-operator
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: op-symbol
Type

symbol

Readers

binary-operator-op-symbol.

Writers

(setf binary-operator-op-symbol).

Slot: left-arg
Type

js-parser:source-element

Readers

binary-operator-left-arg.

Writers

(setf binary-operator-left-arg).

Slot: right-arg
Type

js-parser:source-element

Readers

binary-operator-right-arg.

Writers

(setf binary-operator-right-arg).

Structure: break-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: target-label
Type

(or string null)

Readers

break-statement-target-label.

Writers

(setf break-statement-target-label).

Structure: case-clause
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: value
Type

js-parser:expression

Readers

case-clause-value.

Writers

(setf case-clause-value).

Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

case-clause-body.

Writers

(setf case-clause-body).

Structure: catch-clause
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: binding
Type

string

Readers

catch-clause-binding.

Writers

(setf catch-clause-binding).

Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

catch-clause-body.

Writers

(setf catch-clause-body).

Structure: comma-expr
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: exprs
Type

(or (cons js-parser:expression) null)

Readers

comma-expr-exprs.

Writers

(setf comma-expr-exprs).

Structure: conditional
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Type

js-parser:expression

Readers

conditional-condition.

Writers

(setf conditional-condition).

Slot: true-arg
Type

js-parser:expression

Readers

conditional-true-arg.

Writers

(setf conditional-true-arg).

Slot: false-arg
Type

js-parser:expression

Readers

conditional-false-arg.

Writers

(setf conditional-false-arg).

Structure: continue-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: target-label
Type

(or string null)

Readers

continue-statement-target-label.

Writers

(setf continue-statement-target-label).

Structure: default-clause
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

default-clause-body.

Writers

(setf default-clause-body).

Structure: do-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Type

js-parser:expression

Readers

do-statement-condition.

Writers

(setf do-statement-condition).

Slot: body
Type

js-parser:source-element

Readers

do-statement-body.

Writers

(setf do-statement-body).

Structure: expression

A common base type for all source elements that can be expressions. (note that every expression can be a statement, but not all statements can be expressions)

Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct subclasses
Direct methods

make-load-form.

Structure: finally-clause
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

finally-clause-body.

Writers

(setf finally-clause-body).

Structure: fn-call
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct subclasses

continuation-call.

Direct methods
Direct slots
Slot: fn
Type

js-parser:expression

Readers

fn-call-fn.

Writers

(setf fn-call-fn).

Slot: args
Type

(or (cons js-parser:source-element) null)

Readers

fn-call-args.

Writers

(setf fn-call-args).

Structure: for
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: initializer
Type

(or js-parser:source-element null)

Readers

for-initializer.

Writers

(setf for-initializer).

Slot: condition
Package

common-lisp.

Type

(or js-parser:expression null)

Readers

for-condition.

Writers

(setf for-condition).

Slot: step
Package

common-lisp.

Type

(or js-parser:expression null)

Readers

for-step.

Writers

(setf for-step).

Slot: body
Type

(or js-parser:source-element null)

Readers

for-body.

Writers

(setf for-body).

Structure: for-in
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: binding
Type

js-parser:source-element

Readers

for-in-binding.

Writers

(setf for-in-binding).

Slot: collection
Type

js-parser:expression

Readers

for-in-collection.

Writers

(setf for-in-collection).

Slot: body
Type

(or js-parser:source-element null)

Readers

for-in-body.

Writers

(setf for-in-body).

Structure: function-decl
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: name
Type

string

Readers

function-decl-name.

Writers

(setf function-decl-name).

Slot: parameters
Type

(or (cons string) null)

Readers

function-decl-parameters.

Writers

(setf function-decl-parameters).

Slot: body
Type

(or (cons js-parser:source-element) (cons null) null)

Readers

function-decl-body.

Writers

(setf function-decl-body).

Structure: function-expression
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct subclasses
Direct methods
Direct slots
Slot: name
Type

(or string null)

Readers

function-expression-name.

Writers

(setf function-expression-name).

Slot: parameters
Type

(or (cons string) null)

Readers

function-expression-parameters.

Writers

(setf function-expression-parameters).

Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

function-expression-body.

Writers

(setf function-expression-body).

Structure: identifier
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: name
Type

string

Readers

identifier-name.

Writers

(setf identifier-name).

Structure: if-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Type

js-parser:expression

Readers

if-statement-condition.

Writers

(setf if-statement-condition).

Slot: then-statement
Type

(or js-parser:source-element null)

Readers

if-statement-then-statement.

Writers

(setf if-statement-then-statement).

Slot: else-statement
Type

(or js-parser:source-element null)

Readers

if-statement-else-statement.

Writers

(setf if-statement-else-statement).

Structure: new-expr
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: constructor
Type

js-parser:expression

Readers

new-expr-constructor.

Writers

(setf new-expr-constructor).

Slot: args
Type

(or (cons js-parser:source-element) null)

Readers

new-expr-args.

Writers

(setf new-expr-args).

Structure: numeric-literal
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: value
Type

number

Readers

numeric-literal-value.

Writers

(setf numeric-literal-value).

Structure: object-literal
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: properties
Type

list

Readers

object-literal-properties.

Writers

(setf object-literal-properties).

Structure: property-access
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: target
Type

js-parser:source-element

Readers

property-access-target.

Writers

(setf property-access-target).

Slot: field
Type

js-parser:source-element

Readers

property-access-field.

Writers

(setf property-access-field).

Structure: re-literal
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: pattern
Readers

re-literal-pattern.

Writers

(setf re-literal-pattern).

Slot: options
Readers

re-literal-options.

Writers

(setf re-literal-options).

Structure: return-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: arg
Type

(or js-parser:source-element null)

Readers

return-statement-arg.

Writers

(setf return-statement-arg).

Structure: source-element

A common base type for all source elements

Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct methods
Direct slots
Slot: label
Type

(or string null)

Readers

source-element-label.

Writers

(setf source-element-label).

Slot: start
Type

(or number null)

Readers

source-element-start.

Writers

(setf source-element-start).

Slot: end
Type

(or number null)

Readers

source-element-end.

Writers

(setf source-element-end).

Structure: special-value
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: symbol
Package

common-lisp.

Type

symbol

Readers

special-value-symbol.

Writers

(setf special-value-symbol).

Structure: statement-block
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: statements
Type

(or (cons js-parser:source-element) null)

Readers

statement-block-statements.

Writers

(setf statement-block-statements).

Structure: string-literal
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods

make-load-form.

Direct slots
Slot: value
Type

string

Readers

string-literal-value.

Writers

(setf string-literal-value).

Structure: switch
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: value
Type

js-parser:expression

Readers

switch-value.

Writers

(setf switch-value).

Slot: clauses
Type

list

Readers

switch-clauses.

Writers

(setf switch-clauses).

Structure: throw-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: value
Type

(or js-parser:expression null)

Readers

throw-statement-value.

Writers

(setf throw-statement-value).

Slot: target
Type

(or js-parser:expression null)

Readers

throw-statement-target.

Writers

(setf throw-statement-target).

Structure: try
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: body
Type

(or (cons js-parser:source-element) null)

Readers

try-body.

Writers

(setf try-body).

Slot: catch-clause
Type

(or js-parser:catch-clause null)

Readers

try-catch-clause.

Writers

(setf try-catch-clause).

Slot: finally-clause
Type

(or js-parser:finally-clause null)

Readers

try-finally-clause.

Writers

(setf try-finally-clause).

Structure: unary-operator
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

expression.

Direct methods
Direct slots
Slot: op-symbol
Type

symbol

Readers

unary-operator-op-symbol.

Writers

(setf unary-operator-op-symbol).

Slot: arg
Type

js-parser:source-element

Readers

unary-operator-arg.

Writers

(setf unary-operator-arg).

Structure: var-decl
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: name
Type

string

Readers

var-decl-name.

Writers

(setf var-decl-name).

Slot: initializer
Type

(or js-parser:expression null)

Readers

var-decl-initializer.

Writers

(setf var-decl-initializer).

Structure: var-decl-statement
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods

make-load-form.

Direct slots
Slot: var-decls
Type

(cons js-parser:var-decl)

Readers

var-decl-statement-var-decls.

Writers

(setf var-decl-statement-var-decls).

Structure: while
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: condition
Package

common-lisp.

Type

js-parser:expression

Readers

while-condition.

Writers

(setf while-condition).

Slot: body
Type

(or js-parser:source-element null)

Readers

while-body.

Writers

(setf while-body).

Structure: with
Package

js-parser.

Source

js-source-model.lisp.

Direct superclasses

source-element.

Direct methods
Direct slots
Slot: scope-object
Type

js-parser:expression

Readers

with-scope-object.

Writers

(setf with-scope-object).

Slot: body
Type

js-parser:source-element

Readers

with-body.

Writers

(setf with-body).


5.2 Internals


5.2.1 Special variables

Special Variable: *constructor-cache*

Map from structure-type symbol to copy-function symbol

Package

js-parser.

Source

source-transformations.lisp.

Special Variable: *consume-token-goal*
Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: *current-filename*

The name of the file currently being parsed

Package

js-parser.

Source

parse-javascript.lisp.

Special Variable: *in-local-scope*

T when the lexical scope is currently inside a function decl, NIL when the lexical scope is currently the global scope

Package

js-parser.

Source

source-transformations.lisp.

Special Variable: *items-closure-hash-threshold*

The number of elements when items-closure switches to using a hashtable.

Package

jsyacc.

Source

jsyacc.lisp.

Special Variable: *keyword-symbols*

A list of the keyword symbols.

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: *muffle-conflicts*

When T, yacc warnings about Shift/Reduce and Reduce/Reduce conflicts will be muffled. When NIL, all such conflicts will be reported.
When non-NIL, non-T, a single summary warning will be reported when conflicts exist.

This value should be set to NIL or non-T during grammar
development/debugging (so that we find out about the conflicts), but T
at all other times (so that SBCL won’t drop into the debugger when
we’re trying to load parse-javascript.lisp).

Package

js-parser-system.

Source

js-parser.asd.

Special Variable: *operator-tokens*

These are operators (as distinct from general tokens) that will be built into a special regular expression.

We can’t just use the keys from *symbols-to-tokens*, because the
order that the tokens appear in this list is significant. Specifically, each ’long’ operator must occur before any operator that it is a supersequence of. Eg, ’<<<’ must occur before ’<<’, which must occur before ’<’. ’!=’ must occur before both ’!’ and ’=’.

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: *restricted-tokens*

Tokens that participate in ’restricted productions’. Value should be either :PRE or :POST. For each of these tokens, the lexer will emit either a :NO-LINE-TERMINATOR or a :LINE-TERMINATOR token depending upon whether the token was preceded/followed by a line-break.

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: *tokens-to-symbols*

Map from string to token symbol.
Every symbol that the tokenizer will return is in this map.

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: floating-re

Regular expression for recognizing floating-point literals

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: integer-re

Regular expression for recognizing integer literals

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: javascript-script
Package

js-parser.

Source

parse-javascript.lisp.

Special Variable: operator-re

Regular expression for recognizing operators

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: regexp-re

(Lisp) regular expression for recognizing (Javascript) regular expression literals

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: string-re

Regular expression for recognizing string literals

Package

js-parser.

Source

lex-javascript.lisp.

Special Variable: undefined-id

Contains the ‘undefined‘ identifier

Package

js-parser.

Source

parse-javascript.lisp.

Special Variable: whitespace-and-comments-re

Regular expression for consuming (and thereby skipping) whitespace and comments

Package

js-parser.

Source

lex-javascript.lisp.


5.2.2 Macros

Macro: aif (test-form then-form &optional else-form)

Anaphoric IF expression; binds IT.

Package

js-parser.

Source

general-utilities.lisp.

Macro: awhen (test-form &body body)

Anaphoric WHEN expression; binds IT.

Package

js-parser.

Source

general-utilities.lisp.

Macro: bind-with-backchannels ((&rest bindings) form &body body)
Package

js-parser.

Source

general-utilities.lisp.

Macro: defelement (name &rest slots)
Package

js-parser.

Source

js-source-model.lisp.

Macro: defparser (parser-name starting-production &body productions)

This macro emulates the Lispworks parsergenerator’s defparser macro, but instead creates output for CL-YACC

Package

js-parser.

Source

parse-javascript-yacc.lisp.

Macro: deftoken (symbol &optional key token-type)

Add a token’s symbol and possibly string to the appropriate lookups.

Different actions will be taken depending upon the TOKEN-TYPE: OPERATOR-TOKENs are infix operators, which are recognized as atomic tokens regardless of whether they are surrounded by whitespace (unlike identifier tokens, for example).
KEYWORDs are reserved strings that can never be used as an identifier. OPERATIONs will never be returned by the lexer, but they are used in the source model in the same place as tokens (ie, in :op-symbol slots), so they are treated as tokens for now.

Package

js-parser.

Source

lex-javascript.lisp.

Macro: forbid-transformation-elements (xform elm-type-list)

Generate DEFMETHOD forms that throw an error if the transformation specified in XFORM is applied to any of the element types in ELM-TYPE-LIST

Package

js-parser.

Source

source-transformations.lisp.

Macro: in-local-scope (&body body)

Execute BODY with *IN-LOCAL-SCOPE* bound to T

Package

js-parser.

Source

source-transformations.lisp.

Macro: re-cond ((string &key start) &rest clauses)

(re-cond (STRING :start START) (REGEXP FORMS*)*
If REGEXP matches STRING, then %S, %E, %SUB-S, and %SUB-E will be bound during execution of FORMS

Package

js-parser.

Source

lexer-macros.lisp.

Macro: when-let ((bind-var test-form) &body body)

Anaphoric WHEN expression that allows the caller to specify the name of the bound variable

Package

js-parser.

Source

general-utilities.lisp.


5.2.3 Ordinary functions

Function: %copy-item (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: %make-grammar (&key name terminals precedence productions %symbols derives-epsilon derives-first derives-first-terminal)
Package

jsyacc.

Source

jsyacc.lisp.

Function: %make-kernel (items)
Package

jsyacc.

Source

jsyacc.lisp.

Function: %make-parser (states goto action)
Package

jsyacc.

Source

jsyacc.lisp.

Function: accept-action-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: action-equal-p (a1 a2)
Package

jsyacc.

Source

jsyacc.lisp.

Function: action-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: add-handler-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf add-handler-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: add-handler-handler (instance)
Writer: (setf add-handler-handler) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

handler.

Function: add-handler-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf add-handler-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: add-handler-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: add-handler-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf add-handler-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: add-handler-thunk-body (instance)
Writer: (setf add-handler-thunk-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

thunk-body.

Function: backchannel-signal (channel value)

Signals VALUE on backchannel CHANNEL. Returns T if the message was received.

Package

js-parser.

Source

general-utilities.lisp.

Function: call-expression-p (elm)

Return non-NIL if ELM is a CallExpression, or NIL otherwise.

Package

js-parser.

Source

js-source-model.lisp.

Function: clear-lr1-collection (collection)
Package

jsyacc.

Source

jsyacc.lisp.

Function: coerce-token (lexer terminal)

Force LEXER to interpret the next token as TERMINAL. An error will be raised if that’s not actually possible.

Package

js-parser.

Source

lex-javascript.lisp.

Function: combine-first (f1 s grammar)

FIRST(s1.s) where f1=FIRST(s1).

Package

jsyacc.

Source

jsyacc.lisp.

Function: combine-statements (&rest elm-arguments)

Combine ELM-ARGUMENTS into a single list, stripping out statement-blocks if necessary

Package

js-parser.

Source

js-source-model.lisp.

Function: compute-all-lookaheads (kernels grammar)

Compute the LR(1) lookaheads for all the collections in KERNELS.

Package

jsyacc.

Source

jsyacc.lisp.

Function: compute-goto (kernel symbol grammar)

Compute the kernel of goto(KERNEL, SYMBOL)

Package

jsyacc.

Source

jsyacc.lisp.

Function: compute-kernels (grammar)

Compute the set collections of LR(0) items for GRAMMAR.

Package

jsyacc.

Source

jsyacc.lisp.

Function: compute-lookaheads (kernel grammar &optional propagate-only)

Compute the LR(1) lookaheads for all items in KERNEL. If PROPAGATE-ONLY is true, ignore spontaneous generation.

Package

jsyacc.

Source

jsyacc.lisp.

Function: compute-parsing-tables (kernels grammar &key muffle-conflicts)

Compute the parsing tables for grammar GRAMMAR and transitions KERNELS. PRECEDENCE is as in FIND-PRECEDENCE. MUFFLE-WARNINGS is one of NIL, T, :SOME or a list of the form (sr rr).

Package

jsyacc.

Source

jsyacc.lisp.

Function: consume-token (lexer &optional goal)

Reads the next token from LEXER’s source text (where ’next’ is determined by
the value of LEXER’s cursor).

GOAL is either :regex-goal or :divide-goal, which corresponds to the description of the 2 possible ’goal symbols’ described in 7.0 of the ECMAScript spec. If GOAL is :re-input, a regular expression literal may be lexed. Otherwise, regex literals are parsed as divisions.

The cursor is assumed to point to a non-whitespace
character on entry; on exit points to the first character after the consumed token. Returns a token structure. The token’s terminal will be NIL on end of input.

Package

js-parser.

Source

lex-javascript.lisp.

Function: consume-whitespace (lexer)

Consumes whitespace and comments. Lexer’s cursor is updated to the next non-whitespace character, and its ENCOUNTERED-LINE-TERMINATOR slot is set based upon whether or not the skipped whitespace included a newline. Returns non-NIL if line-terminators were encountered.

Package

js-parser.

Source

lex-javascript.lisp.

Function: continuation-call-args (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-call-args) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-call-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-call-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-call-fn (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-call-fn) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-call-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-call-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-call-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-call-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-call-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-body (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-name (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-parameters (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-parameters) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: continuation-function-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf continuation-function-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-accept-action (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-action (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-add-handler (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-array-literal (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-binary-operator (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-break-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-case-clause (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-catch-clause (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-comma-expr (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-conditional (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-continuation-call (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-continuation-function (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-continue-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-default-clause (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-do-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-error-action (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-expression (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-finally-clause (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-fn-call (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-for (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-for-in (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-function-decl (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-function-expression (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-goto (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-grammar (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-identifier (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-if-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-import-decl (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-kernel (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-lr0-item (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-lr1-item (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-new-expr (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-numeric-literal (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-object-literal (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-parser (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-production (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-property-access (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-re-literal (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-reduce-action (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-remove-handler (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-resume-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-return-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-shift-action (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Function: copy-source-element (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-special-value (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-statement-block (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-string-literal (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-suspend-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-switch (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-throw-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-thunk-function (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-token (instance)
Package

js-parser.

Source

lex-javascript.lisp.

Function: copy-try (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-unary-operator (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-var-decl (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-var-decl-statement (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-while (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: copy-with (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: derives-epsilon (symbol grammar &optional seen)

True if symbol derives epsilon.

Package

jsyacc.

Source

jsyacc.lisp.

Function: derives-epsilon* (symbol grammar &optional seen)

Unmemoised version of DERIVES-EPSILON.

Package

jsyacc.

Source

jsyacc.lisp.

Function: derives-first (c grammar &optional seen)

The list of symbols A such that C rm->* A.eta for some eta.

Package

jsyacc.

Source

jsyacc.lisp.

Function: derives-first-terminal (c grammar &optional seen)

The list of terminals a such that C rm->* a.eta, last non-epsilon.

Package

jsyacc.

Source

jsyacc.lisp.

Function: element-end (element)

Returns the end position of source-element or token ELEMENT.

Package

js-parser.

Source

parse-javascript.lisp.

Function: element-start (element)

Returns the start position of source-element or token ELEMENT.

Package

js-parser.

Source

parse-javascript.lisp.

Function: error-action-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: escape-regexp (re-string)
Package

js-parser.

Source

lex-javascript.lisp.

Function: expand-hashtable-to-values (hashtable)

Returns a list of all the values stored in a hashtable.

Package

js-parser.

Source

parse-javascript-yacc.lisp.

Function: find-goto (kernel symbol)
Package

jsyacc.

Source

jsyacc.lisp.

Function: find-precedence (op precedence)

Return the tail of PRECEDENCE starting with the element containing OP. PRECEDENCE is a list of elements of the form (KEYWORD . (op...)).

Package

jsyacc.

Source

jsyacc.lisp.

Function: find-single-terminal (s grammar)

Return the only terminal in S, or NIL if none or multiple.

Package

jsyacc.

Source

jsyacc.lisp.

Function: first-terminals (s grammar)

FIRST(s) without epsilon.

Package

jsyacc.

Source

jsyacc.lisp.

Function: generate-productions (productions)

Used by defparser macro. Take the lispworks list of productions and convert them into CL-YACC versions

Package

js-parser.

Source

parse-javascript-yacc.lisp.

Function: generate-rules-with-optional (rule-spec &optional mask)

Accepts a PARSERGEN rulespec and transforms it by treating each symbol that begins with a #\? character as being optional. The output is a list of one or more rules that exhaust all the present/absent possibilities. This is an internal utility for generating rules for the different grammar rules that are specified with wildcards.

Package

js-parser.

Source

parse-javascript.lisp.

Function: goto-equal-p (g1 g2)
Package

jsyacc.

Source

jsyacc.lisp.

Function: goto-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: goto-symbol (instance)
Writer: (setf goto-symbol) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

symbol.

Reader: goto-target (instance)
Writer: (setf goto-target) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

target.

Reader: grammar-%symbols (instance)
Writer: (setf grammar-%symbols) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

%symbols.

Reader: grammar-derives-epsilon (instance)
Writer: (setf grammar-derives-epsilon) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

derives-epsilon.

Reader: grammar-derives-first (instance)
Writer: (setf grammar-derives-first) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

derives-first.

Reader: grammar-derives-first-terminal (instance)
Writer: (setf grammar-derives-first-terminal) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

derives-first-terminal.

Function: grammar-discard-memos (grammar)
Package

jsyacc.

Source

jsyacc.lisp.

Function: grammar-epsilon-productions (grammar)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: grammar-name (instance)
Writer: (setf grammar-name) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

name.

Function: grammar-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: grammar-precedence (instance)
Writer: (setf grammar-precedence) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

precedence.

Reader: grammar-productions (instance)
Writer: (setf grammar-productions) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

productions.

Function: grammar-symbols (grammar)

The set of symbols (both terminal and nonterminal) of GRAMMAR.

Package

jsyacc.

Source

jsyacc.lisp.

Reader: grammar-terminals (instance)
Writer: (setf grammar-terminals) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

terminals.

Function: handle-conflict (a1 a2 grammar action-productions id s &optional muffle-conflicts)

Decide what to do with a conflict between A1 and A2 in state ID on symbol S. Returns three actions: the chosen action, the number of new sr and rr.

Package

jsyacc.

Source

jsyacc.lisp.

Function: idempotent-expression-p (elm)

Return true if ELM is an ’idempotent expression’, ie one which it is safe to add repetitions of

Package

js-parser.

Source

js-source-model.lisp.

Function: import-decl-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf import-decl-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: import-decl-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf import-decl-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: import-decl-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: import-decl-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf import-decl-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: import-decl-type-symbol (instance)
Writer: (setf import-decl-type-symbol) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

type-symbol.

Reader: import-decl-uripath (instance)
Writer: (setf import-decl-uripath) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

uripath.

Function: item-action (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-action-form (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-derives (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-dot-left (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-dot-right (item &optional n)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-dot-right-p (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-dot-symbol (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-equal-p (i1 i2)

Equality predicate for LR(0) items.

Package

jsyacc.

Source

jsyacc.lisp.

Reader: item-lookahead (instance)
Writer: (setf item-lookahead) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

lookahead.

Reader: item-lookaheads (instance)
Writer: (setf item-lookaheads) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

lookaheads.

Function: item-lr1-equal-p (i1 i2)

Equality predicate for LR(1) items.

Package

jsyacc.

Source

jsyacc.lisp.

Function: item-lr1-hash-value (item)

Returns an object suitable for keying associations of LR1-items.

Package

jsyacc.

Source

jsyacc.lisp.

Function: item-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: item-position (instance)
Writer: (setf item-position) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

position.

Reader: item-production (instance)
Writer: (setf item-production) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

production.

Function: item-set-equal-p (c1 c2)

Equality predicate for sorted sets of LR(0) items.

Package

jsyacc.

Source

jsyacc.lisp.

Function: item-shift (item &optional n)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item-symbol (item)
Package

jsyacc.

Source

jsyacc.lisp.

Function: item< (i1 i2)

Total strict order on LR(0) items.

Package

jsyacc.

Source

jsyacc.lisp.

Function: items-closure (items grammar)

Compute the closure of a set of LR(1) items.

Package

jsyacc.

Source

jsyacc.lisp.

Reader: kernel-gotos (instance)
Writer: (setf kernel-gotos) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

gotos.

Reader: kernel-id (instance)
Writer: (setf kernel-id) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

id.

Function: kernel-item (kernel)

The item in a singleton set of items.

Package

jsyacc.

Source

jsyacc.lisp.

Reader: kernel-items (instance)
Writer: (setf kernel-items) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

items.

Function: kernel-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: line-terminator-p (c)

Return non-NIL if C is a line-terminator character according to the Javascript spec

Package

js-parser.

Source

lex-javascript.lisp.

Function: lr0-item-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-add (item collection)

Add ITEM to COLLECTION.

Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-add-collection (items collection)

Add all the elements of ITEMS to COLLECTION.

Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-collection-empty-p (collection)
Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-find (item collection)

Find an LR(1) item equal to ITEM in COLLECTION, or NIL.

Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-item-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Function: lr1-item-shift (item &optional n)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-accept-action (&key)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-continuation-call (&key label start end fn args)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-continuation-function (&key label start end name parameters body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-error-action (&key)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-expression (&key label start end)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-goto (symbol target)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-hash-table-from-lr1-list (l)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-item (production position)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-kernel (items &optional kernels)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-lexer-function (lexer)

Returns a function of 0 arguments that calls NEXT-TOKEN on LEXER whenever it is called. This is normally the function that gets passed into a parser.

Package

js-parser.

Source

lex-javascript.lisp.

Function: make-lr1-collection (&optional same-kind-as)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-lr1-item (production position lookahead)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-reduce-action (symbol length &key action action-form)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-shift-action (state)
Package

jsyacc.

Source

jsyacc.lisp.

Function: make-thunk-function (&key label start end name parameters body)
Package

js-parser.

Source

js-source-model.lisp.

Function: make-token (&key terminal value start end)
Package

js-parser.

Source

lex-javascript.lisp.

Function: make-var-init (var-name init-value)

Create a VAR-DECL-STATEMENT that initializes a variable named VAR-NAME to INIT-VALUE

Package

js-parser.

Source

js-source-model.lisp.

Function: map-lr1-collection (f collection)

Apply F to all elements of COLLECTION.

Package

jsyacc.

Source

jsyacc.lisp.

Function: maptree (fn tree)

MAPTREE maps a function over a tree of cons cells.
If TREE is NIL, returns NIL.
If TREE is a cons cell, recursively calls MAPTREE on the CAR and CDR and returns a new cons cell whose CAR and CDR are the results.
Otherwise, returns the result of applying FN to TREE.

Package

js-parser.

Source

general-utilities.lisp.

Function: memq (item list)

MEMBER :TEST #’EQ

Package

jsyacc.

Source

jsyacc.lisp.

Function: next-token (lexer)

Returns a token structure containing the next token in the lexing operation represented by LEXER. This token will have a terminal of NIL at end of stream. The next token will be fetched from the unget-stack if that stack is non-empty.

Package

js-parser.

Source

lex-javascript.lisp.

Function: number-kernels (kernels)

Set a unique ID for all kernels in KERNELS.

Package

jsyacc.

Source

jsyacc.lisp.

Function: parse-file (path)

Load the file at PATH and parse it into a js/jw source model

Package

js-parser.

Source

parse-javascript.lisp.

Function: parse-grammar (forms)
Package

jsyacc.

Source

jsyacc.lisp.

Function: parse-javascript-integer (integer-str &key start end)

Parse integer literals, taking account of 0x and 0 radix-specifiers

Package

js-parser.

Source

lex-javascript.lisp.

Function: parse-production (form)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: parser-action (instance)
Writer: (setf parser-action) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

action.

Reader: parser-goto (instance)
Writer: (setf parser-goto) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

goto.

Function: parser-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: parser-states (instance)
Writer: (setf parser-states) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

states.

Function: pathnames-equal (path1 path2)

Return non-NIL if PATH1 and PATH2 are equivalent. This function avoids some of the
complexity that pathnames can entail by comparing the namestrings of the two paths
rather than the paths themselves. That way we don’t have to worry about spurious distinctions between :UNSPECIFIED and NIL, :NEWEST and NIL and some actual version number, etc.

Package

js-parser.

Source

general-utilities.lisp.

Function: position-to-line/column (text index)

Returns a cons cell containing the 1-based row and column for the character at INDEX in TEXT.

Package

js-parser.

Source

lex-javascript.lisp.

Function: postpend (list-arg atom-arg)

Appends a list containing ATOM-ARG to LIST-ARG. eg: (POSTPEND ’(1 2) 3) ===> ’(1 2 3)

Package

js-parser.

Source

general-utilities.lisp.

Function: prefix-p (string prefix)

return: whether prefix is a prefix of the string.

Package

js-parser.

Source

general-utilities.lisp.

Function: print-action (a s d)
Package

jsyacc.

Source

jsyacc.lisp.

Function: print-derives-epsilon (grammar &optional stream)
Package

jsyacc.

Source

jsyacc.lisp.

Function: print-first-terminals (grammar &optional stream)

Print FIRST (without epsilon) for all symbols of GRAMMAR.

Package

jsyacc.

Source

jsyacc.lisp.

Function: print-goto-graph (kernels &optional stream)

Print the goto graph defined by KERNELS.

Package

jsyacc.

Source

jsyacc.lisp.

Function: print-item (i s d)
Package

jsyacc.

Source

jsyacc.lisp.

Function: print-kernel (k s d)
Package

jsyacc.

Source

jsyacc.lisp.

Function: print-production (p s d)
Package

jsyacc.

Source

jsyacc.lisp.

Function: print-states (kernels lookaheads &optional stream)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: production-action (instance)
Writer: (setf production-action) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

action.

Reader: production-action-form (instance)
Writer: (setf production-action-form) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

action-form.

Reader: production-derives (instance)
Writer: (setf production-derives) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

derives.

Function: production-equal-p (p1 p2)

Equality predicate for productions within a single grammar

Package

jsyacc.

Source

jsyacc.lisp.

Reader: production-id (instance)
Writer: (setf production-id) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

id.

Function: production-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: production-symbol (instance)
Writer: (setf production-symbol) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

symbol.

Function: production< (p1 p2)

Total order on productions within a single grammar

Package

jsyacc.

Source

jsyacc.lisp.

Function: push-token (lexer token &optional encountered-line-terminator)

Push a token onto the top of LEXER’s unget stack. The next token fetched by NEXT-TOKEN will be the pushed token. The state of the ENCOUNTERED-LINE-TERMINATOR flag is also saved and will be restored by the next NEXT-TOKEN call.

Package

js-parser.

Source

lex-javascript.lisp.

Function: re-cond-clause (string start block-name clause)
Package

js-parser.

Source

lexer-macros.lisp.

Function: read-asdf-component-text (component-path)

Returns the contents of a file that is a component of a currently-loaded asdf system. COMPONENT-PATH is a path describing the location of the component to read. It should have at least 2 elements.
The first element is a symbol naming a system.
The last element is a string naming a component.
There may be intermediate strings naming intermediate modules. Eg:

(:JS-ON-CL-TESTS "tests" "test-cps-transformation")

names the test-cps-transformation component, which is part of the tests module, which is part of the :JS-ON-CL-TESTS system.

Package

js-parser.

Source

general-utilities.lisp.

Function: read-entire-file (path)

Reads the entire contents of the file located at PATH and returns it as a string

Package

js-parser.

Source

general-utilities.lisp.

Reader: reduce-action-action (instance)
Writer: (setf reduce-action-action) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

action.

Reader: reduce-action-action-form (instance)
Writer: (setf reduce-action-action-form) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

action-form.

Reader: reduce-action-length (instance)
Writer: (setf reduce-action-length) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

length.

Function: reduce-action-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: reduce-action-symbol (instance)
Writer: (setf reduce-action-symbol) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

symbol.

Function: relative-first (s a grammar &optional seen)

Union of FIRST(eta) for all the eta s.t. S rm->* Aeta.

Package

jsyacc.

Source

jsyacc.lisp.

Function: relative-first-sequence (s a grammar &optional seen)

Sequence version of RELATIVE-FIRST.

Package

jsyacc.

Source

jsyacc.lisp.

Function: remove-handler-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf remove-handler-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: remove-handler-handler (instance)
Writer: (setf remove-handler-handler) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

handler.

Function: remove-handler-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf remove-handler-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: remove-handler-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: remove-handler-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf remove-handler-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: remove-handler-thunk-body (instance)
Writer: (setf remove-handler-thunk-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

thunk-body.

Function: replace-special-variables (leaf)

Replace $$n with (token-value (nth n-1 expr)) and $n with (nth n-1 expr)

Package

js-parser.

Source

parse-javascript-yacc.lisp.

Function: required-argument ()
Package

jsyacc.

Source

jsyacc.lisp.

Reader: resume-statement-arg (instance)
Writer: (setf resume-statement-arg) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

arg.

Function: resume-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf resume-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: resume-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf resume-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: resume-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: resume-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf resume-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: resume-statement-target (instance)
Writer: (setf resume-statement-target) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Target Slot

target.

Function: sequence-derives-epsilon (sequence grammar)

Sequence version of DERIVES-EPSILON*.

Package

jsyacc.

Source

jsyacc.lisp.

Function: sequence-derives-first (sequence grammar &optional seen)

Sequence version of DERIVES-FIRST.

Package

jsyacc.

Source

jsyacc.lisp.

Function: sequence-derives-first-terminal (sequence grammar &optional seen)

Sequence version of DERIVES-FIRST-TERMINAL.

Package

jsyacc.

Source

jsyacc.lisp.

Function: sequence-first (s grammar)

FIRST(s).

Package

jsyacc.

Source

jsyacc.lisp.

Function: sequence-first-terminals (s grammar)

Sequence version of FIRST-TERMINALS.

Package

jsyacc.

Source

jsyacc.lisp.

Function: set-cursor (lexer new-pos)

Sets the cursor of the lexer to the position specified by NEW-POS

Package

js-parser.

Source

lex-javascript.lisp.

Function: shift-action-p (object)
Package

jsyacc.

Source

jsyacc.lisp.

Reader: shift-action-state (instance)
Writer: (setf shift-action-state) (instance)
Package

jsyacc.

Source

jsyacc.lisp.

Target Slot

state.

Function: single-statement (&rest elm-arguments)

Takes a list of source elements and distills them into a single statement. If there is only one statement once all the lists have been flattened and the statement-blocks pulled apart, then returns that single statement. Otherwise, wraps the entire flattened sequence in a statement-block.

Package

js-parser.

Source

js-source-model.lisp.

Function: suspend-statement-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf suspend-statement-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: suspend-statement-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf suspend-statement-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: suspend-statement-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: suspend-statement-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf suspend-statement-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: terminal-p (symbol grammar)
Package

jsyacc.

Source

jsyacc.lisp.

Function: thunk-function-body (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-body) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-end (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-end) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-name (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-name) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-p (object)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-parameters (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-parameters) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: thunk-function-start (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf thunk-function-start) (instance)
Package

js-parser.

Source

js-source-model.lisp.

Reader: token-end (instance)
Writer: (setf token-end) (instance)
Package

js-parser.

Source

lex-javascript.lisp.

Target Slot

end.

Function: token-p (object)
Package

js-parser.

Source

lex-javascript.lisp.

Reader: token-start (instance)
Writer: (setf token-start) (instance)
Package

js-parser.

Source

lex-javascript.lisp.

Target Slot

start.

Reader: token-terminal (instance)
Writer: (setf token-terminal) (instance)
Package

js-parser.

Source

lex-javascript.lisp.

Target Slot

terminal.

Reader: token-value (instance)
Writer: (setf token-value) (instance)
Package

js-parser.

Source

lex-javascript.lisp.

Target Slot

value.

Function: unescape-regexp (re-string)
Package

js-parser.

Source

lex-javascript.lisp.

Function: unescape-string-literal-value (value)

Given the inside of a string literal with escaped characters like ’, newlines, etc. returns a decoded value.

Package

js-parser.

Source

lex-javascript.lisp.

Function: with-label (instance)
Package

js-parser.

Source

js-source-model.lisp.

Function: (setf with-label) (instance)
Package

js-parser.

Source

js-source-model.lisp.


5.2.4 Generic functions

Generic Reader: channel-name (condition)
Generic Writer: