diff --git a/README.md b/README.md index d465c8e..785ccde 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,12 @@ Plugin page: http://plugins.jetbrains.com/plugin/7558 1. Install next plugins for Intellij * https://plugins.jetbrains.com/plugin/6606-grammar-kit -2. Go to `Zephir.bnf` file and run "Generate parser code" through context menu -3. Go to `src/com/zephir/Zephir.flex` and run "Run JFlex generator" through context menu -4. Run the plugin by Menu -> Run -> Run +2. Go to `Zephir.bnf` file and run "Generate parser code" through context menu +3. Go to `src/com/zephir/lexer/Zephir.flex` and run "Run JFlex generator" through context menu + And specify idea-plugin/lib/ directory to get "lib/jflex-*.jar" file +4. Specify */gen* folder as *source code folder* Menu -> File -> Project Structure... + In *Modules* tab specify */gen* folder as "Source" +5. Run the plugin by Menu -> Run -> Run ## Links diff --git a/resources/META-INF/plugin.xml b/resources/META-INF/plugin.xml index 1a69504..3222e19 100644 --- a/resources/META-INF/plugin.xml +++ b/resources/META-INF/plugin.xml @@ -1,7 +1,7 @@ com.zephir Zephir - 0.3.2-beta3 + 0.3.2 Zephir Team 0.3.2-beta3 Fixed regex recognition bug. Added syntax support for constructions like {var} -
  • 0.3.2-beta2: Improved syntax support. Fixed completion bug when invoking AC in method definition block
  • -
  • 0.3.2-beta1: Introduced class members in completion list
  • +
  • 0.3.2: Completion list now shows members of class. Improved syntax support
  • 0.3.1: Fixed much bugs with syntax recognition, fixed extra space in completion for method params
  • 0.3.0: Fixed many bugs with syntax recognition, added few words to highlight, improved completion
  • 0.2.5: Fixed "switch" keyword detection
  • diff --git a/src/com/zephir/Zephir.bnf b/src/com/zephir/Zephir.bnf index 4f1904e..6e40141 100644 --- a/src/com/zephir/Zephir.bnf +++ b/src/com/zephir/Zephir.bnf @@ -194,7 +194,7 @@ method_definition ::= method_header '(' arguments* ')' return_type? method_body method_modifiers ::= 'static' | 'inline' | 'deprecated' | 'final' method_body ::= code_block -private method_header ::= (visibility method_modifiers* | method_modifiers* visibility ) FUNCTION id +private method_header ::= (visibility | method_modifiers)* FUNCTION id code_block ::= '{' code* '}' {pin=1} return_type ::= '->' (type | 'null') ('|' (type | 'null'))* {pin(".*")=1} @@ -224,6 +224,7 @@ private void_type ::= 'void' code ::= declaration_statement | let_statement | call_statement | + chain_of_call_statement | control_statement | loop_statement | switch_statement | @@ -295,9 +296,12 @@ expr ::= unary_expr | special_group_expr private bool_group_expr ::= bool_expr | ternary_expr | empty_expr | isset_expr | fetch_expr | instanceof_expr -private primary_group_expr ::= static_call_expr | literal_expr | paren_expr | precast_expr | callback_expr | call_expr | clone_expr +private primary_group_expr ::= chain_of_call_expr | static_call_expr | literal_expr | paren_expr | precast_expr | callback_expr | call_expr | clone_expr private special_group_expr ::= new_expr | typeof_expr +chain_of_call_statement ::= chain_of_call_expr ; +chain_of_call_expr ::= (paren_expr '->') expr + bit_expr ::= expr bit_operator expr bit_operator ::= '&' | '|' | '^' | '>>' | '<<'