Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 4.0 #1838

Closed
wants to merge 102 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
102 commits
Select commit Hold shift + click to select a range
c64e638
Adjust the error message for missing const initializer
ariya Sep 9, 2016
cf75048
Downstream test: another attempt to workaround recast test
ariya Sep 10, 2016
1fe4d8d
Test infra: drop support for io.js, Node.js v0.12 and v5
ariya Sep 10, 2016
89f4ed5
Downstream test: add AssetGraph
ariya Sep 11, 2016
8badd1d
Adjust the error message for disallowed bound name
ariya Sep 12, 2016
15fec5c
Do not implicitly collect comments when comment attachment is specified
ariya Sep 13, 2016
a5af995
Travis CI: include nvm alias for the current stable Node.js
ariya Sep 15, 2016
3635795
Prohibit assignment initialization in a for-in/for-of statement
ariya Sep 14, 2016
a7a9eec
Prohibit declaration initializer in a for-in statement.
ariya Sep 17, 2016
35e097d
Support ES2017 trailing commas in function parameter lists and calls
ariya Sep 20, 2016
907d9e0
Improve class declaration parsing for the default export
ariya Sep 28, 2016
f58c9ba
Update various dependencies
ariya Sep 30, 2016
98fe431
Use TypeScript 2.0
ariya Sep 29, 2016
1e7f996
Explicitly distinguish parsing a module vs a script
ariya Oct 3, 2016
aa31662
Fix incorrect parsing of export specifier
ariya Oct 4, 2016
66407e1
Remove unnecessary `operator` property in assignment pattern
ariya Oct 5, 2016
54d8481
Rename parseNonComputedProperty to parseIdentifierName
ariya Oct 6, 2016
7dba604
Update references to ECMA-262 7th edition
ariya Oct 7, 2016
b8714e6
Update ChangeLog for 3.1.0
ariya Oct 7, 2016
51f48de
Mark the master branch as version 4.0.0-dev
ariya Oct 11, 2016
e75d8c8
Test fixture: simplify module parsing
ariya Oct 15, 2016
92bccda
Introduce `async` property to function nodes
ariya Oct 20, 2016
c634d6f
ES2017: Async function and await expression
ariya Oct 23, 2016
519345c
Update TypeScript-related dependencies
ariya Oct 30, 2016
10eca1f
Detect hex digits correctly
ariya Oct 30, 2016
cfd8eba
Properly reset cover grammar handling
ariya Oct 30, 2016
e778095
Do not duplicate JSX tokens
ariya Nov 3, 2016
d044f5b
Ensure that import specifier is more restrictive
ariya Nov 4, 2016
5296b84
ES2017 trailing comma in the parameter of arrow function expression
ariya Nov 6, 2016
921b2f9
Update copyright notice
ariya Nov 6, 2016
731f276
Scan template literal in a JSX expression container
ariya Nov 12, 2016
31189be
Update various dependencies
ariya Nov 14, 2016
9d83d91
Improve XHTML entity scanning in JSX
ariya Nov 21, 2016
1c97d55
ES2017: Handle literal property names for async method
ariya Nov 30, 2016
d6ce054
ES2017: Handle non-identifier async method name for class element
ariya Dec 2, 2016
7219731
Async constructor error message should follow V8
ariya Dec 3, 2016
df87bf0
Upgrade to TSLint 4
ariya Dec 4, 2016
4dcea61
Remove incorrect test (already covered by `update_exp.js`)
ariya Dec 7, 2016
fa8b9ad
Limit function declaration as if statement clause only in non-strict …
ariya Dec 7, 2016
c347dd1
Downstream test: add envify
ariya Dec 8, 2016
a3b4eb2
Update various dependencies
ariya Dec 9, 2016
9d9aadb
Downstream test: temporarily workaround AssetGraph linting issue
ariya Dec 11, 2016
84f394d
Prohibit labelled class/generator/function declaration
ariya Dec 10, 2016
4bd7462
Account for different possible arguments of a yield expression
ariya Dec 9, 2016
b00dbbe
Sort error messages in messages.ts alphabetically
ariya Dec 12, 2016
9e288fc
Only permit hex digits in hex escape sequence
ariya Dec 13, 2016
26833ed
Ensure that all *.js files are using LF as the line ending
ariya Dec 14, 2016
e2e87ce
Remove .gitattributes since it modifies test fixtures
ariya Dec 14, 2016
3b2a46f
Update ChangeLog for 3.1.1
ariya Oct 31, 2016
7f7f2e1
Update ChangeLog for 3.1.2
ariya Nov 23, 2016
f50573e
Downstream test: revert AssetGraph workaround
ariya Dec 16, 2016
721a8dd
Prohibit any escape sequence in a reserved word
ariya Dec 14, 2016
8391d89
Limit strict mode directive to functions with a simple parameter list
ariya Dec 18, 2016
14c7213
Rest element and rest parameter should include binding patterns
ariya Dec 20, 2016
e8257af
Use the reference to the living ECMA-262 specification
ariya Dec 22, 2016
8060465
Update ChangeLog for 3.1.3
ariya Dec 22, 2016
ad622c8
Adjust the error message for bad getter/setter arity
ariya Dec 22, 2016
08e0b1f
esvalidate: Ensure the consistency of error message
ariya Dec 23, 2016
54bc040
README: Add a link to the complete documentation
ariya Dec 23, 2016
577f61a
Exported async function should be parsed as function declaration
ariya Dec 24, 2016
8bdae74
Setter function argument must not be a rest parameter
ariya Dec 24, 2016
6e2bd28
Tolerate missing ) in a with and do-while statement
ariya Dec 24, 2016
4a5be92
Do not mutate the token object
ariya Dec 31, 2016
0cdc8e0
Use the new `as` syntax for type assertions
ariya Jan 3, 2017
11bb115
Add type annotations to all tokenization-related code
ariya Jan 3, 2017
0e34a1f
Check EOF with the lookahead token
ariya Jan 6, 2017
3213963
Use const enum for the token types
ariya Jan 7, 2017
7e97b10
Save and restore scanner state
ariya Jan 8, 2017
6020314
Do not mutate the token object when constructing a primary expression
ariya Jan 9, 2017
4b0f65e
Simplify handling the marker for node location
ariya Jan 10, 2017
5a46bf8
Support running the tests on Safari Technology Preview
ariya Jan 14, 2017
2e2c420
Detect Microsoft Edge and use it to run the browser tests
ariya Jan 18, 2017
26bcf15
Create the documentation suitable for readthedocs.io
ariya Jan 26, 2017
fe41c43
README: point to the documentation hosted at readthedocs.io (Ref #1477)
ariya Jan 28, 2017
39e1014
Fixed wrong source type in the documentation
sanex3339 Jan 29, 2017
9661b54
Syntax tree format: document async function and await expression
ariya Jan 30, 2017
7d2109b
Fix incorrect detection of async function
ariya Jan 31, 2017
1757559
Documentation: add an example to remove console calls
ariya Feb 1, 2017
2b88a22
Fix the node of the object property key for async function
ariya Feb 5, 2017
0797885
Async arrow function must reinterpret its parameters
ariya Feb 7, 2017
49ac745
Allow async arrow function to accept yield as the parameter
ariya Feb 8, 2017
54213ad
deep clone node when node.shorthand = true
fishbar Jun 6, 2016
58c2bd2
Revert "deep clone node when node.shorthand = true"
ariya Feb 25, 2017
db50f5c
AppVeyor CI: switch from Google Chrome to Chromium
ariya Feb 25, 2017
46e9551
Downstream test: temporarily exclude escope
ariya Feb 27, 2017
e7c4bb7
Add a template for issue reporting
ariya Feb 26, 2017
ea612ca
Update TypeScript-related dependencies
ariya Feb 27, 2017
eab4c1f
Pure tokenizer: simplify the choice of obtaining a new token
ariya Feb 26, 2017
b57c2f4
Use access modifier in the Scanner class
ariya Mar 4, 2017
c5fee53
Fix the documentation for the AST of ForStatement
ariya Mar 23, 2017
f4f22a0
Downstream tests: run them with Node.js v6.1
ariya Mar 26, 2017
211d6c2
Allow JSX element in a yield expression
ariya Mar 28, 2017
93ce59d
Allow `in` expression in a concise body with a function body
ariya Mar 30, 2017
cc95d4c
JSX: Matching a token should not be too strict
ariya Mar 31, 2017
02788f6
Improve error message upon an invalid JSX element
ariya Apr 3, 2017
304ba69
Use const whenever possible
ariya Apr 4, 2017
a8bd8ef
Update TypeScript-related dependencies
ariya Apr 29, 2017
92fac13
Fix the "tokens" and "comment" argument names
syllant May 10, 2017
e3df3f5
Travis CI and AppVeyor: Run with Node.js v8
ariya Jun 6, 2017
0640979
Update README.md to prepare for version 4.0
ariya Jun 8, 2017
d95fac6
Update ChangeLog for 4.0.0
ariya Jun 9, 2017
f597bb1
Stable version 4.0.0
ariya Jun 9, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!--- Provide a summary in the title above. Be concise and specific! -->

<!--
If you are here for reasons other than reporting a defect or suggesting an improvement,
please post to the mailing-list instead: http://groups.google.com/group/esprima.
Do not forget to explore the extensive documentation: http://esprima.org/doc/.

Please report one problem at a time! Refrain from filing a bulk report at once since
it will make it difficult to follow-up and we may have to close the issue.
-->

### Steps to reproduce
<!--- When reporting a defect, specify the scenario that reproduces the problem -->

```js
esprima.parse('some code')
```

### Expected output
<!--- When reporting a defect, write what should happen, e.g. a particular AST output -->
<!--- When suggesting an improvement, describe how it should work -->

### Actual output
<!--- When reporting a defect, write what actually happens instead of the expected behavior -->
<!--- When suggesting an improvement, explain the difference from current behavior -->

### Relevant references
<!--- Optionally, include as many relevant references, e.g. the ECMAScript specification. -->
5 changes: 2 additions & 3 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,7 @@ sudo: false
language: node_js
script: "npm run travis"
node_js:
- iojs
- "0.12"
- "4"
- "5"
- "6"
- "8"
- "node"
41 changes: 41 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,44 @@
2017-06-10: Version 4.0.0

* Support ES2017 async function and await expression (issue 1079)
* Support ES2017 trailing commas in function parameters (issue 1550)
* Explicitly distinguish parsing a module vs a script (issue 1576)
* Fix JSX non-empty container (issue 1786)
* Allow JSX element in a yield expression (issue 1765)
* Allow `in` expression in a concise body with a function body (issue 1793)
* Setter function argument must not be a rest parameter (issue 1693)
* Limit strict mode directive to functions with a simple parameter list (issue 1677)
* Prohibit any escape sequence in a reserved word (issue 1612)
* Only permit hex digits in hex escape sequence (issue 1619)
* Prohibit labelled class/generator/function declaration (issue 1484)
* Limit function declaration as if statement clause only in non-strict mode (issue 1657)
* Tolerate missing ) in a with and do-while statement (issue 1481)

