diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 00000000000..ba369d30c07 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +jet \ No newline at end of file diff --git a/.idea/ant.xml b/.idea/ant.xml new file mode 100644 index 00000000000..2581ca3fe84 --- /dev/null +++ b/.idea/ant.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 00000000000..a1b41c52c72 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 00000000000..3572571ad83 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 00000000000..e206d70d859 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 00000000000..6159fa0c023 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,30 @@ + + + + + + + + http://www.w3.org/1999/xhtml + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 00000000000..4c925202c69 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 00000000000..3b000203088 --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 00000000000..275077f8255 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/idea/idea.iml b/idea/idea.iml new file mode 100644 index 00000000000..60a321a1ac4 --- /dev/null +++ b/idea/idea.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/idea/src/org/jetbrains/jet/lexer/Jet.flex b/idea/src/org/jetbrains/jet/lexer/Jet.flex new file mode 100644 index 00000000000..c6377c9d7b6 --- /dev/null +++ b/idea/src/org/jetbrains/jet/lexer/Jet.flex @@ -0,0 +1,234 @@ +/* It's an automatically generated code. Do not modify it. */ +package org.jetbrains.jet.lexer; + +import com.intellij.lexer.*; +import com.intellij.psi.*; +import com.intellij.psi.tree.IElementType; + + +%% + +%unicode +%class _JetLexer +%implements FlexLexer +%function advance +%type IElementType +%eof{ return; +%eof} + +DIGIT=[0-9] +HEX_DIGIT=[0-9A-Fa-f] +WHITE_SPACE_CHAR=[\ \n\t\f] +BINARY_DIGIT=[0-1] + +IDENTIFIER=[:jletter:] [:jletterdigit:]* + +EOL_ESC=\\[\ \t]*\n +NON_EOL=[^\n]|{EOL_ESC} + +BLOCK_COMMENT=("/*" {COMMENT_TAIL})|"/*" +COMMENT_TAIL=([^"*"]*("*"+[^"*""/"])?)*("*"+"/")? +EOL_COMMENT="/""/"{NON_EOL}* + +INTEGER_LITERAL=({DECIMAL_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}|{BINARY_INTEGER_LITERAL}) +DECIMAL_INTEGER_LITERAL=(0|([1-9]({DIGIT})*)) +HEX_INTEGER_LITERAL=0[Xx]({HEX_DIGIT})* +BINARY_INTEGER_LITERAL=0[Bb]({BINARY_DIGIT})+ + +FLOAT_LITERAL=(({FLOATING_POINT_LITERAL1})[Ff])|(({FLOATING_POINT_LITERAL2})[Ff])|(({FLOATING_POINT_LITERAL3})[Ff])|(({FLOATING_POINT_LITERAL4})[Ff]) +DOUBLE_LITERAL=(({FLOATING_POINT_LITERAL1})[Ll]?)|(({FLOATING_POINT_LITERAL2})[Ll]?)|(({FLOATING_POINT_LITERAL3})[Ll]?)|(({FLOATING_POINT_LITERAL4})[Ll]) +FLOATING_POINT_LITERAL1=({DIGIT})+"."({DIGIT})*({EXPONENT_PART})? +FLOATING_POINT_LITERAL2="."({DIGIT})+({EXPONENT_PART})? +FLOATING_POINT_LITERAL3=({DIGIT})+({EXPONENT_PART}) +FLOATING_POINT_LITERAL4=({DIGIT})+ +EXPONENT_PART=[Ee]["+""-"]?({DIGIT})* +HEX_FLOAT_LITERAL={HEX_SIGNIFICANT}{BINARY_EXPONENT}[Ff] +HEX_DOUBLE_LITERAL={HEX_SIGNIFICANT}{BINARY_EXPONENT}[Ll]? +BINARY_EXPONENT=[Pp][+-]?{DIGIT}+ +HEX_SIGNIFICANT={HEX_INTEGER_LITERAL}|{HEX_INTEGER_LITERAL}.|0[Xx]{HEX_DIGIT}*.{HEX_DIGIT}+ + +CHARACTER_LITERAL=[L]?"'"([^\\\'\n]|{ESCAPE_SEQUENCE})*("'"|\\)? +STRING_LITERAL=\"([^\\\"\n]|{ESCAPE_SEQUENCE})*(\"|\\)? +ESCAPE_SEQUENCE=\\[^\n]|{EOL_ESC} + +NON_EOL_WS=[\ \t]|{EOL_ESC} +PRP=# {NON_EOL_WS}* + +DIRECTIVE_CONTENT=({NON_EOL}|{BLOCK_COMMENT})* + +%state DIRECTIVE + +%% + + + {BLOCK_COMMENT} { return OCTokenTypes.BLOCK_COMMENT; } + + {DIRECTIVE_CONTENT} {return OCTokenTypes.DIRECTIVE_CONTENT; } + ({WHITE_SPACE_CHAR}|{EOL_ESC})+ { yybegin(YYINITIAL); return TokenType.WHITE_SPACE; } + + {EOL_COMMENT} { return OCTokenTypes.EOL_COMMENT; } + + {INTEGER_LITERAL} { return OCTokenTypes.INTEGER_LITERAL; } + + {FLOAT_LITERAL} { return OCTokenTypes.FLOAT_LITERAL; } + {HEX_FLOAT_LITERAL} { return OCTokenTypes.FLOAT_LITERAL; } + {DOUBLE_LITERAL} { return OCTokenTypes.FLOAT_LITERAL; } + {HEX_DOUBLE_LITERAL} { return OCTokenTypes.FLOAT_LITERAL; } + + {CHARACTER_LITERAL} { return OCTokenTypes.CHARACTER_LITERAL; } + "@" {STRING_LITERAL} { return OCTokenTypes.NSSTRING_LITERAL; } + {STRING_LITERAL} { return OCTokenTypes.STRING_LITERAL; } + + {PRP} "if" { yybegin(DIRECTIVE); return OCTokenTypes.IF_DIRECTIVE ;} + {PRP} "ifdef" { yybegin(DIRECTIVE); return OCTokenTypes.IFDEF_DIRECTIVE ;} + {PRP} "ifndef" { yybegin(DIRECTIVE); return OCTokenTypes.IFNDEF_DIRECTIVE ;} + {PRP} "elif" { yybegin(DIRECTIVE); return OCTokenTypes.ELIF_DIRECTIVE ;} + {PRP} "else" { yybegin(DIRECTIVE); return OCTokenTypes.ELSE_DIRECTIVE ;} + {PRP} "endif" { yybegin(DIRECTIVE); return OCTokenTypes.ENDIF_DIRECTIVE ;} + {PRP} "include" { yybegin(DIRECTIVE); return OCTokenTypes.INCLUDE_DIRECTIVE;} + {PRP} "include_next" { yybegin(DIRECTIVE); return OCTokenTypes.INCLUDE_NEXT_DIRECTIVE;} + {PRP} "import" { yybegin(DIRECTIVE); return OCTokenTypes.IMPORT_DIRECTIVE ;} + {PRP} "define" { yybegin(DIRECTIVE); return OCTokenTypes.DEFINE_DIRECTIVE ;} + {PRP} "undef" { yybegin(DIRECTIVE); return OCTokenTypes.UNDEF_DIRECTIVE ;} + {PRP} "line" { yybegin(DIRECTIVE); return OCTokenTypes.LINE_DIRECTIVE ;} + {PRP} "error" { yybegin(DIRECTIVE); return OCTokenTypes.ERROR_DIRECTIVE ;} + {PRP} "warning" { yybegin(DIRECTIVE); return OCTokenTypes.WARNING_DIRECTIVE ;} + {PRP} "pragma" { yybegin(DIRECTIVE); return OCTokenTypes.PRAGMA_DIRECTIVE ;} + "#" {IDENTIFIER} { return OCTokenTypes.UNKNOWN_DIRECTIVE; } + + "auto" { return OCTokenTypes.AUTO_KEYWORD; } + "break" { return OCTokenTypes.BREAK_KEYWORD; } + "case" { return OCTokenTypes.CASE_KEYWORD; } + "char" { return OCTokenTypes.CHAR_KEYWORD; } + "continue" { return OCTokenTypes.CONTINUE_KEYWORD; } + "default" { return OCTokenTypes.DEFAULT_KEYWORD; } + "do" { return OCTokenTypes.DO_KEYWORD; } + "double" { return OCTokenTypes.DOUBLE_KEYWORD; } + "else" { return OCTokenTypes.ELSE_KEYWORD; } + "enum" { return OCTokenTypes.ENUM_KEYWORD; } + "extern" { return OCTokenTypes.EXTERN_KEYWORD; } + "float" { return OCTokenTypes.FLOAT_KEYWORD; } + "for" { return OCTokenTypes.FOR_KEYWORD; } + "goto" { return OCTokenTypes.GOTO_KEYWORD; } + "if" { return OCTokenTypes.IF_KEYWORD; } + + "const" { return OCTokenTypes.CONST_KEYWORD; } + "__const" { return OCTokenTypes.CONST_KEYWORD; } + "__const__" { return OCTokenTypes.CONST_KEYWORD; } + + "inline" { return OCTokenTypes.INLINE_KEYWORD; } + "__inline" { return OCTokenTypes.INLINE_KEYWORD; } + "__inline__" { return OCTokenTypes.INLINE_KEYWORD; } + + "signed" { return OCTokenTypes.SIGNED_KEYWORD; } + "__signed" { return OCTokenTypes.SIGNED_KEYWORD; } + "__signed__" { return OCTokenTypes.SIGNED_KEYWORD; } + + "volatile" { return OCTokenTypes.VOLATILE_KEYWORD; } + "__volatile" { return OCTokenTypes.VOLATILE_KEYWORD; } + "__volatile__" { return OCTokenTypes.VOLATILE_KEYWORD; } + + "int" { return OCTokenTypes.INT_KEYWORD; } + "long" { return OCTokenTypes.LONG_KEYWORD; } + "register" { return OCTokenTypes.REGISTER_KEYWORD; } + "restrict" { return OCTokenTypes.RESTRICT_KEYWORD; } + "__strong" { return OCTokenTypes.STRONG_KEYWORD; } + "__weak" { return OCTokenTypes.WEAK_KEYWORD; } + "__block" { return OCTokenTypes.BLOCK_KEYWORD; } + "return" { return OCTokenTypes.RETURN_KEYWORD; } + "short" { return OCTokenTypes.SHORT_KEYWORD; } + "sizeof" { return OCTokenTypes.SIZEOF_KEYWORD; } + "__alignof__" { return OCTokenTypes.ALIGNOF_KEYWORD; } + "__typeof__" { return OCTokenTypes.TYPEOF_KEYWORD; } + "static" { return OCTokenTypes.STATIC_KEYWORD; } + "struct" { return OCTokenTypes.STRUCT_KEYWORD; } + "switch" { return OCTokenTypes.SWITCH_KEYWORD; } + "typedef" { return OCTokenTypes.TYPEDEF_KEYWORD; } + "union" { return OCTokenTypes.UNION_KEYWORD; } + "unsigned" { return OCTokenTypes.UNSIGNED_KEYWORD; } + "void" { return OCTokenTypes.VOID_KEYWORD; } + "while" { return OCTokenTypes.WHILE_KEYWORD; } + "_Bool" { return OCTokenTypes._BOOL_KEYWORD; } + "_Complex" { return OCTokenTypes._COMPLEX_KEYWORD; } + "_Imaginary" { return OCTokenTypes._IMAGINARY_KEYWORD; } + "__attribute__" { return OCTokenTypes.__ATTRIBUTE_KEYWORD; } + "__asm" { return OCTokenTypes.__ASM_KEYWORD; } + + "@interface" { return OCTokenTypes.INTERFACE_KEYWORD ; } + "@implementation" { return OCTokenTypes.IMPLEMENTATION_KEYWORD; } + "@protocol" { return OCTokenTypes.PROTOCOL_KEYWORD ; } + "@end" { return OCTokenTypes.END_KEYWORD ; } + "@private" { return OCTokenTypes.PRIVATE_KEYWORD ; } + "@protected" { return OCTokenTypes.PROTECTED_KEYWORD ; } + "@public" { return OCTokenTypes.PUBLIC_KEYWORD ; } + "@package" { return OCTokenTypes.PACKAGE_KEYWORD ; } + "@optional" { return OCTokenTypes.OPTIONAL_KEYWORD ; } + "@required" { return OCTokenTypes.REQUIRED_KEYWORD ; } + "@try" { return OCTokenTypes.TRY_KEYWORD ; } + "@throw" { return OCTokenTypes.THROW_KEYWORD ; } + "@catch" { return OCTokenTypes.CATCH_KEYWORD ; } + "@finally" { return OCTokenTypes.FINALLY_KEYWORD ; } + "@class" { return OCTokenTypes.CLASS_KEYWORD ; } + "@selector" { return OCTokenTypes.SELECTOR_KEYWORD ; } + "@encode" { return OCTokenTypes.ENCODE_KEYWORD ; } + "@synchronized" { return OCTokenTypes.SYNCHRONIZED_KEYWORD ; } + "@property" { return OCTokenTypes.PROPERTY_KEYWORD ; } + "@synthesize" { return OCTokenTypes.SYNTHESIZE_KEYWORD ; } + "@dynamic" { return OCTokenTypes.DYNAMIC_KEYWORD ; } + "@" {IDENTIFIER} { return OCTokenTypes.UNKNOWN_AT_KEYWORD ; } + + {IDENTIFIER} { return OCTokenTypes.IDENTIFIER; } + + "[" { return OCTokenTypes.LBRACKET ; } + "]" { return OCTokenTypes.RBRACKET ; } + "{" { return OCTokenTypes.LBRACE ; } + "}" { return OCTokenTypes.RBRACE ; } + "(" { return OCTokenTypes.LPAR ; } + ")" { return OCTokenTypes.RPAR ; } + "." { return OCTokenTypes.DOT ; } + "->" { return OCTokenTypes.DEREF ; } + "++" { return OCTokenTypes.PLUSPLUS ; } + "--" { return OCTokenTypes.MINUSMINUS; } + "&" { return OCTokenTypes.AND ; } + "*" { return OCTokenTypes.MUL ; } + "+" { return OCTokenTypes.PLUS ; } + "-" { return OCTokenTypes.MINUS ; } + "~" { return OCTokenTypes.TILDE ; } + "!" { return OCTokenTypes.EXCL ; } + "/" { return OCTokenTypes.DIV ; } + "%" { return OCTokenTypes.PERC ; } + "<<" { return OCTokenTypes.LTLT ; } + ">>" { return OCTokenTypes.GTGT ; } + "<" { return OCTokenTypes.LT ; } + ">" { return OCTokenTypes.GT ; } + "<=" { return OCTokenTypes.LTEQ ; } + ">=" { return OCTokenTypes.GTEQ ; } + "==" { return OCTokenTypes.EQEQ ; } + "!=" { return OCTokenTypes.EXCLEQ ; } + "^" { return OCTokenTypes.XOR ; } + "|" { return OCTokenTypes.OR ; } + "&&" { return OCTokenTypes.ANDAND ; } + "||" { return OCTokenTypes.OROR ; } + "?" { return OCTokenTypes.QUEST ; } + ":" { return OCTokenTypes.COLON ; } + ";" { return OCTokenTypes.SEMICOLON ; } + "..." { return OCTokenTypes.ELLIPSIS ; } + "=" { return OCTokenTypes.EQ ; } + "*=" { return OCTokenTypes.MULTEQ ; } + "/=" { return OCTokenTypes.DIVEQ ; } + "%=" { return OCTokenTypes.PERCEQ ; } + "+=" { return OCTokenTypes.PLUSEQ ; } + "-=" { return OCTokenTypes.MINUSEQ ; } + "<<=" { return OCTokenTypes.LTLTEQ ; } + ">>=" { return OCTokenTypes.GTGTEQ ; } + "&=" { return OCTokenTypes.ANDEQ ; } + "^=" { return OCTokenTypes.XOREQ ; } + "|=" { return OCTokenTypes.OREQ ; } + "," { return OCTokenTypes.COMMA ; } + "#" { return OCTokenTypes.HASH ; } + "<#" { return OCTokenTypes.TEMPLATE_START_MARK; } + "#>" { return OCTokenTypes.TEMPLATE_STOP_MARK; } + "##" { return OCTokenTypes.HASHHASH ; } + + . { yybegin(YYINITIAL); return TokenType.BAD_CHARACTER; } +