aboutsummaryrefslogtreecommitdiffstats
path: root/parse.y
Commit message (Collapse)AuthorAgeFilesLines
* `yield` cannot be placed outside methods even in blocksNobuyoshi Nakada2023-10-021-1/+1
|
* Include new node types into %printeryui-knk2023-10-021-3/+3
|
* Remove not used fields from call nodesyui-knk2023-10-021-8/+0
|
* Correctly casting node for accessing nd_args in parse.yyui-knk2023-10-021-2/+30
|
* Use rb_node_fcall_t instead of NODEyui-knk2023-10-021-13/+15
|
* Use rb_node_block_pass_t instead of NODEyui-knk2023-10-011-8/+11
|
* Use rb_node_args_t and rb_node_args_aux_t instead of NODEyui-knk2023-10-011-44/+50
|
* Use rb_node_opt_arg_t and rb_node_kw_arg_t instead of NODEyui-knk2023-10-011-31/+36
|
* Stop saving source locations unnecessarilyNobuyoshi Nakada2023-09-301-19/+1
| | | | | `node_newnode` and `parser_dispatch_delayed_token` do not use or change `ruby_sourceline`.
* Take line number from the tracked token locationNobuyoshi Nakada2023-09-301-4/+1
|
* Remove not used fields from FOR_MASGNyui-knk2023-09-301-2/+0
|
* Remove not used fields from OP_ASGN_AND, OP_ASGN_ORyui-knk2023-09-301-2/+0
|
* Remove not used fields from HASHyui-knk2023-09-301-1/+0
|
* Remove not used fields from BEGINyui-knk2023-09-301-2/+0
|
* Remove not used fields from ERRORyui-knk2023-09-301-3/+0
|
* Remove not used fields from ITER, FORyui-knk2023-09-301-2/+0
|
* Remove not used fields from MODULE, SCLASSyui-knk2023-09-301-2/+0
|
* Remove not used fields from ONCEyui-knk2023-09-301-2/+0
|
* Expand pattern_info struct into ARYPTN Node and FNDPTN Nodeyui-knk2023-09-301-28/+21
|
* Remove not used fields from ARYPTN, FNDPTNyui-knk2023-09-301-2/+0
|
* Remove not used fields from argument nodesyui-knk2023-09-301-10/+0
|
* Remove not used fields from NTH_REF, BACK_REFyui-knk2023-09-301-4/+0
|
* Remove not used fields from ERRINFOyui-knk2023-09-301-3/+0
|
* Remove not used fields from POSTEXEyui-knk2023-09-301-2/+0
|
* Remove not used fields from DEFINEDyui-knk2023-09-301-2/+0
|
* Remove not used fields from AND, ORyui-knk2023-09-301-2/+0
|
* Remove not used fields from LAMBDAyui-knk2023-09-301-2/+0
|
* Consolidate includes common to universal parserNobuyoshi Nakada2023-09-301-8/+3
|
* Change NODE DEF_TEMP nd_cval to `struct lex_context`yui-knk2023-09-291-11/+22
|
* Merge NODE_DEF_TEMP and NODE_DEF_TEMP2yui-knk2023-09-291-24/+10
|
* Remove not used fields from CASE, CASE2, CASE3yui-knk2023-09-291-3/+0
|
* Remove not used fields from ALIAS, VALIAS, UNDEFyui-knk2023-09-291-4/+0
|
* Remove not used fields from DOT2, DOT3, FLIP2, FLIP3yui-knk2023-09-291-2/+0
|
* Merge RNode_OP_ASGN2 and RNode_OP_ASGN22yui-knk2023-09-291-14/+3
|
* Remove not used fields from SELF, NIL, TRUE, FALSEyui-knk2023-09-291-11/+0
|
* Fix `retry` in nested `rescue` blocksNobuyoshi Nakada2023-09-291-10/+23
| | | | | | | Restore `rescue`-context from the outer context. `retry` targets the next outer block except for between `rescue` and `else` or `ensure`, otherwise, if there is no enclosing block, it should be syntax error.
* Syntax check of `yield` in the parserNobuyoshi Nakada2023-09-281-4/+11
|
* Jumps are possible in the top-level loopNobuyoshi Nakada2023-09-281-1/+2
|
* Change RNode structure from union to structyui-knk2023-09-281-359/+1774
| | | | | | | | | | | | | | | | | | | | | | | All kind of AST nodes use same struct RNode, which has u1, u2, u3 union members for holding different kind of data. This has two problems. 1. Low flexibility of data structure Some nodes, for example NODE_TRUE, don’t use u1, u2, u3. On the other hand, NODE_OP_ASGN2 needs more than three union members. However they use same structure definition, need to allocate three union members for NODE_TRUE and need to separate NODE_OP_ASGN2 into another node. This change removes the restriction so make it possible to change data structure by each node type. 2. No compile time check for union member access It’s developer’s responsibility for using correct member for each node type when it’s union. This change clarifies which node has which type of fields and enables compile time check. This commit also changes node_buffer_elem_struct buf management to handle different size data with alignment.
* Out of place jumps are valid in `defined?`Nobuyoshi Nakada2023-09-271-9/+13
|
* Syntax check of `retry` in the parserNobuyoshi Nakada2023-09-271-27/+69
|
* Fix error token locationNobuyoshi Nakada2023-09-271-7/+16
|
* Syntax check of block exits in the parserNobuyoshi Nakada2023-09-271-24/+141
|
* Use named references for method/class/module definitionsNobuyoshi Nakada2023-09-251-63/+67
|
* Extract class/module context checksNobuyoshi Nakada2023-09-251-15/+15
|
* Split the build of `RESBODY` nodesNobuyoshi Nakada2023-09-251-5/+11
|
* Reduce stack usage in `string_content`Nobuyoshi Nakada2023-09-251-6/+2
|
* Remove `escape_Qundef`Nobuyoshi Nakada2023-09-251-23/+22
| | | | Ripper dispatcher methods always escape `Qundef` by `get_value`.
* Name midrules in complex rulesNobuyoshi Nakada2023-09-251-79/+78
|
* Refactor to use ripper_new_yylval2yui-knk2023-09-241-5/+1
|