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
yui-knk
129d006852
Remove not used fields from argument nodes
2023-09-30 12:29:29 +09:00
yui-knk
83af0b9128
Remove not used fields from NTH_REF, BACK_REF
2023-09-30 12:28:06 +09:00