2016-12-22: Version 3.1.3

* Support binding patterns as rest element (issue 1681)
* Account for different possible arguments of a yield expression (issue 1469)

2016-11-24: Version 3.1.2

* Ensure that import specifier is more restrictive (issue 1615)
* Fix duplicated JSX tokens (issue 1613)
* Scan template literal in a JSX expression container (issue 1622)
* Improve XHTML entity scanning in JSX (issue 1629)

2016-10-31: Version 3.1.1

* Fix assignment expression problem in an export declaration (issue 1596)
* Fix incorrect tokenization of hex digits (issue 1605)

2016-10-09: Version 3.1.0

* Do not implicitly collect comments when comment attachment is specified (issue 1553)
* Fix incorrect handling of duplicated proto shorthand fields (issue 1485)
* Prohibit initialization in some variants of for statements (issue 1309, 1561)
* Fix incorrect parsing of export specifier (issue 1578)
* Fix ESTree compatibility for assignment pattern (issue 1575)

2016-09-03: Version 3.0.0

* Support ES2016 exponentiation expression (issue 1490)
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.BSD
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Copyright JS Foundation and other contributors, https://js.foundation/

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down
8 changes: 5 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@ with the help of [many contributors](https://github.com/jquery/esprima/contribut

### Features

- Full support for ECMAScript 2016 ([ECMA-262 7th Edition](http://www.ecma-international.org/publications/standards/Ecma-262.htm))
- Full support for ECMAScript 2017 ([ECMA-262 8th Edition](http://www.ecma-international.org/publications/standards/Ecma-262.htm))
- Sensible [syntax tree format](https://github.com/estree/estree/blob/master/es5.md) as standardized by [ESTree project](https://github.com/estree/estree)
- Experimental support for [JSX](https://facebook.github.io/jsx/), a syntax extension for [React](https://facebook.github.io/react/)
- Optional tracking of syntax node location (index-based and line-column)
- [Heavily tested](http://esprima.org/test/ci.html) (~1300 [unit tests](https://github.com/jquery/esprima/tree/master/test/fixtures) with [full code coverage](https://codecov.io/github/jquery/esprima))
- [Heavily tested](http://esprima.org/test/ci.html) (~1500 [unit tests](https://github.com/jquery/esprima/tree/master/test/fixtures) with [full code coverage](https://codecov.io/github/jquery/esprima))

### API

Expand All @@ -34,11 +34,13 @@ A simple example on Node.js REPL:
{ type: 'Punctuator', value: '=' },
{ type: 'Numeric', value: '42' } ]

> esprima.parse(program);
> esprima.parseScript(program);
{ type: 'Program',
body:
[ { type: 'VariableDeclaration',
declarations: [Object],
kind: 'const' } ],
sourceType: 'script' }
```

For more information, please read the [complete documentation](http://esprima.org/doc).
5 changes: 3 additions & 2 deletions appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
version: "{build}"

environment:
nodejs_version: "6"
nodejs_version: "8"

matrix:
fast_finish: true

install:
- choco install firefox
- choco install googlechrome
- choco install chromium
- ps: Install-Product node $env:nodejs_version
- node --version
- npm --version
- npm install

test_script:
- set CHROME_BIN="C:\Program Files (x86)\Chromium\Application\chrome.exe"
- npm run appveyor

build: off
2 changes: 1 addition & 1 deletion bin/esparse.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/*
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Copyright JS Foundation and other contributors, https://js.foundation/

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down
4 changes: 2 additions & 2 deletions bin/esvalidate.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#!/usr/bin/env node
/*
Copyright (c) jQuery Foundation, Inc. and Contributors, All Rights Reserved.
Copyright JS Foundation and other contributors, https://js.foundation/

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
Expand Down Expand Up @@ -194,7 +194,7 @@ function run(fname, content) {
console.log(' </testcase>');
console.log('</testsuite>');
} else {
console.log('Error: ' + e.message);
console.log(fname + ':' + e.lineNumber + ': ' + e.message.replace(/^Line\ [0-9]*\:\ /, ''));
}
}
}
Expand Down
3 changes: 1 addition & 2 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
machine:
node:
version:
0.12.0
version: 6.1.0
environment:
NO_WATCH_TESTS: 1

Expand Down
183 changes: 183 additions & 0 deletions docs/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
# Makefile for Sphinx documentation
#

# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build

# User-friendly check for sphinx-build
ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
endif

# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .

.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext

help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"

clean:
rm -rf $(BUILDDIR)/*

html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."

singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."

pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."

json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."

htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."

qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Test.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Test.qhc"

devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Test"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Test"
@echo "# devhelp"

epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."

latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."

latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

latexpdfja:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."

text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."

man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."

texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."

info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."

gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."

changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."

linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."

doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."

coverage:
$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
@echo "Testing of coverage in the sources finished, look at the " \
"results in $(BUILDDIR)/coverage/python.txt."

xml:
$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
@echo
@echo "Build finished. The XML files are in $(BUILDDIR)/xml."

pseudoxml:
$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
@echo
@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
20 changes: 20 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@

Unix:
```bash
virtualenv env
source env/bin/activate
pip install -r requirements.txt
cd docs
make html
```

Windows:
```bash
virtualenv env
env\Script\activate
pip install -r requirements.txt
cd docs
make html
```

Open the file `_build/html/index.html` in a web browser.
Binary file added docs/callexpr.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading