Commit graph

182 commits

Author SHA1 Message Date
Nobuyoshi Nakada
0f98d284f3
Remove unused nd_resq from RNode_ENSURE 2024-01-28 11:11:13 +09:00
S.H
9b40f42c22
Introduce NODE_ENCODING
`__ENCODING__ `was managed by `NODE_LIT` with Encoding object. 

Introduce `NODE_ENCODING` for
1. `__ENCODING__` is detectable from AST Node.
2. Reduce dependency Ruby object for parse.y
2024-01-27 08:11:10 +00:00
Nobuyoshi Nakada
0610f555ea
Constify rb_global_parser_config 2024-01-14 17:55:11 +09:00
yui-knk
b35e21b388 Remove reference counter from rb_parser_config
It's allocated outside of parser then no need to track
reference count in rb_parser_config.
2024-01-12 21:17:41 +09:00
yui-knk
52d9e55903 Statically allocate parser config 2024-01-12 21:17:41 +09:00
yui-knk
db476cc71c Introduce NODE_SYM to manage symbol literal
`:sym` was managed by `NODE_LIT` with `Symbol` object.
This commit introduces `NODE_SYM` so that

1. Symbol literal is detectable from AST Node
2. Reduce dependency on ruby object
2024-01-09 16:07:19 +09:00
S-H-GAMELINKS
ad7aee35e4 Remove unneeded rb_parser_config_struct struct properties for Universal Parser 2024-01-07 21:16:31 +09:00
S-H-GAMELINKS
1b8d01136c Introduce Numeric Node's 2024-01-07 09:24:34 +09:00
yui-knk
7a050638b1 Introduce NODE_FILE
`__FILE__` was managed by `NODE_STR` with `String` object.
This commit introduces `NODE_FILE` and `struct rb_parser_string` so that

1. `__FILE__` is detectable from AST Node
2. Reduce dependency ruby object
2024-01-02 14:19:42 +09:00
yui-knk
1ade170a6c Introduce NODE_LINE
`__LINE__` was managed by `NODE_LIT` with `Integer` object.
This commit introduces `NODE_LINE` so that

1. `__LINE__` is detectable from AST Node
2. Reduce dependency ruby object
2023-12-29 18:32:27 +09:00
yui-knk
4374236e95 Add errno_ptr property for Universal Parser 2023-12-28 13:17:36 +09:00
yui-knk
73fa322497 Add ary_modify property for Universal Parser 2023-12-28 09:00:44 +09:00
Nobuyoshi Nakada
e6a6ea9dcf
Fix typo in a comment [ci skip] 2023-12-08 01:20:15 +09:00
Nobuyoshi Nakada
13c9cbe09e
Embed rb_args_info in rb_node_args_t 2023-10-30 00:19:43 +09:00
yui-knk
820957b1ee Remove unused macro
`struct RNode_OP_ASGN22` was removed by 37a783a.
2023-10-25 08:12:48 +09:00
yui-knk
08e25985d1 Expand OP_ASGN1 nd_args to nd_index and nd_rvalue
ARGSCAT has been used for nd_args to hold index and rvalue,
because there was limitation on the number of members for Node.
We can easily change structure of node now, let's expand it.
2023-10-20 07:56:20 +09:00
Nobuyoshi Nakada
5bbb6fd6c3 Add printf format attributes to rb_parser_config_t 2023-10-20 07:15:24 +09:00
yui-knk
606452d1a9 Remove not used fields from STR 2023-10-15 16:16:06 +09:00
yui-knk
a4e3d595cd Remove not used fields from XSTR 2023-10-15 16:16:06 +09:00
yui-knk
cab67d227a Remove not used fields from LIT 2023-10-15 16:16:06 +09:00
yui-knk
dc8742f5cc Remove not used fields from MATCH 2023-10-15 16:16:06 +09:00
Nobuyoshi Nakada
a405b28e85 Delete heredoc line mark references 2023-10-14 11:08:43 +09:00
Nobuyoshi Nakada
a075c55d0c Manage rb_strterm_t without imemo 2023-10-14 11:08:43 +09:00
yui-knk
f9fe7aeef4 Extract NODE_FL_NEWLINE access to macro 2023-10-11 19:22:34 +09:00
yui-knk
5245123a4b Remove not used fields from DEFN 2023-10-10 11:05:29 +09:00
yui-knk
b5d74f4f26 Remove not used fields from EVSTR 2023-10-08 16:34:32 +09:00
yui-knk
5810304c2e Remove not used fields from asgn nodes 2023-10-07 17:54:35 +09:00
yui-knk
5c779dc45d Remove not used fields from MATCH3 2023-10-06 15:32:33 +09:00
yui-knk
58fc45325f Remove not used fields from YIELD 2023-10-06 07:31:53 +09:00
yui-knk
f6a2af255b Remove not used fields from ZLIST 2023-10-06 07:31:22 +09:00
Nobuyoshi Nakada
a5cc6341c0
Remove NODE_VALUES
This node type was added for the multi-value experiment back in 2004.
The feature itself was removed after a few years, but this is its
remnant.
2023-10-06 03:39:58 +09:00
Nobuyoshi Nakada
efa18fd6b3 Chain nodes to exit only 2023-10-05 14:23:42 +09:00
Nobuyoshi Nakada
696022a0cb Differentiate NODE_BREAK/NODE_NEXT/NODE_RETURN 2023-10-05 14:23:42 +09:00
Nobuyoshi Nakada
f5f3b35b93 Remove unused nodes in NODE_RETURN and NODE_REDO 2023-10-05 14:23:42 +09:00
Nobuyoshi Nakada
70e1635950 Move internal NODE_DEF_TEMP to parse.y 2023-10-05 14:23:42 +09:00
yui-knk
a472fd55da Remove not used fields from colon nodes 2023-10-05 13:19:09 +09:00
yui-knk
ed8a3428e4 Remove not used fields from variable nodes 2023-10-04 12:15:39 +09:00
yui-knk
81668579ed Remove not used fields from call nodes 2023-10-02 09:41:45 +09:00
yui-knk
08239fd6af Use rb_node_args_t and rb_node_args_aux_t instead of NODE 2023-10-01 19:38:03 +09:00
yui-knk
cecd1de2eb Use rb_node_opt_arg_t and rb_node_kw_arg_t instead of NODE 2023-10-01 09:19:42 +09:00
yui-knk
4997903c20 Remove not used fields from FOR_MASGN 2023-09-30 19:17:28 +09:00
yui-knk
1fbccd02ee Remove not used fields from OP_ASGN_AND, OP_ASGN_OR 2023-09-30 18:53:40 +09:00
yui-knk
eba19d86d4 Remove not used fields from HASH 2023-09-30 17:20:54 +09:00
yui-knk
97ac5deeec Remove not used fields from BEGIN 2023-09-30 17:20:16 +09:00
yui-knk
716a12902d Remove not used fields from ERROR 2023-09-30 17:02:50 +09:00
yui-knk
db18428fff Remove not used fields from ITER, FOR 2023-09-30 16:30:57 +09:00
yui-knk
4c18615ffe Remove not used fields from MODULE, SCLASS 2023-09-30 16:24:43 +09:00
yui-knk
4e90be4c93 Remove not used fields from ONCE 2023-09-30 13:23:32 +09:00
yui-knk
d293d9e191 Expand pattern_info struct into ARYPTN Node and FNDPTN Node 2023-09-30 13:11:32 +09:00
yui-knk
1b97c17e03 Remove not used fields from ARYPTN, FNDPTN 2023-09-30 13:11:32 +09:00