Unfancy JavaScript
Go to file
Simon Lydell 57f5297714 Handle very large hexadecimal number literals correctly
Very large decimal number literals, binary number literals and octal
literals are lexed into an INFINITY token (instead of a NUMBER token)
and compiled into `2e308`. That is is supposed to be the case for very
large hexdecimal dumber literals as well, but previously wasn't.

Before:

    $ node -p 'require("./").tokens(`0x${Array(256 + 1).join("f")}`)[0][0]'
    NUMBER

After:

    $ node -p 'require("./").tokens(`0x${Array(256 + 1).join("f")}`)[0][0]'
    INFINITY

This commit also cleans up `numberToken` in lexer.coffee a bit.
2016-09-26 16:33:57 +02:00
bin Moved src/*.coffee under src/coffee-script/ so that lib can be added to $NODE_PATH and only expose the top-level coffee-script namespace. Fixes #1246 2011-07-05 21:58:04 +10:00
documentation Update the changelog for 1.11.0 2016-09-26 15:09:53 +02:00
examples Ensure that all source files end with a single `\n` 2015-09-03 19:20:12 +02:00
extras CoffeeScript 1.11.0 2016-09-24 14:16:00 +02:00
lib/coffee-script Handle very large hexadecimal number literals correctly 2016-09-26 16:33:57 +02:00
src Handle very large hexadecimal number literals correctly 2016-09-26 16:33:57 +02:00
test Fix `isLiteralArguments` 2016-09-26 15:33:44 +02:00
.gitignore ignore litcoffee files 2012-09-25 17:50:04 -05:00
CNAME Ensure that all source files end with a single `\n` 2015-09-03 19:20:12 +02:00
CONTRIBUTING.md Ensure that all source files end with a single `\n` 2015-09-03 19:20:12 +02:00
Cakefile Add modules documentation (#4309) 2016-09-18 20:54:44 +02:00
LICENSE Fixed copyright range to be updated to 2015 2015-02-08 11:28:51 -08:00
README.md Add link of changelog 2015-02-21 13:59:35 -05:00
bower.json CoffeeScript 1.11.0 2016-09-24 14:16:00 +02:00
index.html Update the changelog for 1.11.0 2016-09-26 15:09:53 +02:00
package.json Replace .npmignore with `"files": [...]` in package.json 2016-09-24 14:26:46 +02:00
register.js fix auto and manual require.extensions registration; ref #3141 2013-12-08 14:19:10 -06:00
repl.js Export the CoffeeScript REPL. 2014-04-18 08:26:51 -05:00

README.md

        {
     }   }   {
    {   {  }  }
     }   }{  {
    {  }{  }  }                    _____       __  __
   { }{ }{  { }                   / ____|     / _|/ _|
 .- { { }  { }} -.               | |     ___ | |_| |_ ___  ___
(  { } { } { } }  )              | |    / _ \|  _|  _/ _ \/ _ \
|`-..________ ..-'|              | |___| (_) | | | ||  __/  __/
|                 |               \_____\___/|_| |_| \___|\___|
|                 ;--.
|                (__  \            _____           _       _
|                 | )  )          / ____|         (_)     | |
|                 |/  /          | (___   ___ _ __ _ _ __ | |_
|                 (  /            \___ \ / __| '__| | '_ \| __|
|                 |/              ____) | (__| |  | | |_) | |_
|                 |              |_____/ \___|_|  |_| .__/ \__|
 `-.._________..-'                                  | |
                                                    |_|

CoffeeScript is a little language that compiles into JavaScript.

Installation

If you have the node package manager, npm, installed:

npm install -g coffee-script

Leave off the -g if you don't wish to install globally. If you don't wish to use npm:

git clone https://github.com/jashkenas/coffeescript.git
sudo coffeescript/bin/cake install

Getting Started

Execute a script:

coffee /path/to/script.coffee

Compile a script:

coffee -c /path/to/script.coffee

For documentation, usage, and examples, see: http://coffeescript.org/

To suggest a feature or report a bug: http://github.com/jashkenas/coffeescript/issues

If you'd like to chat, drop by #coffeescript on Freenode IRC.

The source repository: https://github.com/jashkenas/coffeescript.git

Changelog: http://coffeescript.org/#changelog

Our lovely and talented contributors are listed here: http://github.com/jashkenas/coffeescript/contributors