<commit_before>/*
    csound_sco.y:

    Copyright (C) 2013
    <NAME>

    This file is part of Csound.

    The Csound Library is free software; you can redistribute it
    and/or modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    Csound is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with Csound; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA
*/
%{
#ifndef NULL
#define NULL 0L
#endif
#include "csoundCore.h"
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include "score_param.h"
extern void csound_scoerror(SCORE_PARM *, void *,
                            CSOUND *, ScoreTree *, const char*);

#define LINE csound_scoget_lineno()
#define LOCN csound_scoget_locn()
extern int csound_orcget_locn(void *);
extern int csound_orcget_lineno(void *);
static ScoreTree* makesco(CSOUND *csound, int op, ListItem* car, ScoreTree* cdr);
static ScoreTree* makesco1(CSOUND *csound, ScoreTree* car, ScoreTree* cdr);
static ListItem* makelist(CSOUND *csound, double car, ListItem* cdr);

%}

%pure_parser
%parse-param {SCORE_PARM *parm}
%parse-param {void *scanner}
%lex-param { CSOUND * csound }
%lex-param {yyscan_t *scanner}

%union {
  int    oper;
  double val;
  ScoreTree *t;
  ListItem  *l
}

%type <oper> opcode
%type <val> arg exp term fac constant
%type <t> scoline scolines statement
%type <l> arglist

%token NEWLINE

%token T_ERROR

%token STRING_TOKEN
%token INTEGER_TOKEN
%token NUMBER_TOKEN

%start scofile
%left S_AND S_OR
%left '|'
%left '&'
%left S_LT S_GT S_LEQ S_GEQ S_EQ S_NEQ
%left S_BITSHIFT_LEFT S_BITSHIFT_RIGHT
%left '+' '-'
%left '*' '/' '%'
%left '^'
%left '#'
%right '~'<commit_msg>added missing semicolon<commit_after>/*
    csound_sco.y:

    Copyright (C) 2013
    <NAME>

    This file is part of Csound.

    The Csound Library is free software; you can redistribute it
    and/or modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    Csound is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with Csound; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
    02111-1307 USA
*/
%{
#ifndef NULL
#define NULL 0L
#endif
#include "csoundCore.h"
#include <ctype.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include "score_param.h"
extern void csound_scoerror(SCORE_PARM *, void *,
                            CSOUND *, ScoreTree *, const char*);

#define LINE csound_scoget_lineno()
#define LOCN csound_scoget_locn()
extern int csound_orcget_locn(void *);
extern int csound_orcget_lineno(void *);
static ScoreTree* makesco(CSOUND *csound, int op, ListItem* car, ScoreTree* cdr);
static ScoreTree* makesco1(CSOUND *csound, ScoreTree* car, ScoreTree* cdr);
static ListItem* makelist(CSOUND *csound, double car, ListItem* cdr);

%}

%pure_parser
%parse-param {SCORE_PARM *parm}
%parse-param {void *scanner}
%lex-param { CSOUND * csound }
%lex-param {yyscan_t *scanner}

%union {
  int    oper;
  double val;
  ScoreTree *t;
  ListItem  *l;
}

%type <oper> opcode
%type <val> arg exp term fac constant
%type <t> scoline scolines statement
%type <l> arglist

%token NEWLINE

%token T_ERROR

%token STRING_TOKEN
%token INTEGER_TOKEN
%token NUMBER_TOKEN

%start scofile
%left S_AND S_OR
%left '|'
%left '&'
%left S_LT S_GT S_LEQ S_GEQ S_EQ S_NEQ
%left S_BITSHIFT_LEFT S_BITSHIFT_RIGHT
%left '+' '-'
%left '*' '/' '%'
%left '^'
%left '#'
%right '~'
{'fraction_non_alphanumeric': 0.09660818713450292, 'fraction_numerical': 0.010292397660818714, 'mean_word_length': 3.9778812572759024, 'pattern_counts': {'":': 0, '<': 21, '<?xml version=': 0, '>': 21, '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': '4780328', 'n_tokens_mistral': 1518, 'n_tokens_neox': 1441, 'n_words': 528}