UNPKG

motion

Version:

motion - moving development forward

158 lines (154 loc) 2.3 kB
# Copyright 2014, 2015 Simon Lydell # X11 (“MIT”) Licensed. (See LICENSE.) # <http://es5.github.io/#A.1> # <http://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-language-lexical-grammar> # Don’t worry, you don’t need to know CoffeeScript. It is only used for its # readable regex syntax. Everything else is done in JavaScript in index.js. module.exports = /// ( # <string> ([ ' " ]) (?: (?! \2 | \\ ). | \\(?: \r\n | [\s\S] ) )* (\2)? | ` (?: [^ ` \\ $ ] | \\[\s\S] | \$(?!\{) | \$\{ (?: [^{}] | \{ [^}]* \}? )* \}? )* (`)? ) | ( # <comment> //.* ) | ( # <comment> /\* (?: [^*] | \*(?!/) )* ( \*/ )? ) | ( # <regex> /(?!\*) (?: \[ (?: (?![ \] \\ ]). | \\. )* \] | (?![ / \] \\ ]). | \\. )+ / (?: (?! \s* (?: \b | [ \u0080-\uFFFF $ \\ ' " ~ ( { ] | [ + \- ! ](?!=) | \.?\d ) ) | [ g m i y u ]{1,5} \b (?! [ \u0080-\uFFFF $ \\ ] | \s* (?: [ + \- * % & | ^ < > ! = ? ( { ] | /(?! [ / * ] ) ) ) ) ) | ( # <number> (?: 0[xX][ \d a-f A-F ]+ | 0[oO][0-7]+ | 0[bB][01]+ | (?: \d*\.\d+ | \d+\.? # Support one trailing dot for integers only. ) (?: [eE][+-]?\d+ )? ) ) | ( # <name> # See <http://mathiasbynens.be/notes/javascript-identifiers>. (?!\d) (?: (?!\s)[ $ \w \u0080-\uFFFF ] | \\u[ \d a-f A-F ]{4} | \\u\{[ \d a-f A-F ]{1,6}\} )+ ) | ( # <punctuator> -- | \+\+ | && | \|\| | => | \.{3} | (?: [ + \- * / % & | ^ ] | <{1,2} | >{1,3} | !=? | ={1,2} )=? | [ ? : ~ ] | [ ; , . [ \] ( ) { } ] ) | ( # <whitespace> \s+ ) | ( # <invalid> ^$ # Empty. | [\s\S] # Catch-all rule for anything not matched by the above. ) ///g