    // TypeScript React

    /** @author Willy <willy@wmail.com>
      * @url https://reactjs.org/ **/

    import React from 'react';
    import { PhotoStory, VideoStory } from './stories';

    function Story(props) {
      const SpecificStory = components[props.storyType];
      return <SpecificStory story={ props.story } attr2="&ref;" attr3="Hello\n" />;
    }

    function
    <Tag attr1={ <tag/> function <noTag/> return class var 0x123 { } &noRef; hello() React.Component() } attr2="&ref;">
    	/* no comment*/ function <tag/> return class var 0x123 &ref; hello() React.Component()
    	.<tag/> anyWord <tag/>
    	{ function <tag> return class var 0x123 hello() React.Component() }
    </Tag>

    <tag1> </tag1>
    <tag1> </Tag$>
    <Tag$> </tag>

    <tag/*comment*/attr1/*comment*/= /*comment*/"value"/*comment*/attr2 /*comment*/attr3='a' key/*comment*/key2 />

    // Detect Valid tags

    /* comment */ <tag></tag>
    { /* comment
    	*/ <Tag />
    	word <noTag/> . <noTag/> } <noTag/>
    return /* comment
    	multiline */ <tag/> /* comment */ <Tag/>
    && /*comment*/ <Tag/>
    & /*comment*/ <noTag/>

      <tag/>
    { <hello>Hello</hello> }
    ?<Tag />;
    [ <tag />  ( <tag />
    ,<Tag/>    =<Tag/>
    &&<tag/>   ||<tag/>
    return <tag/> ;
    default<tag/> ;
    <Tag> <tag> <tag$/> </tag> return </Tag>

    anyWord<noTag>
    anyWord/*comment*/ <noTag/>
    .<noTag>
    &<notag> | <noTag/>
    % /* comment*/ <noTag/>

    annotation: <tag/>
    annotation: text [ <tag/> ]
    console.log("hello")