aboutsummaryrefslogtreecommitdiffstats
path: root/rubyparser.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove not used fields from variable nodesyui-knk2023-10-041-14/+0
|
* Remove not used fields from call nodesyui-knk2023-10-021-10/+0
|
* Use rb_node_args_t and rb_node_args_aux_t instead of NODEyui-knk2023-10-011-1/+1
|
* Use rb_node_opt_arg_t and rb_node_kw_arg_t instead of NODEyui-knk2023-10-011-4/+4
|
* 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-4/+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-14/+6
|
* 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-4/+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
|
* Change NODE DEF_TEMP nd_cval to `struct lex_context`yui-knk2023-09-291-11/+0
|
* Merge NODE_DEF_TEMP and NODE_DEF_TEMP2yui-knk2023-09-291-9/+1
|
* 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-4/+0
|
* Merge RNode_OP_ASGN2 and RNode_OP_ASGN22yui-knk2023-09-291-7/+1
|
* Remove not used fields from SELF, NIL, TRUE, FALSEyui-knk2023-09-291-14/+0
|
* Change RNode structure from union to structyui-knk2023-09-281-92/+1031
| | | | | | | | | | | | | | | | | | | | | | | 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.
* Directly free structure managed by imemo tmpbufyui-knk2023-09-221-4/+0
| | | | | | | | | NODE_ARGS, NODE_ARYPTN, NODE_FNDPTN manage memory of their structure by imemo tmpbuf Object. However rb_ast_struct has reference to NODE. Then these memory can be freed directly when rb_ast_struct is freed. This commit reduces parser's dependency on CRuby functions.
* Replace only use of `snprintf` in parserNobuyoshi Nakada2023-08-251-5/+0
|
* Remove SCRIPT_LINES__ related member functionsNobuyoshi Nakada2023-08-251-3/+0
|
* define back snprintf卜部昌平2023-08-251-0/+3
|
* #include <stdarg.h> for va_list卜部昌平2023-08-251-0/+2
|
* snprintf could be defined卜部昌平2023-08-251-0/+1
| | | | include/ruby/subst.h has `#define snprintf` which breaks here.
* VALUE is already defined卜部昌平2023-08-251-0/+2
| | | | This header is needed only when outside of the project
* do not redefine a typedef卜部昌平2023-08-251-0/+3
| | | | duplicated typedef declaration was not allowed in C99.
* Remove nd_entry from NODE_GASGN and NODE_GVARyui-knk2023-08-231-1/+0
| | | | | | | After a0f12a0258e4020bd657ee80b7d8f22bd33ea223 NODE_GASGN and NODE_GVAR hold same value on both nd_vid and nd_entry. This commit stops setting value to nd_entry and makes to use only nd_vid.
* Remove uneeded fix2int and rational_raw property for Universal ParserS-H-GAMELINKS2023-08-111-2/+0
|
* Remove uneeded int2big property for Universal ParserS-H-GAMELINKS2023-08-051-1/+0
|
* Move some macro for universal parserS-H-GAMELINKS2023-07-091-10/+0
|
* Move ISASCII defination to parse.yS-H-GAMELINKS2023-07-081-1/+0
|
* Remove `st_functions_t`Nobuyoshi Nakada2023-06-241-3/+0
|
* Specify int bitfield as signed int bitfieldyui-knk2023-06-171-2/+2
| | | | | | | | sunc treats int bitfield as unsigned int. This commit will fix build failure on sunc. * http://rubyci.s3.amazonaws.com/solaris10-sunc/ruby-master/log/20230617T100003Z.fail.html.gz * http://rubyci.s3.amazonaws.com/solaris11-sunc/ruby-master/log/20230617T090011Z.fail.html.gz
* Replace parser & node compile_option from Hash to bit fieldyui-knk2023-06-171-1/+2
| | | | This commit reduces dependency to CRuby object.
* [Feature #19719] Universal Parseryui-knk2023-06-121-0/+642
Introduce Universal Parser mode for the parser. This commit includes these changes: * Introduce `UNIVERSAL_PARSER` macro. All of CRuby related functions are passed via `struct rb_parser_config_struct` when this macro is enabled. * Add CI task with 'cppflags=-DUNIVERSAL_PARSER' for ubuntu.