<commit_before>%token TYPE_NAME
%token CONST
%token IDENTIFIER
%token UNKNOWN
%token MAP
%token EXTRACT
%token PSEUDO
%token ARRAY
%token IN
%token OUT
%token BOTH
%token ALLOC
%token RETURN
%token NOSUPP
%token IGNORE

%type <node> stub_spec param_list param simple_param map_param
%type <node> stub_body action_func_list
%type <node> action_param action_param_list action_func xfer_func alloc_func
%type <node> return_func
%type <tok> TYPE_NAME CONST IDENTIFIER UNKNOWN MAP EXTRACT ARRAY opt_mult
%type <bool> opt_const opt_ptr opt_ptr_to_const opt_array
%type <bool> opt_reference
%type <param_mode> use_type

%{
#include <stdio.h>
#include <assert.h>
#include <assert.h>
#include "scanner.h"
extern int yyline;
struct node *
mk_func_node( char *type, char *name, struct node * p_list,
	int is_ptr, struct node *action_func_list );
struct node * mk_xfer_func( char *xdr_func, struct node *param_list,
	int in, int out );
struct node * mk_alloc_func( struct node *param_list );
struct node * mk_return_func( struct node *param_list );
struct node * mk_param_node( char *type, char *name,
	int is_const, int is_ptr, int is_const_ptr, int is_array,
	int is_in, int is_out );
struct node * mk_action_param_node( char *name, int is_ref, char *mult );
struct node *set_map_attr( struct node * simple );
struct node *insert_node( struct node *list, struct node *new_elem );
void display_node( struct node * );
void output_switch( struct node * );
void display_list( struct node * );
void output_switch_decl( struct node * );
void output_local_call(  char *id, struct node *list );
void output_remote_call(  char *id, struct node *list );
void output_extracted_call(  char *id, struct node *list );
void output_param_list( struct node *list );
struct node *mk_list();
void copy_file( FILE *in_fp, FILE *out_fp );
FILE * open_file( char *name );
char * mk_upper();
char * abbreviate( char *type_name );
void Trace( char *msg );
char * find_type_name( char *param_name, struct node *param_list );
int has_out_params( struct node *action_func_list );
char *malloc( unsigned int );

#define MATCH 0 /* for strcmp() */

#define SWITCHES 1
#define SENDERS 2
#define RECEIVERS 3

int Supported = TRUE;
int Ignored = FALSE;
int	Mode = 0;
int ErrorEncountered = 0;
int IsExtracted = FALSE;<commit_msg>Add definitions for "TRUE" and "FALSE" if they aren't already present.<commit_after>%token TYPE_NAME
%token CONST
%token IDENTIFIER
%token UNKNOWN
%token MAP
%token EXTRACT
%token PSEUDO
%token ARRAY
%token IN
%token OUT
%token BOTH
%token ALLOC
%token RETURN
%token NOSUPP
%token IGNORE

%type <node> stub_spec param_list param simple_param map_param
%type <node> stub_body action_func_list
%type <node> action_param action_param_list action_func xfer_func alloc_func
%type <node> return_func
%type <tok> TYPE_NAME CONST IDENTIFIER UNKNOWN MAP EXTRACT ARRAY opt_mult
%type <bool> opt_const opt_ptr opt_ptr_to_const opt_array
%type <bool> opt_reference
%type <param_mode> use_type

%{
#include <stdio.h>
#include <assert.h>
#include <assert.h>
#include "scanner.h"
extern int yyline;
struct node *
mk_func_node( char *type, char *name, struct node * p_list,
	int is_ptr, struct node *action_func_list );
struct node * mk_xfer_func( char *xdr_func, struct node *param_list,
	int in, int out );
struct node * mk_alloc_func( struct node *param_list );
struct node * mk_return_func( struct node *param_list );
struct node * mk_param_node( char *type, char *name,
	int is_const, int is_ptr, int is_const_ptr, int is_array,
	int is_in, int is_out );
struct node * mk_action_param_node( char *name, int is_ref, char *mult );
struct node *set_map_attr( struct node * simple );
struct node *insert_node( struct node *list, struct node *new_elem );
void display_node( struct node * );
void output_switch( struct node * );
void display_list( struct node * );
void output_switch_decl( struct node * );
void output_local_call(  char *id, struct node *list );
void output_remote_call(  char *id, struct node *list );
void output_extracted_call(  char *id, struct node *list );
void output_param_list( struct node *list );
struct node *mk_list();
void copy_file( FILE *in_fp, FILE *out_fp );
FILE * open_file( char *name );
char * mk_upper();
char * abbreviate( char *type_name );
void Trace( char *msg );
char * find_type_name( char *param_name, struct node *param_list );
int has_out_params( struct node *action_func_list );
char *malloc( unsigned int );

#define MATCH 0 /* for strcmp() */

#ifndef TRUE
	#define TRUE 1
	#define FALSE 0
#endif

#define SWITCHES 1
#define SENDERS 2
#define RECEIVERS 3

int Supported = TRUE;
int Ignored = FALSE;
int	Mode = 0;
int ErrorEncountered = 0;
int IsExtracted = FALSE;
{'fraction_non_alphanumeric': 0.09861259338313767, 'fraction_numerical': 0.0029882604055496264, 'mean_word_length': 5.65625, 'pattern_counts': {'":': 0, '<': 25, '<?xml version=': 0, '>': 25, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4877450', 'n_tokens_mistral': 1643, 'n_tokens_neox': 1604, 'n_words': 570}