Parser.

This file was generated by SableCC (http://www.sablecc.org/).

Introduced classes

private class ReduceAction0

nitc :: ReduceAction0

private class ReduceAction1

nitc :: ReduceAction1

private class ReduceAction10

nitc :: ReduceAction10

private class ReduceAction100

nitc :: ReduceAction100

private class ReduceAction101

nitc :: ReduceAction101

private class ReduceAction102

nitc :: ReduceAction102

private class ReduceAction103

nitc :: ReduceAction103

private class ReduceAction104

nitc :: ReduceAction104

private class ReduceAction105

nitc :: ReduceAction105

private class ReduceAction106

nitc :: ReduceAction106

private class ReduceAction107

nitc :: ReduceAction107

private class ReduceAction108

nitc :: ReduceAction108

private class ReduceAction109

nitc :: ReduceAction109

private class ReduceAction11

nitc :: ReduceAction11

private class ReduceAction110

nitc :: ReduceAction110

private class ReduceAction111

nitc :: ReduceAction111

private class ReduceAction112

nitc :: ReduceAction112

private class ReduceAction113

nitc :: ReduceAction113

private class ReduceAction114

nitc :: ReduceAction114

private class ReduceAction115

nitc :: ReduceAction115

private class ReduceAction116

nitc :: ReduceAction116

private class ReduceAction117

nitc :: ReduceAction117

private class ReduceAction118

nitc :: ReduceAction118

private class ReduceAction119

nitc :: ReduceAction119

private class ReduceAction12

nitc :: ReduceAction12

private class ReduceAction120

nitc :: ReduceAction120

private class ReduceAction121

nitc :: ReduceAction121

private class ReduceAction122

nitc :: ReduceAction122

private class ReduceAction123

nitc :: ReduceAction123

private class ReduceAction124

nitc :: ReduceAction124

private class ReduceAction125

nitc :: ReduceAction125

private class ReduceAction126

nitc :: ReduceAction126

private class ReduceAction127

nitc :: ReduceAction127

private class ReduceAction128

nitc :: ReduceAction128

private class ReduceAction129

nitc :: ReduceAction129

private class ReduceAction13

nitc :: ReduceAction13

private class ReduceAction130

nitc :: ReduceAction130

private class ReduceAction131

nitc :: ReduceAction131

private class ReduceAction132

nitc :: ReduceAction132

private class ReduceAction133

nitc :: ReduceAction133

private class ReduceAction134

nitc :: ReduceAction134

private class ReduceAction135

nitc :: ReduceAction135

private class ReduceAction136

nitc :: ReduceAction136

private class ReduceAction137

nitc :: ReduceAction137

private class ReduceAction138

nitc :: ReduceAction138

private class ReduceAction139

nitc :: ReduceAction139

private class ReduceAction14

nitc :: ReduceAction14

private class ReduceAction140

nitc :: ReduceAction140

private class ReduceAction141

nitc :: ReduceAction141

private class ReduceAction142

nitc :: ReduceAction142

private class ReduceAction143

nitc :: ReduceAction143

private class ReduceAction144

nitc :: ReduceAction144

private class ReduceAction145

nitc :: ReduceAction145

private class ReduceAction146

nitc :: ReduceAction146

private class ReduceAction147

nitc :: ReduceAction147

private class ReduceAction148

nitc :: ReduceAction148

private class ReduceAction149

nitc :: ReduceAction149

private class ReduceAction15

nitc :: ReduceAction15

private class ReduceAction150

nitc :: ReduceAction150

private class ReduceAction151

nitc :: ReduceAction151

private class ReduceAction152

nitc :: ReduceAction152

private class ReduceAction153

nitc :: ReduceAction153

private class ReduceAction154

nitc :: ReduceAction154

private class ReduceAction155

nitc :: ReduceAction155

private class ReduceAction156

nitc :: ReduceAction156

private class ReduceAction157

nitc :: ReduceAction157

private class ReduceAction158

nitc :: ReduceAction158

private class ReduceAction159

nitc :: ReduceAction159

private class ReduceAction16

nitc :: ReduceAction16

private class ReduceAction160

nitc :: ReduceAction160

private class ReduceAction161

nitc :: ReduceAction161

private class ReduceAction162

nitc :: ReduceAction162

private class ReduceAction163

nitc :: ReduceAction163

private class ReduceAction164

nitc :: ReduceAction164

private class ReduceAction165

nitc :: ReduceAction165

private class ReduceAction166

nitc :: ReduceAction166

private class ReduceAction167

nitc :: ReduceAction167

private class ReduceAction168

nitc :: ReduceAction168

private class ReduceAction169

nitc :: ReduceAction169

private class ReduceAction17

nitc :: ReduceAction17

private class ReduceAction170

nitc :: ReduceAction170

private class ReduceAction171

nitc :: ReduceAction171

private class ReduceAction172

nitc :: ReduceAction172

private class ReduceAction173

nitc :: ReduceAction173

private class ReduceAction174

nitc :: ReduceAction174

private class ReduceAction175

nitc :: ReduceAction175

private class ReduceAction176

nitc :: ReduceAction176

private class ReduceAction177

nitc :: ReduceAction177

private class ReduceAction178

nitc :: ReduceAction178

private class ReduceAction179

nitc :: ReduceAction179

private class ReduceAction18

nitc :: ReduceAction18

private class ReduceAction180

nitc :: ReduceAction180

private class ReduceAction181

nitc :: ReduceAction181

private class ReduceAction182

nitc :: ReduceAction182

private class ReduceAction183

nitc :: ReduceAction183

private class ReduceAction184

nitc :: ReduceAction184

private class ReduceAction185

nitc :: ReduceAction185

private class ReduceAction186

nitc :: ReduceAction186

private class ReduceAction187

nitc :: ReduceAction187

private class ReduceAction188

nitc :: ReduceAction188

private class ReduceAction189

nitc :: ReduceAction189

private class ReduceAction19

nitc :: ReduceAction19

private class ReduceAction190

nitc :: ReduceAction190

private class ReduceAction191

nitc :: ReduceAction191

private class ReduceAction192

nitc :: ReduceAction192

private class ReduceAction193

nitc :: ReduceAction193

private class ReduceAction194

nitc :: ReduceAction194

private class ReduceAction195

nitc :: ReduceAction195

private class ReduceAction196

nitc :: ReduceAction196

private class ReduceAction197

nitc :: ReduceAction197

private class ReduceAction198

nitc :: ReduceAction198

private class ReduceAction199

nitc :: ReduceAction199

private class ReduceAction2

nitc :: ReduceAction2

private class ReduceAction20

nitc :: ReduceAction20

private class ReduceAction200

nitc :: ReduceAction200

private class ReduceAction201

nitc :: ReduceAction201

private class ReduceAction202

nitc :: ReduceAction202

private class ReduceAction203

nitc :: ReduceAction203

private class ReduceAction204

nitc :: ReduceAction204

private class ReduceAction205

nitc :: ReduceAction205

private class ReduceAction206

nitc :: ReduceAction206

private class ReduceAction207

nitc :: ReduceAction207

private class ReduceAction208

nitc :: ReduceAction208

private class ReduceAction209

nitc :: ReduceAction209

private class ReduceAction21

nitc :: ReduceAction21

private class ReduceAction210

nitc :: ReduceAction210

private class ReduceAction211

nitc :: ReduceAction211

private class ReduceAction212

nitc :: ReduceAction212

private class ReduceAction213

nitc :: ReduceAction213

private class ReduceAction214

nitc :: ReduceAction214

private class ReduceAction215

nitc :: ReduceAction215

private class ReduceAction216

nitc :: ReduceAction216

private class ReduceAction217

nitc :: ReduceAction217

private class ReduceAction218

nitc :: ReduceAction218

private class ReduceAction219

nitc :: ReduceAction219

private class ReduceAction22

nitc :: ReduceAction22

private class ReduceAction220

nitc :: ReduceAction220

private class ReduceAction221

nitc :: ReduceAction221

private class ReduceAction222

nitc :: ReduceAction222

private class ReduceAction223

nitc :: ReduceAction223

private class ReduceAction224

nitc :: ReduceAction224

private class ReduceAction225

nitc :: ReduceAction225

private class ReduceAction226

nitc :: ReduceAction226

private class ReduceAction227

nitc :: ReduceAction227

private class ReduceAction228

nitc :: ReduceAction228

private class ReduceAction229

nitc :: ReduceAction229

private class ReduceAction23

nitc :: ReduceAction23

private class ReduceAction230

nitc :: ReduceAction230

private class ReduceAction231

nitc :: ReduceAction231

private class ReduceAction232

nitc :: ReduceAction232

private class ReduceAction233

nitc :: ReduceAction233

private class ReduceAction234

nitc :: ReduceAction234

private class ReduceAction235

nitc :: ReduceAction235

private class ReduceAction236

nitc :: ReduceAction236

private class ReduceAction237

nitc :: ReduceAction237

private class ReduceAction238

nitc :: ReduceAction238

private class ReduceAction239

nitc :: ReduceAction239

private class ReduceAction24

nitc :: ReduceAction24

private class ReduceAction240

nitc :: ReduceAction240

private class ReduceAction241

nitc :: ReduceAction241

private class ReduceAction242

nitc :: ReduceAction242

private class ReduceAction243

nitc :: ReduceAction243

private class ReduceAction244

nitc :: ReduceAction244

private class ReduceAction245

nitc :: ReduceAction245

private class ReduceAction246

nitc :: ReduceAction246

private class ReduceAction247

nitc :: ReduceAction247

private class ReduceAction248

nitc :: ReduceAction248

private class ReduceAction249

nitc :: ReduceAction249

private class ReduceAction25

nitc :: ReduceAction25

private class ReduceAction250

nitc :: ReduceAction250

private class ReduceAction251

nitc :: ReduceAction251

private class ReduceAction252

nitc :: ReduceAction252

private class ReduceAction253

nitc :: ReduceAction253

private class ReduceAction254

nitc :: ReduceAction254

private class ReduceAction255

nitc :: ReduceAction255

private class ReduceAction256

nitc :: ReduceAction256

private class ReduceAction257

nitc :: ReduceAction257

private class ReduceAction258

nitc :: ReduceAction258

private class ReduceAction259

nitc :: ReduceAction259

private class ReduceAction26

nitc :: ReduceAction26

private class ReduceAction260

nitc :: ReduceAction260

private class ReduceAction261

nitc :: ReduceAction261

private class ReduceAction262

nitc :: ReduceAction262

private class ReduceAction263

nitc :: ReduceAction263

private class ReduceAction264

nitc :: ReduceAction264

private class ReduceAction265

nitc :: ReduceAction265

private class ReduceAction266

nitc :: ReduceAction266

private class ReduceAction267

nitc :: ReduceAction267

private class ReduceAction268

nitc :: ReduceAction268

private class ReduceAction269

nitc :: ReduceAction269

private class ReduceAction27

nitc :: ReduceAction27

private class ReduceAction270

nitc :: ReduceAction270

private class ReduceAction271

nitc :: ReduceAction271

private class ReduceAction272

nitc :: ReduceAction272

private class ReduceAction273

nitc :: ReduceAction273

private class ReduceAction274

nitc :: ReduceAction274

private class ReduceAction275

nitc :: ReduceAction275

private class ReduceAction276

nitc :: ReduceAction276

private class ReduceAction277

nitc :: ReduceAction277

private class ReduceAction278

nitc :: ReduceAction278

private class ReduceAction279

nitc :: ReduceAction279

private class ReduceAction28

nitc :: ReduceAction28

private class ReduceAction280

nitc :: ReduceAction280

private class ReduceAction281

nitc :: ReduceAction281

private class ReduceAction282

nitc :: ReduceAction282

private class ReduceAction283

nitc :: ReduceAction283

private class ReduceAction284

nitc :: ReduceAction284

private class ReduceAction285

nitc :: ReduceAction285

private class ReduceAction286

nitc :: ReduceAction286

private class ReduceAction287

nitc :: ReduceAction287

private class ReduceAction288

nitc :: ReduceAction288

private class ReduceAction289

nitc :: ReduceAction289

private class ReduceAction29

nitc :: ReduceAction29

private class ReduceAction290

nitc :: ReduceAction290

private class ReduceAction291

nitc :: ReduceAction291

private class ReduceAction292

nitc :: ReduceAction292

private class ReduceAction293

nitc :: ReduceAction293

private class ReduceAction294

nitc :: ReduceAction294

private class ReduceAction295

nitc :: ReduceAction295

private class ReduceAction296

nitc :: ReduceAction296

private class ReduceAction297

nitc :: ReduceAction297

private class ReduceAction298

nitc :: ReduceAction298

private class ReduceAction299

nitc :: ReduceAction299

private class ReduceAction3

nitc :: ReduceAction3

private class ReduceAction30

nitc :: ReduceAction30

private class ReduceAction300

nitc :: ReduceAction300

private class ReduceAction301

nitc :: ReduceAction301

private class ReduceAction302

nitc :: ReduceAction302

private class ReduceAction303

nitc :: ReduceAction303

private class ReduceAction304

nitc :: ReduceAction304

private class ReduceAction305

nitc :: ReduceAction305

private class ReduceAction306

nitc :: ReduceAction306

private class ReduceAction307

nitc :: ReduceAction307

private class ReduceAction308

nitc :: ReduceAction308

private class ReduceAction309

nitc :: ReduceAction309

private class ReduceAction31

nitc :: ReduceAction31

private class ReduceAction310

nitc :: ReduceAction310

private class ReduceAction311

nitc :: ReduceAction311

private class ReduceAction312

nitc :: ReduceAction312

private class ReduceAction313

nitc :: ReduceAction313

private class ReduceAction314

nitc :: ReduceAction314

private class ReduceAction315

nitc :: ReduceAction315

private class ReduceAction316

nitc :: ReduceAction316

private class ReduceAction317

nitc :: ReduceAction317

private class ReduceAction318

nitc :: ReduceAction318

private class ReduceAction319

nitc :: ReduceAction319

private class ReduceAction32

nitc :: ReduceAction32

private class ReduceAction320

nitc :: ReduceAction320

private class ReduceAction321

nitc :: ReduceAction321

private class ReduceAction322

nitc :: ReduceAction322

private class ReduceAction323

nitc :: ReduceAction323

private class ReduceAction324

nitc :: ReduceAction324

private class ReduceAction325

nitc :: ReduceAction325

private class ReduceAction326

nitc :: ReduceAction326

private class ReduceAction327

nitc :: ReduceAction327

private class ReduceAction328

nitc :: ReduceAction328

private class ReduceAction329

nitc :: ReduceAction329

private class ReduceAction33

nitc :: ReduceAction33

private class ReduceAction330

nitc :: ReduceAction330

private class ReduceAction331

nitc :: ReduceAction331

private class ReduceAction332

nitc :: ReduceAction332

private class ReduceAction333

nitc :: ReduceAction333

private class ReduceAction334

nitc :: ReduceAction334

private class ReduceAction335

nitc :: ReduceAction335

private class ReduceAction336

nitc :: ReduceAction336

private class ReduceAction337

nitc :: ReduceAction337

private class ReduceAction338

nitc :: ReduceAction338

private class ReduceAction339

nitc :: ReduceAction339

private class ReduceAction34

nitc :: ReduceAction34

private class ReduceAction340

nitc :: ReduceAction340

private class ReduceAction341

nitc :: ReduceAction341

private class ReduceAction342

nitc :: ReduceAction342

private class ReduceAction343

nitc :: ReduceAction343

private class ReduceAction344

nitc :: ReduceAction344

private class ReduceAction345

nitc :: ReduceAction345

private class ReduceAction346

nitc :: ReduceAction346

private class ReduceAction347

nitc :: ReduceAction347

private class ReduceAction348

nitc :: ReduceAction348

private class ReduceAction349

nitc :: ReduceAction349

private class ReduceAction35

nitc :: ReduceAction35

private class ReduceAction350

nitc :: ReduceAction350

private class ReduceAction351

nitc :: ReduceAction351

private class ReduceAction352

nitc :: ReduceAction352

private class ReduceAction353

nitc :: ReduceAction353

private class ReduceAction354

nitc :: ReduceAction354

private class ReduceAction355

nitc :: ReduceAction355

private class ReduceAction356

nitc :: ReduceAction356

private class ReduceAction357

nitc :: ReduceAction357

private class ReduceAction358

nitc :: ReduceAction358

private class ReduceAction359

nitc :: ReduceAction359

private class ReduceAction36

nitc :: ReduceAction36

private class ReduceAction360

nitc :: ReduceAction360

private class ReduceAction361

nitc :: ReduceAction361

private class ReduceAction362

nitc :: ReduceAction362

private class ReduceAction363

nitc :: ReduceAction363

private class ReduceAction364

nitc :: ReduceAction364

private class ReduceAction365

nitc :: ReduceAction365

private class ReduceAction366

nitc :: ReduceAction366

private class ReduceAction367

nitc :: ReduceAction367

private class ReduceAction368

nitc :: ReduceAction368

private class ReduceAction369

nitc :: ReduceAction369

private class ReduceAction37

nitc :: ReduceAction37

private class ReduceAction370

nitc :: ReduceAction370

private class ReduceAction371

nitc :: ReduceAction371

private class ReduceAction372

nitc :: ReduceAction372

private class ReduceAction373

nitc :: ReduceAction373

private class ReduceAction374

nitc :: ReduceAction374

private class ReduceAction375

nitc :: ReduceAction375

private class ReduceAction376

nitc :: ReduceAction376

private class ReduceAction377

nitc :: ReduceAction377

private class ReduceAction378

nitc :: ReduceAction378

private class ReduceAction379

nitc :: ReduceAction379

private class ReduceAction38

nitc :: ReduceAction38

private class ReduceAction380

nitc :: ReduceAction380

private class ReduceAction381

nitc :: ReduceAction381

private class ReduceAction382

nitc :: ReduceAction382

private class ReduceAction383

nitc :: ReduceAction383

private class ReduceAction384

nitc :: ReduceAction384

private class ReduceAction385

nitc :: ReduceAction385

private class ReduceAction386

nitc :: ReduceAction386

private class ReduceAction387

nitc :: ReduceAction387

private class ReduceAction388

nitc :: ReduceAction388

private class ReduceAction389

nitc :: ReduceAction389

private class ReduceAction39

nitc :: ReduceAction39

private class ReduceAction390

nitc :: ReduceAction390

private class ReduceAction391

nitc :: ReduceAction391

private class ReduceAction392

nitc :: ReduceAction392

private class ReduceAction393

nitc :: ReduceAction393

private class ReduceAction394

nitc :: ReduceAction394

private class ReduceAction395

nitc :: ReduceAction395

private class ReduceAction396

nitc :: ReduceAction396

private class ReduceAction397

nitc :: ReduceAction397

private class ReduceAction398

nitc :: ReduceAction398

private class ReduceAction399

nitc :: ReduceAction399

private class ReduceAction4

nitc :: ReduceAction4

private class ReduceAction40

nitc :: ReduceAction40

private class ReduceAction400

nitc :: ReduceAction400

private class ReduceAction402

nitc :: ReduceAction402

private class ReduceAction403

nitc :: ReduceAction403

private class ReduceAction406

nitc :: ReduceAction406

private class ReduceAction408

nitc :: ReduceAction408

private class ReduceAction41

nitc :: ReduceAction41

private class ReduceAction411

nitc :: ReduceAction411

private class ReduceAction412

nitc :: ReduceAction412

private class ReduceAction413

nitc :: ReduceAction413

private class ReduceAction414

nitc :: ReduceAction414

private class ReduceAction415

nitc :: ReduceAction415

private class ReduceAction416

nitc :: ReduceAction416

private class ReduceAction417

nitc :: ReduceAction417

private class ReduceAction418

nitc :: ReduceAction418

private class ReduceAction419

nitc :: ReduceAction419

private class ReduceAction42

nitc :: ReduceAction42

private class ReduceAction420

nitc :: ReduceAction420

private class ReduceAction421

nitc :: ReduceAction421

private class ReduceAction422

nitc :: ReduceAction422

private class ReduceAction423

nitc :: ReduceAction423

private class ReduceAction424

nitc :: ReduceAction424

private class ReduceAction425

nitc :: ReduceAction425

private class ReduceAction426

nitc :: ReduceAction426

private class ReduceAction427

nitc :: ReduceAction427

private class ReduceAction428

nitc :: ReduceAction428

private class ReduceAction429

nitc :: ReduceAction429

private class ReduceAction43

nitc :: ReduceAction43

private class ReduceAction430

nitc :: ReduceAction430

private class ReduceAction431

nitc :: ReduceAction431

private class ReduceAction432

nitc :: ReduceAction432

private class ReduceAction433

nitc :: ReduceAction433

private class ReduceAction434

nitc :: ReduceAction434

private class ReduceAction435

nitc :: ReduceAction435

private class ReduceAction436

nitc :: ReduceAction436

private class ReduceAction437

nitc :: ReduceAction437

private class ReduceAction438

nitc :: ReduceAction438

private class ReduceAction439

nitc :: ReduceAction439

private class ReduceAction44

nitc :: ReduceAction44

private class ReduceAction441

nitc :: ReduceAction441

private class ReduceAction442

nitc :: ReduceAction442

private class ReduceAction443

nitc :: ReduceAction443

private class ReduceAction444

nitc :: ReduceAction444

private class ReduceAction445

nitc :: ReduceAction445

private class ReduceAction446

nitc :: ReduceAction446

private class ReduceAction447

nitc :: ReduceAction447

private class ReduceAction448

nitc :: ReduceAction448

private class ReduceAction45

nitc :: ReduceAction45

private class ReduceAction450

nitc :: ReduceAction450

private class ReduceAction451

nitc :: ReduceAction451

private class ReduceAction453

nitc :: ReduceAction453

private class ReduceAction454

nitc :: ReduceAction454

private class ReduceAction455

nitc :: ReduceAction455

private class ReduceAction456

nitc :: ReduceAction456

private class ReduceAction457

nitc :: ReduceAction457

private class ReduceAction458

nitc :: ReduceAction458

private class ReduceAction459

nitc :: ReduceAction459

private class ReduceAction46

nitc :: ReduceAction46

private class ReduceAction460

nitc :: ReduceAction460

private class ReduceAction461

nitc :: ReduceAction461

private class ReduceAction462

nitc :: ReduceAction462

private class ReduceAction464

nitc :: ReduceAction464

private class ReduceAction465

nitc :: ReduceAction465

private class ReduceAction466

nitc :: ReduceAction466

private class ReduceAction467

nitc :: ReduceAction467

private class ReduceAction468

nitc :: ReduceAction468

private class ReduceAction47

nitc :: ReduceAction47

private class ReduceAction470

nitc :: ReduceAction470

private class ReduceAction471

nitc :: ReduceAction471

private class ReduceAction472

nitc :: ReduceAction472

private class ReduceAction474

nitc :: ReduceAction474

private class ReduceAction475

nitc :: ReduceAction475

private class ReduceAction476

nitc :: ReduceAction476

private class ReduceAction477

nitc :: ReduceAction477

private class ReduceAction478

nitc :: ReduceAction478

private class ReduceAction479

nitc :: ReduceAction479

private class ReduceAction48

nitc :: ReduceAction48

private class ReduceAction480

nitc :: ReduceAction480

private class ReduceAction484

nitc :: ReduceAction484

private class ReduceAction485

nitc :: ReduceAction485

private class ReduceAction486

nitc :: ReduceAction486

private class ReduceAction487

nitc :: ReduceAction487

private class ReduceAction488

nitc :: ReduceAction488

private class ReduceAction489

nitc :: ReduceAction489

private class ReduceAction49

nitc :: ReduceAction49

private class ReduceAction490

nitc :: ReduceAction490

private class ReduceAction491

nitc :: ReduceAction491

private class ReduceAction495

nitc :: ReduceAction495

private class ReduceAction496

nitc :: ReduceAction496

private class ReduceAction497

nitc :: ReduceAction497

private class ReduceAction498

nitc :: ReduceAction498

private class ReduceAction499

nitc :: ReduceAction499

private class ReduceAction5

nitc :: ReduceAction5

private class ReduceAction50

nitc :: ReduceAction50

private class ReduceAction500

nitc :: ReduceAction500

private class ReduceAction501

nitc :: ReduceAction501

private class ReduceAction502

nitc :: ReduceAction502

private class ReduceAction51

nitc :: ReduceAction51

private class ReduceAction510

nitc :: ReduceAction510

private class ReduceAction511

nitc :: ReduceAction511

private class ReduceAction512

nitc :: ReduceAction512

private class ReduceAction513

nitc :: ReduceAction513

private class ReduceAction514

nitc :: ReduceAction514

private class ReduceAction515

nitc :: ReduceAction515

private class ReduceAction516

nitc :: ReduceAction516

private class ReduceAction517

nitc :: ReduceAction517

private class ReduceAction518

nitc :: ReduceAction518

private class ReduceAction519

nitc :: ReduceAction519

private class ReduceAction52

nitc :: ReduceAction52

private class ReduceAction520

nitc :: ReduceAction520

private class ReduceAction521

nitc :: ReduceAction521

private class ReduceAction522

nitc :: ReduceAction522

private class ReduceAction523

nitc :: ReduceAction523

private class ReduceAction524

nitc :: ReduceAction524

private class ReduceAction525

nitc :: ReduceAction525

private class ReduceAction526

nitc :: ReduceAction526

private class ReduceAction527

nitc :: ReduceAction527

private class ReduceAction529

nitc :: ReduceAction529

private class ReduceAction53

nitc :: ReduceAction53

private class ReduceAction530

nitc :: ReduceAction530

private class ReduceAction532

nitc :: ReduceAction532

private class ReduceAction533

nitc :: ReduceAction533

private class ReduceAction535

nitc :: ReduceAction535

private class ReduceAction536

nitc :: ReduceAction536

private class ReduceAction537

nitc :: ReduceAction537

private class ReduceAction538

nitc :: ReduceAction538

private class ReduceAction539

nitc :: ReduceAction539

private class ReduceAction54

nitc :: ReduceAction54

private class ReduceAction540

nitc :: ReduceAction540

private class ReduceAction541

nitc :: ReduceAction541

private class ReduceAction542

nitc :: ReduceAction542

private class ReduceAction543

nitc :: ReduceAction543

private class ReduceAction544

nitc :: ReduceAction544

private class ReduceAction545

nitc :: ReduceAction545

private class ReduceAction546

nitc :: ReduceAction546

private class ReduceAction547

nitc :: ReduceAction547

private class ReduceAction548

nitc :: ReduceAction548

private class ReduceAction549

nitc :: ReduceAction549

private class ReduceAction55

nitc :: ReduceAction55

private class ReduceAction550

nitc :: ReduceAction550

private class ReduceAction551

nitc :: ReduceAction551

private class ReduceAction552

nitc :: ReduceAction552

private class ReduceAction553

nitc :: ReduceAction553

private class ReduceAction554

nitc :: ReduceAction554

private class ReduceAction555

nitc :: ReduceAction555

private class ReduceAction556

nitc :: ReduceAction556

private class ReduceAction557

nitc :: ReduceAction557

private class ReduceAction558

nitc :: ReduceAction558

private class ReduceAction559

nitc :: ReduceAction559

private class ReduceAction56

nitc :: ReduceAction56

private class ReduceAction560

nitc :: ReduceAction560

private class ReduceAction561

nitc :: ReduceAction561

private class ReduceAction562

nitc :: ReduceAction562

private class ReduceAction563

nitc :: ReduceAction563

private class ReduceAction564

nitc :: ReduceAction564

private class ReduceAction565

nitc :: ReduceAction565

private class ReduceAction566

nitc :: ReduceAction566

private class ReduceAction567

nitc :: ReduceAction567

private class ReduceAction568

nitc :: ReduceAction568

private class ReduceAction569

nitc :: ReduceAction569

private class ReduceAction57

nitc :: ReduceAction57

private class ReduceAction570

nitc :: ReduceAction570

private class ReduceAction571

nitc :: ReduceAction571

private class ReduceAction572

nitc :: ReduceAction572

private class ReduceAction573

nitc :: ReduceAction573

private class ReduceAction574

nitc :: ReduceAction574

private class ReduceAction575

nitc :: ReduceAction575

private class ReduceAction576

nitc :: ReduceAction576

private class ReduceAction577

nitc :: ReduceAction577

private class ReduceAction578

nitc :: ReduceAction578

private class ReduceAction579

nitc :: ReduceAction579

private class ReduceAction58

nitc :: ReduceAction58

private class ReduceAction580

nitc :: ReduceAction580

private class ReduceAction581

nitc :: ReduceAction581

private class ReduceAction582

nitc :: ReduceAction582

private class ReduceAction583

nitc :: ReduceAction583

private class ReduceAction584

nitc :: ReduceAction584

private class ReduceAction585

nitc :: ReduceAction585

private class ReduceAction586

nitc :: ReduceAction586

private class ReduceAction587

nitc :: ReduceAction587

private class ReduceAction588

nitc :: ReduceAction588

private class ReduceAction589

nitc :: ReduceAction589

private class ReduceAction59

nitc :: ReduceAction59

private class ReduceAction590

nitc :: ReduceAction590

private class ReduceAction591

nitc :: ReduceAction591

private class ReduceAction592

nitc :: ReduceAction592

private class ReduceAction593

nitc :: ReduceAction593

private class ReduceAction594

nitc :: ReduceAction594

private class ReduceAction595

nitc :: ReduceAction595

private class ReduceAction596

nitc :: ReduceAction596

private class ReduceAction597

nitc :: ReduceAction597

private class ReduceAction598

nitc :: ReduceAction598

private class ReduceAction599

nitc :: ReduceAction599

private class ReduceAction6

nitc :: ReduceAction6

private class ReduceAction60

nitc :: ReduceAction60

private class ReduceAction600

nitc :: ReduceAction600

private class ReduceAction601

nitc :: ReduceAction601

private class ReduceAction602

nitc :: ReduceAction602

private class ReduceAction603

nitc :: ReduceAction603

private class ReduceAction604

nitc :: ReduceAction604

private class ReduceAction605

nitc :: ReduceAction605

private class ReduceAction606

nitc :: ReduceAction606

private class ReduceAction607

nitc :: ReduceAction607

private class ReduceAction608

nitc :: ReduceAction608

private class ReduceAction609

nitc :: ReduceAction609

private class ReduceAction61

nitc :: ReduceAction61

private class ReduceAction610

nitc :: ReduceAction610

private class ReduceAction611

nitc :: ReduceAction611

private class ReduceAction612

nitc :: ReduceAction612

private class ReduceAction613

nitc :: ReduceAction613

private class ReduceAction614

nitc :: ReduceAction614

private class ReduceAction615

nitc :: ReduceAction615

private class ReduceAction616

nitc :: ReduceAction616

private class ReduceAction617

nitc :: ReduceAction617

private class ReduceAction618

nitc :: ReduceAction618

private class ReduceAction619

nitc :: ReduceAction619

private class ReduceAction62

nitc :: ReduceAction62

private class ReduceAction621

nitc :: ReduceAction621

private class ReduceAction622

nitc :: ReduceAction622

private class ReduceAction623

nitc :: ReduceAction623

private class ReduceAction624

nitc :: ReduceAction624

private class ReduceAction625

nitc :: ReduceAction625

private class ReduceAction626

nitc :: ReduceAction626

private class ReduceAction627

nitc :: ReduceAction627

private class ReduceAction628

nitc :: ReduceAction628

private class ReduceAction629

nitc :: ReduceAction629

private class ReduceAction63

nitc :: ReduceAction63

private class ReduceAction630

nitc :: ReduceAction630

private class ReduceAction631

nitc :: ReduceAction631

private class ReduceAction632

nitc :: ReduceAction632

private class ReduceAction633

nitc :: ReduceAction633

private class ReduceAction635

nitc :: ReduceAction635

private class ReduceAction636

nitc :: ReduceAction636

private class ReduceAction637

nitc :: ReduceAction637

private class ReduceAction638

nitc :: ReduceAction638

private class ReduceAction639

nitc :: ReduceAction639

private class ReduceAction64

nitc :: ReduceAction64

private class ReduceAction641

nitc :: ReduceAction641

private class ReduceAction643

nitc :: ReduceAction643

private class ReduceAction644

nitc :: ReduceAction644

private class ReduceAction645

nitc :: ReduceAction645

private class ReduceAction646

nitc :: ReduceAction646

private class ReduceAction648

nitc :: ReduceAction648

private class ReduceAction65

nitc :: ReduceAction65

private class ReduceAction650

nitc :: ReduceAction650

private class ReduceAction651

nitc :: ReduceAction651

private class ReduceAction652

nitc :: ReduceAction652

private class ReduceAction653

nitc :: ReduceAction653

private class ReduceAction654

nitc :: ReduceAction654

private class ReduceAction655

nitc :: ReduceAction655

private class ReduceAction656

nitc :: ReduceAction656

private class ReduceAction657

nitc :: ReduceAction657

private class ReduceAction659

nitc :: ReduceAction659

private class ReduceAction66

nitc :: ReduceAction66

private class ReduceAction661

nitc :: ReduceAction661

private class ReduceAction663

nitc :: ReduceAction663

private class ReduceAction665

nitc :: ReduceAction665

private class ReduceAction666

nitc :: ReduceAction666

private class ReduceAction668

nitc :: ReduceAction668

private class ReduceAction669

nitc :: ReduceAction669

private class ReduceAction67

nitc :: ReduceAction67

private class ReduceAction671

nitc :: ReduceAction671

private class ReduceAction672

nitc :: ReduceAction672

private class ReduceAction673

nitc :: ReduceAction673

private class ReduceAction675

nitc :: ReduceAction675

private class ReduceAction677

nitc :: ReduceAction677

private class ReduceAction678

nitc :: ReduceAction678

private class ReduceAction679

nitc :: ReduceAction679

private class ReduceAction68

nitc :: ReduceAction68

private class ReduceAction680

nitc :: ReduceAction680

private class ReduceAction682

nitc :: ReduceAction682

private class ReduceAction683

nitc :: ReduceAction683

private class ReduceAction684

nitc :: ReduceAction684

private class ReduceAction685

nitc :: ReduceAction685

private class ReduceAction686

nitc :: ReduceAction686

private class ReduceAction687

nitc :: ReduceAction687

private class ReduceAction688

nitc :: ReduceAction688

private class ReduceAction689

nitc :: ReduceAction689

private class ReduceAction69

nitc :: ReduceAction69

private class ReduceAction690

nitc :: ReduceAction690

private class ReduceAction691

nitc :: ReduceAction691

private class ReduceAction692

nitc :: ReduceAction692

private class ReduceAction693

nitc :: ReduceAction693

private class ReduceAction694

nitc :: ReduceAction694

private class ReduceAction695

nitc :: ReduceAction695

private class ReduceAction696

nitc :: ReduceAction696

private class ReduceAction697

nitc :: ReduceAction697

private class ReduceAction698

nitc :: ReduceAction698

private class ReduceAction699

nitc :: ReduceAction699

private class ReduceAction7

nitc :: ReduceAction7

private class ReduceAction70

nitc :: ReduceAction70

private class ReduceAction700

nitc :: ReduceAction700

private class ReduceAction701

nitc :: ReduceAction701

private class ReduceAction702

nitc :: ReduceAction702

private class ReduceAction703

nitc :: ReduceAction703

private class ReduceAction704

nitc :: ReduceAction704

private class ReduceAction705

nitc :: ReduceAction705

private class ReduceAction706

nitc :: ReduceAction706

private class ReduceAction707

nitc :: ReduceAction707

private class ReduceAction708

nitc :: ReduceAction708

private class ReduceAction709

nitc :: ReduceAction709

private class ReduceAction71

nitc :: ReduceAction71

private class ReduceAction710

nitc :: ReduceAction710

private class ReduceAction712

nitc :: ReduceAction712

private class ReduceAction713

nitc :: ReduceAction713

private class ReduceAction714

nitc :: ReduceAction714

private class ReduceAction716

nitc :: ReduceAction716

private class ReduceAction718

nitc :: ReduceAction718

private class ReduceAction72

nitc :: ReduceAction72

private class ReduceAction720

nitc :: ReduceAction720

private class ReduceAction722

nitc :: ReduceAction722

private class ReduceAction724

nitc :: ReduceAction724

private class ReduceAction726

nitc :: ReduceAction726

private class ReduceAction728

nitc :: ReduceAction728

private class ReduceAction73

nitc :: ReduceAction73

private class ReduceAction730

nitc :: ReduceAction730

private class ReduceAction732

nitc :: ReduceAction732

private class ReduceAction734

nitc :: ReduceAction734

private class ReduceAction736

nitc :: ReduceAction736

private class ReduceAction738

nitc :: ReduceAction738

private class ReduceAction74

nitc :: ReduceAction74

private class ReduceAction740

nitc :: ReduceAction740

private class ReduceAction742

nitc :: ReduceAction742

private class ReduceAction744

nitc :: ReduceAction744

private class ReduceAction746

nitc :: ReduceAction746

private class ReduceAction747

nitc :: ReduceAction747

private class ReduceAction748

nitc :: ReduceAction748

private class ReduceAction749

nitc :: ReduceAction749

private class ReduceAction75

nitc :: ReduceAction75

private class ReduceAction750

nitc :: ReduceAction750

private class ReduceAction751

nitc :: ReduceAction751

private class ReduceAction752

nitc :: ReduceAction752

private class ReduceAction753

nitc :: ReduceAction753

private class ReduceAction754

nitc :: ReduceAction754

private class ReduceAction755

nitc :: ReduceAction755

private class ReduceAction756

nitc :: ReduceAction756

private class ReduceAction757

nitc :: ReduceAction757

private class ReduceAction758

nitc :: ReduceAction758

private class ReduceAction76

nitc :: ReduceAction76

private class ReduceAction760

nitc :: ReduceAction760

private class ReduceAction761

nitc :: ReduceAction761

private class ReduceAction762

nitc :: ReduceAction762

private class ReduceAction763

nitc :: ReduceAction763

private class ReduceAction764

nitc :: ReduceAction764

private class ReduceAction765

nitc :: ReduceAction765

private class ReduceAction766

nitc :: ReduceAction766

private class ReduceAction767

nitc :: ReduceAction767

private class ReduceAction768

nitc :: ReduceAction768

private class ReduceAction769

nitc :: ReduceAction769

private class ReduceAction77

nitc :: ReduceAction77

private class ReduceAction771

nitc :: ReduceAction771

private class ReduceAction772

nitc :: ReduceAction772

private class ReduceAction773

nitc :: ReduceAction773

private class ReduceAction775

nitc :: ReduceAction775

private class ReduceAction776

nitc :: ReduceAction776

private class ReduceAction777

nitc :: ReduceAction777

private class ReduceAction778

nitc :: ReduceAction778

private class ReduceAction78

nitc :: ReduceAction78

private class ReduceAction780

nitc :: ReduceAction780

private class ReduceAction781

nitc :: ReduceAction781

private class ReduceAction782

nitc :: ReduceAction782

private class ReduceAction783

nitc :: ReduceAction783

private class ReduceAction785

nitc :: ReduceAction785

private class ReduceAction787

nitc :: ReduceAction787

private class ReduceAction788

nitc :: ReduceAction788

private class ReduceAction789

nitc :: ReduceAction789

private class ReduceAction79

nitc :: ReduceAction79

private class ReduceAction790

nitc :: ReduceAction790

private class ReduceAction791

nitc :: ReduceAction791

private class ReduceAction792

nitc :: ReduceAction792

private class ReduceAction795

nitc :: ReduceAction795

private class ReduceAction796

nitc :: ReduceAction796

private class ReduceAction797

nitc :: ReduceAction797

private class ReduceAction798

nitc :: ReduceAction798

private class ReduceAction799

nitc :: ReduceAction799

private class ReduceAction8

nitc :: ReduceAction8

private class ReduceAction80

nitc :: ReduceAction80

private class ReduceAction801

nitc :: ReduceAction801

private class ReduceAction802

nitc :: ReduceAction802

private class ReduceAction803

nitc :: ReduceAction803

private class ReduceAction804

nitc :: ReduceAction804

private class ReduceAction805

nitc :: ReduceAction805

private class ReduceAction806

nitc :: ReduceAction806

private class ReduceAction807

nitc :: ReduceAction807

private class ReduceAction808

nitc :: ReduceAction808

private class ReduceAction809

nitc :: ReduceAction809

private class ReduceAction81

nitc :: ReduceAction81

private class ReduceAction810

nitc :: ReduceAction810

private class ReduceAction811

nitc :: ReduceAction811

private class ReduceAction812

nitc :: ReduceAction812

private class ReduceAction813

nitc :: ReduceAction813

private class ReduceAction814

nitc :: ReduceAction814

private class ReduceAction815

nitc :: ReduceAction815

private class ReduceAction816

nitc :: ReduceAction816

private class ReduceAction817

nitc :: ReduceAction817

private class ReduceAction818

nitc :: ReduceAction818

private class ReduceAction819

nitc :: ReduceAction819

private class ReduceAction82

nitc :: ReduceAction82

private class ReduceAction820

nitc :: ReduceAction820

private class ReduceAction821

nitc :: ReduceAction821

private class ReduceAction822

nitc :: ReduceAction822

private class ReduceAction83

nitc :: ReduceAction83

private class ReduceAction84

nitc :: ReduceAction84

private class ReduceAction843

nitc :: ReduceAction843

private class ReduceAction844

nitc :: ReduceAction844

private class ReduceAction845

nitc :: ReduceAction845

private class ReduceAction846

nitc :: ReduceAction846

private class ReduceAction847

nitc :: ReduceAction847

private class ReduceAction848

nitc :: ReduceAction848

private class ReduceAction849

nitc :: ReduceAction849

private class ReduceAction85

nitc :: ReduceAction85

private class ReduceAction850

nitc :: ReduceAction850

private class ReduceAction851

nitc :: ReduceAction851

private class ReduceAction852

nitc :: ReduceAction852

private class ReduceAction854

nitc :: ReduceAction854

private class ReduceAction855

nitc :: ReduceAction855

private class ReduceAction856

nitc :: ReduceAction856

private class ReduceAction857

nitc :: ReduceAction857

private class ReduceAction858

nitc :: ReduceAction858

private class ReduceAction859

nitc :: ReduceAction859

private class ReduceAction86

nitc :: ReduceAction86

private class ReduceAction860

nitc :: ReduceAction860

private class ReduceAction861

nitc :: ReduceAction861

private class ReduceAction862

nitc :: ReduceAction862

private class ReduceAction863

nitc :: ReduceAction863

private class ReduceAction864

nitc :: ReduceAction864

private class ReduceAction865

nitc :: ReduceAction865

private class ReduceAction866

nitc :: ReduceAction866

private class ReduceAction867

nitc :: ReduceAction867

private class ReduceAction868

nitc :: ReduceAction868

private class ReduceAction869

nitc :: ReduceAction869

private class ReduceAction87

nitc :: ReduceAction87

private class ReduceAction870

nitc :: ReduceAction870

private class ReduceAction871

nitc :: ReduceAction871

private class ReduceAction872

nitc :: ReduceAction872

private class ReduceAction873

nitc :: ReduceAction873

private class ReduceAction874

nitc :: ReduceAction874

private class ReduceAction875

nitc :: ReduceAction875

private class ReduceAction876

nitc :: ReduceAction876

private class ReduceAction877

nitc :: ReduceAction877

private class ReduceAction878

nitc :: ReduceAction878

private class ReduceAction879

nitc :: ReduceAction879

private class ReduceAction88

nitc :: ReduceAction88

private class ReduceAction880

nitc :: ReduceAction880

private class ReduceAction881

nitc :: ReduceAction881

private class ReduceAction882

nitc :: ReduceAction882

private class ReduceAction883

nitc :: ReduceAction883

private class ReduceAction884

nitc :: ReduceAction884

private class ReduceAction885

nitc :: ReduceAction885

private class ReduceAction886

nitc :: ReduceAction886

private class ReduceAction887

nitc :: ReduceAction887

private class ReduceAction888

nitc :: ReduceAction888

private class ReduceAction889

nitc :: ReduceAction889

private class ReduceAction89

nitc :: ReduceAction89

private class ReduceAction890

nitc :: ReduceAction890

private class ReduceAction891

nitc :: ReduceAction891

private class ReduceAction892

nitc :: ReduceAction892

private class ReduceAction893

nitc :: ReduceAction893

private class ReduceAction894

nitc :: ReduceAction894

private class ReduceAction895

nitc :: ReduceAction895

private class ReduceAction896

nitc :: ReduceAction896

private class ReduceAction897

nitc :: ReduceAction897

private class ReduceAction898

nitc :: ReduceAction898

private class ReduceAction899

nitc :: ReduceAction899

private class ReduceAction9

nitc :: ReduceAction9

private class ReduceAction90

nitc :: ReduceAction90

private class ReduceAction900

nitc :: ReduceAction900

private class ReduceAction901

nitc :: ReduceAction901

private class ReduceAction902

nitc :: ReduceAction902

private class ReduceAction903

nitc :: ReduceAction903

private class ReduceAction904

nitc :: ReduceAction904

private class ReduceAction905

nitc :: ReduceAction905

private class ReduceAction906

nitc :: ReduceAction906

private class ReduceAction907

nitc :: ReduceAction907

private class ReduceAction908

nitc :: ReduceAction908

private class ReduceAction909

nitc :: ReduceAction909

private class ReduceAction91

nitc :: ReduceAction91

private class ReduceAction913

nitc :: ReduceAction913

private class ReduceAction916

nitc :: ReduceAction916

private class ReduceAction917

nitc :: ReduceAction917

private class ReduceAction918

nitc :: ReduceAction918

private class ReduceAction919

nitc :: ReduceAction919

private class ReduceAction92

nitc :: ReduceAction92

private class ReduceAction920

nitc :: ReduceAction920

private class ReduceAction921

nitc :: ReduceAction921

private class ReduceAction922

nitc :: ReduceAction922

private class ReduceAction923

nitc :: ReduceAction923

private class ReduceAction924

nitc :: ReduceAction924

private class ReduceAction926

nitc :: ReduceAction926

private class ReduceAction928

nitc :: ReduceAction928

private class ReduceAction929

nitc :: ReduceAction929

private class ReduceAction93

nitc :: ReduceAction93

private class ReduceAction931

nitc :: ReduceAction931

private class ReduceAction932

nitc :: ReduceAction932

private class ReduceAction933

nitc :: ReduceAction933

private class ReduceAction935

nitc :: ReduceAction935

private class ReduceAction936

nitc :: ReduceAction936

private class ReduceAction937

nitc :: ReduceAction937

private class ReduceAction938

nitc :: ReduceAction938

private class ReduceAction939

nitc :: ReduceAction939

private class ReduceAction94

nitc :: ReduceAction94

private class ReduceAction940

nitc :: ReduceAction940

private class ReduceAction941

nitc :: ReduceAction941

private class ReduceAction942

nitc :: ReduceAction942

private class ReduceAction943

nitc :: ReduceAction943

private class ReduceAction945

nitc :: ReduceAction945

private class ReduceAction946

nitc :: ReduceAction946

private class ReduceAction947

nitc :: ReduceAction947

private class ReduceAction948

nitc :: ReduceAction948

private class ReduceAction949

nitc :: ReduceAction949

private class ReduceAction95

nitc :: ReduceAction95

private class ReduceAction950

nitc :: ReduceAction950

private class ReduceAction951

nitc :: ReduceAction951

private class ReduceAction953

nitc :: ReduceAction953

private class ReduceAction954

nitc :: ReduceAction954

private class ReduceAction956

nitc :: ReduceAction956

private class ReduceAction957

nitc :: ReduceAction957

private class ReduceAction96

nitc :: ReduceAction96

private class ReduceAction960

nitc :: ReduceAction960

private class ReduceAction961

nitc :: ReduceAction961

private class ReduceAction964

nitc :: ReduceAction964

private class ReduceAction966

nitc :: ReduceAction966

private class ReduceAction967

nitc :: ReduceAction967

private class ReduceAction968

nitc :: ReduceAction968

private class ReduceAction97

nitc :: ReduceAction97

private class ReduceAction970

nitc :: ReduceAction970

private class ReduceAction972

nitc :: ReduceAction972

private class ReduceAction973

nitc :: ReduceAction973

private class ReduceAction976

nitc :: ReduceAction976

private class ReduceAction98

nitc :: ReduceAction98

private class ReduceAction99

nitc :: ReduceAction99

Redefined classes

redef class Parser

nitc :: parser $ Parser

The parser of the Nit language.

All class definitions

redef class Parser

nitc :: parser $ Parser

The parser of the Nit language.
private class ReduceAction0

nitc $ ReduceAction0

private class ReduceAction1

nitc $ ReduceAction1

private class ReduceAction10

nitc $ ReduceAction10

private class ReduceAction11

nitc $ ReduceAction11

private class ReduceAction12

nitc $ ReduceAction12

private class ReduceAction13

nitc $ ReduceAction13

private class ReduceAction14

nitc $ ReduceAction14

private class ReduceAction15

nitc $ ReduceAction15

private class ReduceAction16

nitc $ ReduceAction16

private class ReduceAction17

nitc $ ReduceAction17

private class ReduceAction18

nitc $ ReduceAction18

private class ReduceAction19

nitc $ ReduceAction19

private class ReduceAction2

nitc $ ReduceAction2

private class ReduceAction20

nitc $ ReduceAction20

private class ReduceAction21

nitc $ ReduceAction21

private class ReduceAction22

nitc $ ReduceAction22

private class ReduceAction23

nitc $ ReduceAction23

private class ReduceAction24

nitc $ ReduceAction24

private class ReduceAction25

nitc $ ReduceAction25

private class ReduceAction26

nitc $ ReduceAction26

private class ReduceAction27

nitc $ ReduceAction27

private class ReduceAction28

nitc $ ReduceAction28

private class ReduceAction29

nitc $ ReduceAction29

private class ReduceAction3

nitc $ ReduceAction3

private class ReduceAction30

nitc $ ReduceAction30

private class ReduceAction31

nitc $ ReduceAction31

private class ReduceAction32

nitc $ ReduceAction32

private class ReduceAction33

nitc $ ReduceAction33

private class ReduceAction34

nitc $ ReduceAction34

private class ReduceAction35

nitc $ ReduceAction35

private class ReduceAction36

nitc $ ReduceAction36

private class ReduceAction37

nitc $ ReduceAction37

private class ReduceAction38

nitc $ ReduceAction38

private class ReduceAction39

nitc $ ReduceAction39

private class ReduceAction4

nitc $ ReduceAction4

private class ReduceAction40

nitc $ ReduceAction40

private class ReduceAction41

nitc $ ReduceAction41

private class ReduceAction42

nitc $ ReduceAction42

private class ReduceAction43

nitc $ ReduceAction43

private class ReduceAction44

nitc $ ReduceAction44

private class ReduceAction45

nitc $ ReduceAction45

private class ReduceAction46

nitc $ ReduceAction46

private class ReduceAction47

nitc $ ReduceAction47

private class ReduceAction48

nitc $ ReduceAction48

private class ReduceAction49

nitc $ ReduceAction49

private class ReduceAction5

nitc $ ReduceAction5

private class ReduceAction50

nitc $ ReduceAction50

private class ReduceAction51

nitc $ ReduceAction51

private class ReduceAction52

nitc $ ReduceAction52

private class ReduceAction53

nitc $ ReduceAction53

private class ReduceAction54

nitc $ ReduceAction54

private class ReduceAction55

nitc $ ReduceAction55

private class ReduceAction56

nitc $ ReduceAction56

private class ReduceAction57

nitc $ ReduceAction57

private class ReduceAction58

nitc $ ReduceAction58

private class ReduceAction59

nitc $ ReduceAction59

private class ReduceAction6

nitc $ ReduceAction6

private class ReduceAction60

nitc $ ReduceAction60

private class ReduceAction61

nitc $ ReduceAction61

private class ReduceAction62

nitc $ ReduceAction62

private class ReduceAction63

nitc $ ReduceAction63

private class ReduceAction64

nitc $ ReduceAction64

private class ReduceAction65

nitc $ ReduceAction65

private class ReduceAction66

nitc $ ReduceAction66

private class ReduceAction67

nitc $ ReduceAction67

private class ReduceAction68

nitc $ ReduceAction68

private class ReduceAction69

nitc $ ReduceAction69

private class ReduceAction7

nitc $ ReduceAction7

private class ReduceAction70

nitc $ ReduceAction70

private class ReduceAction71

nitc $ ReduceAction71

private class ReduceAction72

nitc $ ReduceAction72

private class ReduceAction73

nitc $ ReduceAction73

private class ReduceAction74

nitc $ ReduceAction74

private class ReduceAction75

nitc $ ReduceAction75

private class ReduceAction76

nitc $ ReduceAction76

private class ReduceAction77

nitc $ ReduceAction77

private class ReduceAction78

nitc $ ReduceAction78

private class ReduceAction79

nitc $ ReduceAction79

private class ReduceAction8

nitc $ ReduceAction8

private class ReduceAction80

nitc $ ReduceAction80

private class ReduceAction81

nitc $ ReduceAction81

private class ReduceAction82

nitc $ ReduceAction82

private class ReduceAction83

nitc $ ReduceAction83

private class ReduceAction84

nitc $ ReduceAction84

private class ReduceAction85

nitc $ ReduceAction85

private class ReduceAction86

nitc $ ReduceAction86

private class ReduceAction87

nitc $ ReduceAction87

private class ReduceAction88

nitc $ ReduceAction88

private class ReduceAction89

nitc $ ReduceAction89

private class ReduceAction9

nitc $ ReduceAction9

private class ReduceAction90

nitc $ ReduceAction90

private class ReduceAction91

nitc $ ReduceAction91

private class ReduceAction92

nitc $ ReduceAction92

private class ReduceAction93

nitc $ ReduceAction93

private class ReduceAction94

nitc $ ReduceAction94

private class ReduceAction95

nitc $ ReduceAction95

private class ReduceAction96

nitc $ ReduceAction96

private class ReduceAction97

nitc $ ReduceAction97

private class ReduceAction98

nitc $ ReduceAction98

private class ReduceAction99

nitc $ ReduceAction99

package_diagram nitc::parser parser nitc::parser_work parser_work nitc::parser->nitc::parser_work nitc::parser_prod parser_prod nitc::parser_work->nitc::parser_prod ...nitc::parser_prod ... ...nitc::parser_prod->nitc::parser_prod nitc::phase phase nitc::phase->nitc::parser nitc::modelbuilder_base modelbuilder_base nitc::modelbuilder_base->nitc::parser nitc::explain_assert_api explain_assert_api nitc::explain_assert_api->nitc::parser nitc::parser_util parser_util nitc::parser_util->nitc::parser nitc::astutil astutil nitc::astutil->nitc::parser nitc::literal literal nitc::literal->nitc::phase nitc::modelbuilder modelbuilder nitc::modelbuilder->nitc::phase nitc::simple_misc_analysis simple_misc_analysis nitc::simple_misc_analysis->nitc::phase nitc::literal... ... nitc::literal...->nitc::literal nitc::modelbuilder... ... nitc::modelbuilder...->nitc::modelbuilder nitc::simple_misc_analysis... ... nitc::simple_misc_analysis...->nitc::simple_misc_analysis nitc::loader loader nitc::loader->nitc::modelbuilder_base nitc::loader... ... nitc::loader...->nitc::loader nitc::naive_interpreter naive_interpreter nitc::naive_interpreter->nitc::explain_assert_api nitc::rapid_type_analysis rapid_type_analysis nitc::rapid_type_analysis->nitc::explain_assert_api nitc::explain_assert explain_assert nitc::explain_assert->nitc::explain_assert_api nitc::naive_interpreter... ... nitc::naive_interpreter...->nitc::naive_interpreter nitc::rapid_type_analysis... ... nitc::rapid_type_analysis...->nitc::rapid_type_analysis nitc::explain_assert... ... nitc::explain_assert...->nitc::explain_assert nitc::platform platform nitc::platform->nitc::parser_util nitc::serialization_model_phase serialization_model_phase nitc::serialization_model_phase->nitc::parser_util nitc::deriving deriving nitc::deriving->nitc::parser_util nitc::parallelization_phase parallelization_phase nitc::parallelization_phase->nitc::parser_util nitc::i18n_phase i18n_phase nitc::i18n_phase->nitc::parser_util nitc::regex_phase regex_phase nitc::regex_phase->nitc::parser_util nitc::actors_injection_phase actors_injection_phase nitc::actors_injection_phase->nitc::parser_util nitc::app_annotations app_annotations nitc::app_annotations->nitc::parser_util nitc::testing_base testing_base nitc::testing_base->nitc::parser_util nitc::test_parser test_parser nitc::test_parser->nitc::parser_util nitc::test_parser->nitc::astutil nitc::platform... ... nitc::platform...->nitc::platform nitc::serialization_model_phase... ... nitc::serialization_model_phase...->nitc::serialization_model_phase nitc::deriving... ... nitc::deriving...->nitc::deriving nitc::parallelization_phase... ... nitc::parallelization_phase...->nitc::parallelization_phase nitc::i18n_phase... ... nitc::i18n_phase...->nitc::i18n_phase nitc::regex_phase... ... nitc::regex_phase...->nitc::regex_phase nitc::actors_injection_phase... ... nitc::actors_injection_phase...->nitc::actors_injection_phase nitc::app_annotations... ... nitc::app_annotations...->nitc::app_annotations nitc::testing_base... ... nitc::testing_base...->nitc::testing_base nitc::test_parser... ... nitc::test_parser...->nitc::test_parser nitc::highlight highlight nitc::highlight->nitc::astutil nitc::pretty pretty nitc::pretty->nitc::astutil nitc::highlight... ... nitc::highlight...->nitc::highlight nitc::pretty... ... nitc::pretty...->nitc::pretty

Ancestors

module abstract_collection

core :: abstract_collection

Abstract collection classes and services.
module abstract_text

core :: abstract_text

Abstract class for manipulation of sequences of characters
module array

core :: array

This module introduces the standard array structure.
module bitset

core :: bitset

Services to handle BitSet
module bytes

core :: bytes

Services for byte streams and arrays
module circular_array

core :: circular_array

Efficient data structure to access both end of the sequence.
module codec_base

core :: codec_base

Base for codecs to use with streams
module codecs

core :: codecs

Group module for all codec-related manipulations
module collection

core :: collection

This module define several collection classes.
module console

console :: console

Defines some ANSI Terminal Control Escape Sequences.
module core

core :: core

Standard classes and methods used by default by Nit programs and libraries.
module environ

core :: environ

Access to the environment variables of the process
module error

core :: error

Standard error-management infrastructure.
module exec

core :: exec

Invocation and management of operating system sub-processes.
module file

core :: file

File manipulations (create, read, write, etc.)
module fixed_ints

core :: fixed_ints

Basic integers of fixed-precision
module fixed_ints_text

core :: fixed_ints_text

Text services to complement fixed_ints
module flat

core :: flat

All the array-based text representations
module gc

core :: gc

Access to the Nit internal garbage collection mechanism
module hash_collection

core :: hash_collection

Introduce HashMap and HashSet.
module iso8859_1

core :: iso8859_1

Codec for ISO8859-1 I/O
module kernel

core :: kernel

Most basic classes and methods.
module lexer

nitc :: lexer

Lexer and its tokens.
module lexer_work

nitc :: lexer_work

Internal algorithm and data structures for the Nit lexer
module list

core :: list

This module handle double linked lists
module location

nitc :: location

Nit source-file and locations in source-file
module math

core :: math

Mathematical operations
module native

core :: native

Native structures for text and bytes
module numeric

core :: numeric

Advanced services for Numeric types
module ordered_tree

ordered_tree :: ordered_tree

Manipulation and presentation of ordered trees.
module parser_nodes

nitc :: parser_nodes

AST nodes of the Nit language
module parser_prod

nitc :: parser_prod

Production AST nodes full definition.
module protocol

core :: protocol

module queue

core :: queue

Queuing data structures and wrappers
module range

core :: range

Module for range of discrete objects.
module re

core :: re

Regular expression support for all services based on Pattern
module ropes

core :: ropes

Tree-based representation of a String.
module sorter

core :: sorter

This module contains classes used to compare things and sorts arrays.
module stream

core :: stream

Input and output streams of characters
module tables

nitc :: tables

Module that interfaces the parsing tables.
module text

core :: text

All the classes and methods related to the manipulation of text entities
module time

core :: time

Management of time and dates
module union_find

core :: union_find

union–find algorithm using an efficient disjoint-set data structure
module utf8

core :: utf8

Codec for UTF-8 I/O

Parents

module parser_work

nitc :: parser_work

Internal algorithm and data structures for the Nit parser

Children

module astutil

nitc :: astutil

Additional features on Nit AST
module explain_assert_api

nitc :: explain_assert_api

Explain failed assert to the console (service declaration only)
module modelbuilder_base

nitc :: modelbuilder_base

Load nit source files and build the associated model
module parser_util

nitc :: parser_util

Utils and tools related to parsers and AST
module phase

nitc :: phase

Phases of the processing of nit programs

Descendants

module a_star-m

a_star-m

module abstract_compiler

nitc :: abstract_compiler

Abstract compiler
module actors_generation_phase

nitc :: actors_generation_phase

Generate a support module for each module that contain a class annotated with is actor
module actors_injection_phase

nitc :: actors_injection_phase

Injects model for the classes annotated with "is actor" so
module android

nitc :: android

Compile program for the Android platform
module android_annotations

nitc :: android_annotations

Additionnal annotations to gather metadata on Android projects
module annotation

nitc :: annotation

Management and utilities on annotations
module api

nitc :: api

Components required to build a web server about the nit model.
module api_auth

nitc :: api_auth

module api_base

nitc :: api_base

Base classes used by nitweb.
module api_docdown

nitc :: api_docdown

Nitdoc specific Markdown format handling for Nitweb
module api_feedback

nitc :: api_feedback

Feedback related features
module api_light

nitc :: api_light

Highlight and collect messages from a piece of code
module api_model

nitc :: api_model

module app_annotations

nitc :: app_annotations

Annotations to gather metadata on app.nit projects
module ast_metrics

nitc :: ast_metrics

Metrics about the nodes and identifiers in the AST
module astbuilder

nitc :: astbuilder

Instantiation and transformation of semantic nodes in the AST of expressions and statements
module auto_super_init

nitc :: auto_super_init

Computing of super-constructors that must be implicitly called at the begin of constructors.
module c

nitc :: c

Support for nesting C code within a Nit program using its FFI
module c_compiler_options

nitc :: c_compiler_options

Offers the annotations cflags and ldflags to specify
module catalog

nitc :: catalog

Basic catalog generator for Nit packages
module check_annotation

nitc :: check_annotation

Check that annotation present in the AST are either primitive or user-declared
module code_gen

nitc :: code_gen

Main frontend phases plus code generation phases
module commands_base

nitc :: commands_base

Documentation commands
module commands_catalog

nitc :: commands_catalog

Commands to retrieve Catalog related data
module commands_docdown

nitc :: commands_docdown

Doc down related queries
module commands_graph

nitc :: commands_graph

Graph commands
module commands_http

nitc :: commands_http

Initialize commands from HTTP requests
module commands_model

nitc :: commands_model

Doc commands about a Model or a MEntity
module commands_parser

nitc :: commands_parser

A parser that create DocCommand from a string
module commands_usage

nitc :: commands_usage

Commands about how mentities are used
module compilation

nitc :: compilation

The compilation module of the VirtualMachine
module compiler

nitc :: compiler

Compilation to C
module compiler_ffi

nitc :: compiler_ffi

Full FFI support for the compiler
module compiler_serialization

nitc :: compiler_serialization

Serialization support for the compiler
module contracts

nitc :: contracts

Module to build contract
module cpp

nitc :: cpp

Supports the use of the C++ language through the FFI
module deriving

nitc :: deriving

Injection of automatic method definitions for standard methods, based on the attributes of the classes
module detect_covariance

nitc :: detect_covariance

Detect the static usage of covariance in the code.
module detect_variance_constraints

nitc :: detect_variance_constraints

Collect metrics about detected variances constraints on formal types.
module div_by_zero

nitc :: div_by_zero

Detection of divisions by zero in obvious cases
module dynamic_loading_ffi

nitc :: dynamic_loading_ffi

Execute FFI code by creating and loading shared libraries
module emscripten

nitc :: emscripten

Compile to JavaScript using the Emscripten SDK
module explain_assert

nitc :: explain_assert

Explain failed assert to the console by modifying the AST.
module extern_classes

nitc :: extern_classes

Manages all extern classes and their associated foreign type.
module extra_java_files

nitc :: extra_java_files

Intro the annotation extra_java_files to compile extra java files
module ffi

nitc :: ffi

Full FFI support, independent of the compiler
module ffi_base

nitc :: ffi_base

Tools and utilities for implement FFI with different languages
module flow

nitc :: flow

Intraprocedural static flow.
module frontend

nitc :: frontend

Collect and orchestration of main frontend phases
module generate_hierarchies

nitc :: generate_hierarchies

Create dot files for various hierarchies of a model.
module global_compiler

nitc :: global_compiler

Global compilation of a Nit program
module glsl_validation

nitc :: glsl_validation

Check shader code within Nit modules using the tool glslangValidator
module header_dependency

nitc :: header_dependency

Tracks which modules has public header code that must be imported
module highlight

nitc :: highlight

Highlighting of Nit AST
module html_commands

nitc :: html_commands

Render commands results as HTML
module html_model

nitc :: html_model

Translate mentities to html blocks.
module htmlight

nitc :: htmlight

Highlighting of Nit AST with HTML
module i18n_phase

nitc :: i18n_phase

Basic support of internationalization through the generation of id-to-string tables
module inheritance_metrics

nitc :: inheritance_metrics

Collect metrics about inheritance usage
module interpreter

nitc :: interpreter

Interpretation of Nit programs
module ios

nitc :: ios

Compile programs for the iOS platform
module java

nitc :: java

FFI support for the Java language
module java_compiler

nitc :: java_compiler

Compile Nit code to Java code
module json_commands

nitc :: json_commands

Translate command results to json
module json_model

nitc :: json_model

Make model entities Serializable.
module light

nitc :: light

Light FFI support for the compiler
module light_c

nitc :: light_c

Support for nesting C code within a Nit program using its FFI
module light_ffi

nitc :: light_ffi

Light FFI support, independent of the compiler
module light_ffi_base

nitc :: light_ffi_base

Tools and utilities for implement FFI with different languages
module light_only

nitc :: light_only

Compiler support for the light FFI only, detects unsupported usage of callbacks
module literal

nitc :: literal

Parsing of literal values in the abstract syntax tree.
module loader

nitc :: loader

Loading of Nit source files
module local_var_init

nitc :: local_var_init

Verify that local variables are initialized before their usage
module mclasses_metrics

nitc :: mclasses_metrics

Collect common metrics about mclasses
module md_commands

nitc :: md_commands

Render commands results as Markdown
module memory_logger

nitc :: memory_logger

Extension to inject memory-tracing instrumentation in code generated by nitc.
module mendel_metrics

nitc :: mendel_metrics

The Mendel model helps to understand class hierarchies.
module metrics

nitc :: metrics

Various statistics about Nit models and programs
module metrics_base

nitc :: metrics_base

Helpers for various statistics tools.
module mixin

nitc :: mixin

Loading and additional module refinements at link-time.
module mmodules_metrics

nitc :: mmodules_metrics

Collect common metrics about modules
module model_collect

nitc :: model_collect

Collect things from the model.
module model_hyperdoc

nitc :: model_hyperdoc

Dump of Nit model into hypertext human-readable format.
module model_index

nitc :: model_index

Search things from the Model
module model_visitor

nitc :: model_visitor

Simple visitor framework for Nit models.
module modelize

nitc :: modelize

Create a model from nit source files
module modelize_class

nitc :: modelize_class

Analysis and verification of class definitions to instantiate model element
module modelize_property

nitc :: modelize_property

Analysis and verification of property definitions to instantiate model element
module naive_interpreter

nitc :: naive_interpreter

Interpretation of a Nit program directly on the AST
module nit

nitc :: nit

A naive Nit interpreter
module nitc

nitc :: nitc

A Nit compiler
module nitcatalog

nitc :: nitcatalog

Basic catalog generator for Nit packages
module nitdoc

nitc :: nitdoc

Generator of static API documentation for the Nit language
module nith

nitc :: nith

A ligHt Nit compiler
module nitj

nitc :: nitj

Compile Nit into Java code runnable on the Java Virtual Machine.
module nitlight

nitc :: nitlight

Tool that produces highlighting for Nit programs
module nitls

nitc :: nitls

Simple tool to list Nit source files
module nitmetrics

nitc :: nitmetrics

A program that collects various metrics on nit programs and libraries
module nitni

nitc :: nitni

Native interface related services (used underneath the FFI)
module nitni_base

nitc :: nitni_base

Native interface related services (used underneath the FFI)
module nitni_callbacks

nitc :: nitni_callbacks

nitni services related to callbacks (used underneath the FFI)
module nitpackage

nitc :: nitpackage

Helpful features about packages
module nitpick

nitc :: nitpick

A program that collect potential style and code issues
module nitpretty

nitc :: nitpretty

module nitrestful

nitc :: nitrestful

Tool generating boilerplate code linking RESTful actions to Nit methods
module nitsaf

nitc :: nitsaf

Nit Static Analysis Framework client example.
module nitserial

nitc :: nitserial

Serialization support compiler, a tool to support deserialization of live generic types
module nitsmells

nitc :: nitsmells

module nituml

nitc :: nituml

UML generator in dot format.
module nitunit

nitc :: nitunit

Testing tool.
module nitvm

nitc :: nitvm

The Nit virtual machine launcher
module nitweb

nitc :: nitweb

Runs a webserver based on nitcorn that render things from model.
module nitx

nitc :: nitx

nitx, a command tool that displays useful data about Nit code
module no_warning

nitc :: no_warning

Fill toolcontext information about blacklisting of warnings.
module nullables_metrics

nitc :: nullables_metrics

Statistics about the usage of nullables
module objc

nitc :: objc

FFI support for Objective-C
module on_demand_compiler

nitc :: on_demand_compiler

Compiles extern code within a module to a static library, as needed
module parallelization_phase

nitc :: parallelization_phase

Phase generating threads for functions annotated with threaded annotation
module parse_annotations

nitc :: parse_annotations

Simple annotation parsing
module pkgconfig

nitc :: pkgconfig

Offers the PkgconfigPhase to use the external program "pkg-config" in order
module platform

nitc :: platform

Platform system, used to customize the behavior of the compiler.
module poset_metrics

nitc :: poset_metrics

Metrics about the various posets of the model of a Nit program
module pretty

nitc :: pretty

Library used to pretty print Nit code.
module rapid_type_analysis

nitc :: rapid_type_analysis

Rapid type analysis on the AST
module readme_metrics

nitc :: readme_metrics

Collect common metrics about README files
module refinement_metrics

nitc :: refinement_metrics

Collect metrics about refinement usage
module regex_phase

nitc :: regex_phase

Check for error in regular expressions from string literals
module rta_metrics

nitc :: rta_metrics

Metrics from RTA
module saf

nitc :: saf

Nit Static Analysis Framework.
module saf_base

nitc :: saf_base

Static Analysis Framework base
module scope

nitc :: scope

Identification and scoping of local variables and labels.
module self_metrics

nitc :: self_metrics

Metrics about the usage of explicit and implicit self
module semantize

nitc :: semantize

Process bodies of methods in regard with the model.
module separate_compiler

nitc :: separate_compiler

Separate compilation of a Nit program
module separate_erasure_compiler

nitc :: separate_erasure_compiler

Separate compilation of a Nit program with generic type erasure
module serialization_code_gen_phase

nitc :: serialization_code_gen_phase

Phase generating methods (code) to serialize Nit objects
module serialization_model_phase

nitc :: serialization_model_phase

Phase generating methods (model-only) to serialize Nit objects
module simple_misc_analysis

nitc :: simple_misc_analysis

Simple vavious processing on a AST
module ssa

nitc :: ssa

Single-Static Assignment algorithm from an AST
module static

nitc :: static

Nitdoc generation framework
module static_base

nitc :: static_base

Base entities shared by all the nitdoc code
module static_cards

nitc :: static_cards

Cards templates for the static documentation
module static_html

nitc :: static_html

Render documentation pages as HTML
module static_index

nitc :: static_index

Manage indexing of Nit model for Nitdoc QuickSearch.
module static_structure

nitc :: static_structure

Composes the pages of the static documentation
module static_types_metrics

nitc :: static_types_metrics

Metrics on the usage of explicit static types.
module tables_metrics

nitc :: tables_metrics

Metrics on table generation
module term

nitc :: term

module term_model

nitc :: term_model

Markdown templates for Nit model MEntities.
module test_astbuilder

nitc :: test_astbuilder

Program used to test the clone method of the astbuilder tool
module test_highlight

nitc :: test_highlight

Program used to test the Nit highlighter
module test_model_visitor

nitc :: test_model_visitor

Example of model_visitor
module test_neo

nitc :: test_neo

Test for neo model saving and loading.
module test_parser

nitc :: test_parser

Program used to test the NIT parser
module test_phase

nitc :: test_phase

Stub for loading a runing phases on a bunch of modules
module test_test_phase

nitc :: test_test_phase

Example of simple module that aims to do some specific work on nit programs.
module testing

nitc :: testing

Test unit generation and execution for Nit.
module testing_base

nitc :: testing_base

Base options for testing tools.
module testing_doc

nitc :: testing_doc

Testing from code comments.
module testing_gen

nitc :: testing_gen

Test Suites generation.
module testing_suite

nitc :: testing_suite

Testing from external files.
module transform

nitc :: transform

Thansformations that simplify the AST of expressions
module typing

nitc :: typing

Intraprocedural resolution of static types and OO-services
module uml

nitc :: uml

Group head module for UML generation services
module uml_base

nitc :: uml_base

Exposes the base class for UML generation of a Model
module uml_class

nitc :: uml_class

Provides facilities of exporting a Model to a UML class diagram
module uml_module

nitc :: uml_module

Services for generation of a UML package diagram based on a Model
module variables_numbering

nitc :: variables_numbering

Handle all numbering operations related to local variables in the Nit virtual machine
module vim_autocomplete

nitc :: vim_autocomplete

Generate files used by the Vim plugin to autocomplete with doc
module virtual_machine

nitc :: virtual_machine

Implementation of the Nit virtual machine
module vm

nitc :: vm

Entry point of all vm components
module vm_optimizations

nitc :: vm_optimizations

Optimization of the nitvm
module xcode_templates

nitc :: xcode_templates

Templates and other services to create XCode projects
# Parser.
# This file was generated by SableCC (http://www.sablecc.org/).
module parser is generated, no_warning("missing-doc", "unread-variable")

intrude import parser_prod
intrude import parser_work
private import tables

redef class Parser
	redef fun build_reduce_table
	do
		var reduce_table = new Array[ReduceAction].with_capacity(1788)
		reduce_table.add new ReduceAction0(0)
		reduce_table.add new ReduceAction1(0)
		reduce_table.add new ReduceAction2(0)
		reduce_table.add new ReduceAction3(0)
		reduce_table.add new ReduceAction4(0)
		reduce_table.add new ReduceAction5(0)
		reduce_table.add new ReduceAction6(0)
		reduce_table.add new ReduceAction7(0)
		reduce_table.add new ReduceAction8(0)
		reduce_table.add new ReduceAction9(0)
		reduce_table.add new ReduceAction10(0)
		reduce_table.add new ReduceAction11(0)
		reduce_table.add new ReduceAction12(0)
		reduce_table.add new ReduceAction13(0)
		reduce_table.add new ReduceAction14(0)
		reduce_table.add new ReduceAction15(0)
		reduce_table.add new ReduceAction16(1)
		reduce_table.add new ReduceAction17(1)
		reduce_table.add new ReduceAction18(1)
		reduce_table.add new ReduceAction19(1)
		reduce_table.add new ReduceAction20(1)
		reduce_table.add new ReduceAction21(1)
		reduce_table.add new ReduceAction22(1)
		reduce_table.add new ReduceAction23(1)
		reduce_table.add new ReduceAction24(1)
		reduce_table.add new ReduceAction25(1)
		reduce_table.add new ReduceAction26(2)
		reduce_table.add new ReduceAction27(2)
		reduce_table.add new ReduceAction28(2)
		reduce_table.add new ReduceAction29(2)
		reduce_table.add new ReduceAction30(2)
		reduce_table.add new ReduceAction31(2)
		reduce_table.add new ReduceAction32(2)
		reduce_table.add new ReduceAction33(2)
		reduce_table.add new ReduceAction34(2)
		reduce_table.add new ReduceAction35(2)
		reduce_table.add new ReduceAction36(2)
		reduce_table.add new ReduceAction37(2)
		reduce_table.add new ReduceAction38(2)
		reduce_table.add new ReduceAction39(2)
		reduce_table.add new ReduceAction40(2)
		reduce_table.add new ReduceAction41(2)
		reduce_table.add new ReduceAction42(2)
		reduce_table.add new ReduceAction43(2)
		reduce_table.add new ReduceAction44(2)
		reduce_table.add new ReduceAction45(2)
		reduce_table.add new ReduceAction46(3)
		reduce_table.add new ReduceAction47(3)
		reduce_table.add new ReduceAction48(4)
		reduce_table.add new ReduceAction49(4)
		reduce_table.add new ReduceAction50(4)
		reduce_table.add new ReduceAction51(5)
		reduce_table.add new ReduceAction52(5)
		reduce_table.add new ReduceAction53(5)
		reduce_table.add new ReduceAction54(6)
		reduce_table.add new ReduceAction55(6)
		reduce_table.add new ReduceAction56(6)
		reduce_table.add new ReduceAction57(6)
		reduce_table.add new ReduceAction58(6)
		reduce_table.add new ReduceAction59(6)
		reduce_table.add new ReduceAction60(6)
		reduce_table.add new ReduceAction61(6)
		reduce_table.add new ReduceAction62(6)
		reduce_table.add new ReduceAction63(6)
		reduce_table.add new ReduceAction64(6)
		reduce_table.add new ReduceAction65(6)
		reduce_table.add new ReduceAction66(6)
		reduce_table.add new ReduceAction67(6)
		reduce_table.add new ReduceAction68(6)
		reduce_table.add new ReduceAction69(6)
		reduce_table.add new ReduceAction70(6)
		reduce_table.add new ReduceAction71(6)
		reduce_table.add new ReduceAction72(6)
		reduce_table.add new ReduceAction73(6)
		reduce_table.add new ReduceAction74(6)
		reduce_table.add new ReduceAction75(6)
		reduce_table.add new ReduceAction76(6)
		reduce_table.add new ReduceAction77(6)
		reduce_table.add new ReduceAction78(6)
		reduce_table.add new ReduceAction79(6)
		reduce_table.add new ReduceAction80(6)
		reduce_table.add new ReduceAction81(6)
		reduce_table.add new ReduceAction82(6)
		reduce_table.add new ReduceAction83(6)
		reduce_table.add new ReduceAction84(6)
		reduce_table.add new ReduceAction85(6)
		reduce_table.add new ReduceAction86(6)
		reduce_table.add new ReduceAction87(6)
		reduce_table.add new ReduceAction88(6)
		reduce_table.add new ReduceAction89(6)
		reduce_table.add new ReduceAction90(6)
		reduce_table.add new ReduceAction91(6)
		reduce_table.add new ReduceAction92(6)
		reduce_table.add new ReduceAction93(6)
		reduce_table.add new ReduceAction94(7)
		reduce_table.add new ReduceAction95(7)
		reduce_table.add new ReduceAction96(7)
		reduce_table.add new ReduceAction97(7)
		reduce_table.add new ReduceAction98(7)
		reduce_table.add new ReduceAction99(7)
		reduce_table.add new ReduceAction100(8)
		reduce_table.add new ReduceAction101(8)
		reduce_table.add new ReduceAction102(8)
		reduce_table.add new ReduceAction103(9)
		reduce_table.add new ReduceAction104(10)
		reduce_table.add new ReduceAction105(10)
		reduce_table.add new ReduceAction106(11)
		reduce_table.add new ReduceAction107(11)
		reduce_table.add new ReduceAction108(11)
		reduce_table.add new ReduceAction109(11)
		reduce_table.add new ReduceAction110(11)
		reduce_table.add new ReduceAction111(11)
		reduce_table.add new ReduceAction112(11)
		reduce_table.add new ReduceAction113(11)
		reduce_table.add new ReduceAction114(11)
		reduce_table.add new ReduceAction115(11)
		reduce_table.add new ReduceAction116(12)
		reduce_table.add new ReduceAction117(12)
		reduce_table.add new ReduceAction118(12)
		reduce_table.add new ReduceAction119(13)
		reduce_table.add new ReduceAction120(14)
		reduce_table.add new ReduceAction121(14)
		reduce_table.add new ReduceAction122(14)
		reduce_table.add new ReduceAction123(14)
		reduce_table.add new ReduceAction124(14)
		reduce_table.add new ReduceAction125(14)
		reduce_table.add new ReduceAction126(14)
		reduce_table.add new ReduceAction127(14)
		reduce_table.add new ReduceAction128(14)
		reduce_table.add new ReduceAction129(14)
		reduce_table.add new ReduceAction130(14)
		reduce_table.add new ReduceAction131(14)
		reduce_table.add new ReduceAction132(14)
		reduce_table.add new ReduceAction133(14)
		reduce_table.add new ReduceAction134(14)
		reduce_table.add new ReduceAction135(14)
		reduce_table.add new ReduceAction136(14)
		reduce_table.add new ReduceAction137(14)
		reduce_table.add new ReduceAction138(14)
		reduce_table.add new ReduceAction139(14)
		reduce_table.add new ReduceAction140(14)
		reduce_table.add new ReduceAction141(14)
		reduce_table.add new ReduceAction142(14)
		reduce_table.add new ReduceAction143(14)
		reduce_table.add new ReduceAction144(14)
		reduce_table.add new ReduceAction145(14)
		reduce_table.add new ReduceAction146(14)
		reduce_table.add new ReduceAction147(14)
		reduce_table.add new ReduceAction148(14)
		reduce_table.add new ReduceAction149(14)
		reduce_table.add new ReduceAction150(14)
		reduce_table.add new ReduceAction151(14)
		reduce_table.add new ReduceAction152(14)
		reduce_table.add new ReduceAction153(14)
		reduce_table.add new ReduceAction154(14)
		reduce_table.add new ReduceAction155(14)
		reduce_table.add new ReduceAction156(14)
		reduce_table.add new ReduceAction157(14)
		reduce_table.add new ReduceAction158(14)
		reduce_table.add new ReduceAction159(14)
		reduce_table.add new ReduceAction160(14)
		reduce_table.add new ReduceAction161(14)
		reduce_table.add new ReduceAction162(14)
		reduce_table.add new ReduceAction163(14)
		reduce_table.add new ReduceAction164(14)
		reduce_table.add new ReduceAction165(14)
		reduce_table.add new ReduceAction166(14)
		reduce_table.add new ReduceAction167(14)
		reduce_table.add new ReduceAction168(14)
		reduce_table.add new ReduceAction169(14)
		reduce_table.add new ReduceAction170(14)
		reduce_table.add new ReduceAction171(14)
		reduce_table.add new ReduceAction172(14)
		reduce_table.add new ReduceAction173(14)
		reduce_table.add new ReduceAction174(14)
		reduce_table.add new ReduceAction175(14)
		reduce_table.add new ReduceAction176(14)
		reduce_table.add new ReduceAction177(14)
		reduce_table.add new ReduceAction178(14)
		reduce_table.add new ReduceAction179(14)
		reduce_table.add new ReduceAction180(14)
		reduce_table.add new ReduceAction181(14)
		reduce_table.add new ReduceAction182(14)
		reduce_table.add new ReduceAction183(14)
		reduce_table.add new ReduceAction184(14)
		reduce_table.add new ReduceAction185(14)
		reduce_table.add new ReduceAction186(14)
		reduce_table.add new ReduceAction187(14)
		reduce_table.add new ReduceAction188(14)
		reduce_table.add new ReduceAction189(14)
		reduce_table.add new ReduceAction190(14)
		reduce_table.add new ReduceAction191(14)
		reduce_table.add new ReduceAction192(14)
		reduce_table.add new ReduceAction193(14)
		reduce_table.add new ReduceAction194(14)
		reduce_table.add new ReduceAction195(14)
		reduce_table.add new ReduceAction196(14)
		reduce_table.add new ReduceAction197(14)
		reduce_table.add new ReduceAction198(14)
		reduce_table.add new ReduceAction199(14)
		reduce_table.add new ReduceAction200(14)
		reduce_table.add new ReduceAction201(14)
		reduce_table.add new ReduceAction202(14)
		reduce_table.add new ReduceAction203(14)
		reduce_table.add new ReduceAction204(14)
		reduce_table.add new ReduceAction205(14)
		reduce_table.add new ReduceAction206(14)
		reduce_table.add new ReduceAction207(14)
		reduce_table.add new ReduceAction208(14)
		reduce_table.add new ReduceAction209(14)
		reduce_table.add new ReduceAction210(14)
		reduce_table.add new ReduceAction211(14)
		reduce_table.add new ReduceAction212(14)
		reduce_table.add new ReduceAction213(14)
		reduce_table.add new ReduceAction214(14)
		reduce_table.add new ReduceAction215(14)
		reduce_table.add new ReduceAction216(14)
		reduce_table.add new ReduceAction217(14)
		reduce_table.add new ReduceAction218(14)
		reduce_table.add new ReduceAction219(14)
		reduce_table.add new ReduceAction220(14)
		reduce_table.add new ReduceAction221(14)
		reduce_table.add new ReduceAction222(14)
		reduce_table.add new ReduceAction223(14)
		reduce_table.add new ReduceAction224(14)
		reduce_table.add new ReduceAction225(14)
		reduce_table.add new ReduceAction226(14)
		reduce_table.add new ReduceAction227(14)
		reduce_table.add new ReduceAction228(14)
		reduce_table.add new ReduceAction229(14)
		reduce_table.add new ReduceAction230(14)
		reduce_table.add new ReduceAction231(14)
		reduce_table.add new ReduceAction232(14)
		reduce_table.add new ReduceAction233(14)
		reduce_table.add new ReduceAction234(14)
		reduce_table.add new ReduceAction235(14)
		reduce_table.add new ReduceAction236(14)
		reduce_table.add new ReduceAction237(14)
		reduce_table.add new ReduceAction238(14)
		reduce_table.add new ReduceAction239(14)
		reduce_table.add new ReduceAction240(14)
		reduce_table.add new ReduceAction241(14)
		reduce_table.add new ReduceAction242(14)
		reduce_table.add new ReduceAction243(14)
		reduce_table.add new ReduceAction244(14)
		reduce_table.add new ReduceAction245(14)
		reduce_table.add new ReduceAction246(14)
		reduce_table.add new ReduceAction247(14)
		reduce_table.add new ReduceAction248(14)
		reduce_table.add new ReduceAction249(14)
		reduce_table.add new ReduceAction250(14)
		reduce_table.add new ReduceAction251(14)
		reduce_table.add new ReduceAction252(14)
		reduce_table.add new ReduceAction253(14)
		reduce_table.add new ReduceAction254(14)
		reduce_table.add new ReduceAction255(14)
		reduce_table.add new ReduceAction256(14)
		reduce_table.add new ReduceAction257(14)
		reduce_table.add new ReduceAction258(14)
		reduce_table.add new ReduceAction259(14)
		reduce_table.add new ReduceAction260(14)
		reduce_table.add new ReduceAction261(14)
		reduce_table.add new ReduceAction262(14)
		reduce_table.add new ReduceAction263(14)
		reduce_table.add new ReduceAction264(14)
		reduce_table.add new ReduceAction265(14)
		reduce_table.add new ReduceAction266(14)
		reduce_table.add new ReduceAction267(14)
		reduce_table.add new ReduceAction268(14)
		reduce_table.add new ReduceAction269(14)
		reduce_table.add new ReduceAction270(14)
		reduce_table.add new ReduceAction271(14)
		reduce_table.add new ReduceAction272(14)
		reduce_table.add new ReduceAction273(14)
		reduce_table.add new ReduceAction274(14)
		reduce_table.add new ReduceAction275(14)
		reduce_table.add new ReduceAction276(14)
		reduce_table.add new ReduceAction277(14)
		reduce_table.add new ReduceAction278(14)
		reduce_table.add new ReduceAction279(14)
		reduce_table.add new ReduceAction280(14)
		reduce_table.add new ReduceAction281(14)
		reduce_table.add new ReduceAction282(14)
		reduce_table.add new ReduceAction283(14)
		reduce_table.add new ReduceAction284(14)
		reduce_table.add new ReduceAction285(14)
		reduce_table.add new ReduceAction286(14)
		reduce_table.add new ReduceAction287(14)
		reduce_table.add new ReduceAction288(14)
		reduce_table.add new ReduceAction289(14)
		reduce_table.add new ReduceAction290(14)
		reduce_table.add new ReduceAction291(14)
		reduce_table.add new ReduceAction292(14)
		reduce_table.add new ReduceAction293(14)
		reduce_table.add new ReduceAction294(14)
		reduce_table.add new ReduceAction295(14)
		reduce_table.add new ReduceAction296(14)
		reduce_table.add new ReduceAction297(14)
		reduce_table.add new ReduceAction298(14)
		reduce_table.add new ReduceAction299(14)
		reduce_table.add new ReduceAction300(14)
		reduce_table.add new ReduceAction301(14)
		reduce_table.add new ReduceAction302(14)
		reduce_table.add new ReduceAction303(14)
		reduce_table.add new ReduceAction304(14)
		reduce_table.add new ReduceAction305(14)
		reduce_table.add new ReduceAction306(14)
		reduce_table.add new ReduceAction307(14)
		reduce_table.add new ReduceAction308(14)
		reduce_table.add new ReduceAction309(14)
		reduce_table.add new ReduceAction310(14)
		reduce_table.add new ReduceAction311(14)
		reduce_table.add new ReduceAction312(14)
		reduce_table.add new ReduceAction313(14)
		reduce_table.add new ReduceAction314(14)
		reduce_table.add new ReduceAction315(14)
		reduce_table.add new ReduceAction316(14)
		reduce_table.add new ReduceAction317(14)
		reduce_table.add new ReduceAction318(14)
		reduce_table.add new ReduceAction319(14)
		reduce_table.add new ReduceAction320(14)
		reduce_table.add new ReduceAction321(14)
		reduce_table.add new ReduceAction322(14)
		reduce_table.add new ReduceAction323(14)
		reduce_table.add new ReduceAction324(14)
		reduce_table.add new ReduceAction325(14)
		reduce_table.add new ReduceAction326(14)
		reduce_table.add new ReduceAction327(14)
		reduce_table.add new ReduceAction328(14)
		reduce_table.add new ReduceAction329(14)
		reduce_table.add new ReduceAction330(14)
		reduce_table.add new ReduceAction331(14)
		reduce_table.add new ReduceAction332(14)
		reduce_table.add new ReduceAction333(14)
		reduce_table.add new ReduceAction334(14)
		reduce_table.add new ReduceAction335(14)
		reduce_table.add new ReduceAction336(14)
		reduce_table.add new ReduceAction337(14)
		reduce_table.add new ReduceAction338(14)
		reduce_table.add new ReduceAction339(14)
		reduce_table.add new ReduceAction340(14)
		reduce_table.add new ReduceAction341(14)
		reduce_table.add new ReduceAction342(14)
		reduce_table.add new ReduceAction343(14)
		reduce_table.add new ReduceAction344(14)
		reduce_table.add new ReduceAction345(14)
		reduce_table.add new ReduceAction346(14)
		reduce_table.add new ReduceAction347(14)
		reduce_table.add new ReduceAction348(14)
		reduce_table.add new ReduceAction349(14)
		reduce_table.add new ReduceAction350(14)
		reduce_table.add new ReduceAction351(14)
		reduce_table.add new ReduceAction352(14)
		reduce_table.add new ReduceAction353(14)
		reduce_table.add new ReduceAction354(14)
		reduce_table.add new ReduceAction355(14)
		reduce_table.add new ReduceAction356(14)
		reduce_table.add new ReduceAction357(14)
		reduce_table.add new ReduceAction358(14)
		reduce_table.add new ReduceAction359(14)
		reduce_table.add new ReduceAction360(14)
		reduce_table.add new ReduceAction361(14)
		reduce_table.add new ReduceAction362(14)
		reduce_table.add new ReduceAction363(14)
		reduce_table.add new ReduceAction364(14)
		reduce_table.add new ReduceAction365(14)
		reduce_table.add new ReduceAction366(14)
		reduce_table.add new ReduceAction367(14)
		reduce_table.add new ReduceAction368(14)
		reduce_table.add new ReduceAction369(14)
		reduce_table.add new ReduceAction370(14)
		reduce_table.add new ReduceAction371(14)
		reduce_table.add new ReduceAction372(14)
		reduce_table.add new ReduceAction373(14)
		reduce_table.add new ReduceAction374(14)
		reduce_table.add new ReduceAction375(14)
		reduce_table.add new ReduceAction376(14)
		reduce_table.add new ReduceAction377(14)
		reduce_table.add new ReduceAction378(14)
		reduce_table.add new ReduceAction379(14)
		reduce_table.add new ReduceAction380(14)
		reduce_table.add new ReduceAction381(14)
		reduce_table.add new ReduceAction382(14)
		reduce_table.add new ReduceAction383(14)
		reduce_table.add new ReduceAction384(14)
		reduce_table.add new ReduceAction385(14)
		reduce_table.add new ReduceAction386(14)
		reduce_table.add new ReduceAction387(14)
		reduce_table.add new ReduceAction388(14)
		reduce_table.add new ReduceAction389(14)
		reduce_table.add new ReduceAction390(14)
		reduce_table.add new ReduceAction391(14)
		reduce_table.add new ReduceAction392(14)
		reduce_table.add new ReduceAction393(14)
		reduce_table.add new ReduceAction394(14)
		reduce_table.add new ReduceAction395(14)
		reduce_table.add new ReduceAction396(14)
		reduce_table.add new ReduceAction397(14)
		reduce_table.add new ReduceAction398(14)
		reduce_table.add new ReduceAction399(14)
		reduce_table.add new ReduceAction400(14)
		reduce_table.add new ReduceAction400(14)
		reduce_table.add new ReduceAction402(15)
		reduce_table.add new ReduceAction403(15)
		reduce_table.add new ReduceAction49(15)
		reduce_table.add new ReduceAction402(16)
		reduce_table.add new ReduceAction406(16)
		reduce_table.add new ReduceAction102(17)
		reduce_table.add new ReduceAction408(17)
		reduce_table.add new ReduceAction118(17)
		reduce_table.add new ReduceAction116(17)
		reduce_table.add new ReduceAction411(18)
		reduce_table.add new ReduceAction412(18)
		reduce_table.add new ReduceAction413(18)
		reduce_table.add new ReduceAction414(18)
		reduce_table.add new ReduceAction415(18)
		reduce_table.add new ReduceAction416(18)
		reduce_table.add new ReduceAction417(18)
		reduce_table.add new ReduceAction418(18)
		reduce_table.add new ReduceAction419(18)
		reduce_table.add new ReduceAction420(18)
		reduce_table.add new ReduceAction421(18)
		reduce_table.add new ReduceAction422(18)
		reduce_table.add new ReduceAction423(18)
		reduce_table.add new ReduceAction424(18)
		reduce_table.add new ReduceAction425(18)
		reduce_table.add new ReduceAction426(18)
		reduce_table.add new ReduceAction427(18)
		reduce_table.add new ReduceAction428(18)
		reduce_table.add new ReduceAction429(18)
		reduce_table.add new ReduceAction430(18)
		reduce_table.add new ReduceAction431(18)
		reduce_table.add new ReduceAction432(18)
		reduce_table.add new ReduceAction433(18)
		reduce_table.add new ReduceAction434(19)
		reduce_table.add new ReduceAction435(19)
		reduce_table.add new ReduceAction436(19)
		reduce_table.add new ReduceAction437(19)
		reduce_table.add new ReduceAction438(20)
		reduce_table.add new ReduceAction439(20)
		reduce_table.add new ReduceAction102(20)
		reduce_table.add new ReduceAction441(21)
		reduce_table.add new ReduceAction442(22)
		reduce_table.add new ReduceAction443(22)
		reduce_table.add new ReduceAction444(22)
		reduce_table.add new ReduceAction445(22)
		reduce_table.add new ReduceAction446(22)
		reduce_table.add new ReduceAction447(23)
		reduce_table.add new ReduceAction448(23)
		reduce_table.add new ReduceAction49(23)
		reduce_table.add new ReduceAction450(24)
		reduce_table.add new ReduceAction451(25)
		reduce_table.add new ReduceAction451(25)
		reduce_table.add new ReduceAction453(25)
		reduce_table.add new ReduceAction454(26)
		reduce_table.add new ReduceAction455(26)
		reduce_table.add new ReduceAction456(26)
		reduce_table.add new ReduceAction457(27)
		reduce_table.add new ReduceAction458(27)
		reduce_table.add new ReduceAction459(27)
		reduce_table.add new ReduceAction460(27)
		reduce_table.add new ReduceAction461(27)
		reduce_table.add new ReduceAction462(27)
		reduce_table.add new ReduceAction49(28)
		reduce_table.add new ReduceAction464(28)
		reduce_table.add new ReduceAction465(29)
		reduce_table.add new ReduceAction466(30)
		reduce_table.add new ReduceAction467(30)
		reduce_table.add new ReduceAction468(31)
		reduce_table.add new ReduceAction49(31)
		reduce_table.add new ReduceAction470(32)
		reduce_table.add new ReduceAction471(33)
		reduce_table.add new ReduceAction472(33)
		reduce_table.add new ReduceAction472(33)
		reduce_table.add new ReduceAction474(34)
		reduce_table.add new ReduceAction475(34)
		reduce_table.add new ReduceAction476(34)
		reduce_table.add new ReduceAction477(34)
		reduce_table.add new ReduceAction478(35)
		reduce_table.add new ReduceAction479(35)
		reduce_table.add new ReduceAction480(36)
		reduce_table.add new ReduceAction480(37)
		reduce_table.add new ReduceAction480(38)
		reduce_table.add new ReduceAction49(38)
		reduce_table.add new ReduceAction484(39)
		reduce_table.add new ReduceAction485(39)
		reduce_table.add new ReduceAction486(39)
		reduce_table.add new ReduceAction487(39)
		reduce_table.add new ReduceAction488(40)
		reduce_table.add new ReduceAction489(40)
		reduce_table.add new ReduceAction490(41)
		reduce_table.add new ReduceAction491(41)
		reduce_table.add new ReduceAction484(42)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction495(43)
		reduce_table.add new ReduceAction496(43)
		reduce_table.add new ReduceAction497(43)
		reduce_table.add new ReduceAction498(43)
		reduce_table.add new ReduceAction499(43)
		reduce_table.add new ReduceAction500(43)
		reduce_table.add new ReduceAction501(43)
		reduce_table.add new ReduceAction502(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction487(43)
		reduce_table.add new ReduceAction510(43)
		reduce_table.add new ReduceAction511(43)
		reduce_table.add new ReduceAction512(43)
		reduce_table.add new ReduceAction513(43)
		reduce_table.add new ReduceAction514(43)
		reduce_table.add new ReduceAction515(43)
		reduce_table.add new ReduceAction516(43)
		reduce_table.add new ReduceAction517(43)
		reduce_table.add new ReduceAction518(43)
		reduce_table.add new ReduceAction519(43)
		reduce_table.add new ReduceAction520(43)
		reduce_table.add new ReduceAction521(43)
		reduce_table.add new ReduceAction522(43)
		reduce_table.add new ReduceAction523(43)
		reduce_table.add new ReduceAction524(43)
		reduce_table.add new ReduceAction525(43)
		reduce_table.add new ReduceAction526(43)
		reduce_table.add new ReduceAction527(43)
		reduce_table.add new ReduceAction526(43)
		reduce_table.add new ReduceAction529(43)
		reduce_table.add new ReduceAction530(43)
		reduce_table.add new ReduceAction529(43)
		reduce_table.add new ReduceAction532(43)
		reduce_table.add new ReduceAction533(43)
		reduce_table.add new ReduceAction532(43)
		reduce_table.add new ReduceAction535(43)
		reduce_table.add new ReduceAction536(44)
		reduce_table.add new ReduceAction537(44)
		reduce_table.add new ReduceAction538(45)
		reduce_table.add new ReduceAction539(45)
		reduce_table.add new ReduceAction540(45)
		reduce_table.add new ReduceAction541(45)
		reduce_table.add new ReduceAction542(46)
		reduce_table.add new ReduceAction543(46)
		reduce_table.add new ReduceAction544(46)
		reduce_table.add new ReduceAction545(46)
		reduce_table.add new ReduceAction546(46)
		reduce_table.add new ReduceAction547(46)
		reduce_table.add new ReduceAction548(46)
		reduce_table.add new ReduceAction549(46)
		reduce_table.add new ReduceAction550(46)
		reduce_table.add new ReduceAction551(46)
		reduce_table.add new ReduceAction552(46)
		reduce_table.add new ReduceAction553(46)
		reduce_table.add new ReduceAction554(46)
		reduce_table.add new ReduceAction555(46)
		reduce_table.add new ReduceAction556(46)
		reduce_table.add new ReduceAction557(46)
		reduce_table.add new ReduceAction558(46)
		reduce_table.add new ReduceAction559(46)
		reduce_table.add new ReduceAction560(46)
		reduce_table.add new ReduceAction561(46)
		reduce_table.add new ReduceAction562(46)
		reduce_table.add new ReduceAction563(46)
		reduce_table.add new ReduceAction564(46)
		reduce_table.add new ReduceAction565(46)
		reduce_table.add new ReduceAction566(46)
		reduce_table.add new ReduceAction567(46)
		reduce_table.add new ReduceAction568(46)
		reduce_table.add new ReduceAction569(46)
		reduce_table.add new ReduceAction570(46)
		reduce_table.add new ReduceAction571(46)
		reduce_table.add new ReduceAction572(46)
		reduce_table.add new ReduceAction573(46)
		reduce_table.add new ReduceAction574(46)
		reduce_table.add new ReduceAction575(46)
		reduce_table.add new ReduceAction576(46)
		reduce_table.add new ReduceAction577(46)
		reduce_table.add new ReduceAction578(46)
		reduce_table.add new ReduceAction579(46)
		reduce_table.add new ReduceAction580(46)
		reduce_table.add new ReduceAction581(46)
		reduce_table.add new ReduceAction582(46)
		reduce_table.add new ReduceAction583(46)
		reduce_table.add new ReduceAction584(46)
		reduce_table.add new ReduceAction585(46)
		reduce_table.add new ReduceAction586(46)
		reduce_table.add new ReduceAction587(46)
		reduce_table.add new ReduceAction588(46)
		reduce_table.add new ReduceAction589(46)
		reduce_table.add new ReduceAction590(46)
		reduce_table.add new ReduceAction591(46)
		reduce_table.add new ReduceAction592(46)
		reduce_table.add new ReduceAction593(46)
		reduce_table.add new ReduceAction594(46)
		reduce_table.add new ReduceAction595(46)
		reduce_table.add new ReduceAction596(46)
		reduce_table.add new ReduceAction597(46)
		reduce_table.add new ReduceAction598(47)
		reduce_table.add new ReduceAction599(47)
		reduce_table.add new ReduceAction600(47)
		reduce_table.add new ReduceAction601(47)
		reduce_table.add new ReduceAction602(47)
		reduce_table.add new ReduceAction603(47)
		reduce_table.add new ReduceAction604(47)
		reduce_table.add new ReduceAction605(47)
		reduce_table.add new ReduceAction606(47)
		reduce_table.add new ReduceAction607(47)
		reduce_table.add new ReduceAction608(47)
		reduce_table.add new ReduceAction609(48)
		reduce_table.add new ReduceAction610(48)
		reduce_table.add new ReduceAction611(48)
		reduce_table.add new ReduceAction612(49)
		reduce_table.add new ReduceAction613(49)
		reduce_table.add new ReduceAction614(49)
		reduce_table.add new ReduceAction615(49)
		reduce_table.add new ReduceAction616(49)
		reduce_table.add new ReduceAction617(49)
		reduce_table.add new ReduceAction618(49)
		reduce_table.add new ReduceAction619(49)
		reduce_table.add new ReduceAction486(50)
		reduce_table.add new ReduceAction621(51)
		reduce_table.add new ReduceAction622(51)
		reduce_table.add new ReduceAction623(52)
		reduce_table.add new ReduceAction624(52)
		reduce_table.add new ReduceAction625(53)
		reduce_table.add new ReduceAction626(53)
		reduce_table.add new ReduceAction627(54)
		reduce_table.add new ReduceAction628(54)
		reduce_table.add new ReduceAction629(55)
		reduce_table.add new ReduceAction630(56)
		reduce_table.add new ReduceAction631(56)
		reduce_table.add new ReduceAction632(57)
		reduce_table.add new ReduceAction633(57)
		reduce_table.add new ReduceAction487(57)
		reduce_table.add new ReduceAction635(58)
		reduce_table.add new ReduceAction636(58)
		reduce_table.add new ReduceAction637(58)
		reduce_table.add new ReduceAction638(58)
		reduce_table.add new ReduceAction639(59)
		reduce_table.add new ReduceAction487(60)
		reduce_table.add new ReduceAction641(60)
		reduce_table.add new ReduceAction487(61)
		reduce_table.add new ReduceAction643(61)
		reduce_table.add new ReduceAction644(61)
		reduce_table.add new ReduceAction645(61)
		reduce_table.add new ReduceAction646(61)
		reduce_table.add new ReduceAction487(62)
		reduce_table.add new ReduceAction648(62)
		reduce_table.add new ReduceAction487(63)
		reduce_table.add new ReduceAction650(63)
		reduce_table.add new ReduceAction651(63)
		reduce_table.add new ReduceAction652(63)
		reduce_table.add new ReduceAction653(63)
		reduce_table.add new ReduceAction654(63)
		reduce_table.add new ReduceAction655(63)
		reduce_table.add new ReduceAction656(63)
		reduce_table.add new ReduceAction657(63)
		reduce_table.add new ReduceAction487(64)
		reduce_table.add new ReduceAction659(64)
		reduce_table.add new ReduceAction487(65)
		reduce_table.add new ReduceAction661(65)
		reduce_table.add new ReduceAction487(66)
		reduce_table.add new ReduceAction663(66)
		reduce_table.add new ReduceAction487(67)
		reduce_table.add new ReduceAction665(67)
		reduce_table.add new ReduceAction666(67)
		reduce_table.add new ReduceAction487(68)
		reduce_table.add new ReduceAction668(68)
		reduce_table.add new ReduceAction669(68)
		reduce_table.add new ReduceAction487(69)
		reduce_table.add new ReduceAction671(69)
		reduce_table.add new ReduceAction672(69)
		reduce_table.add new ReduceAction673(69)
		reduce_table.add new ReduceAction487(70)
		reduce_table.add new ReduceAction675(70)
		reduce_table.add new ReduceAction487(71)
		reduce_table.add new ReduceAction677(71)
		reduce_table.add new ReduceAction678(71)
		reduce_table.add new ReduceAction679(71)
		reduce_table.add new ReduceAction680(71)
		reduce_table.add new ReduceAction487(72)
		reduce_table.add new ReduceAction682(72)
		reduce_table.add new ReduceAction683(72)
		reduce_table.add new ReduceAction684(72)
		reduce_table.add new ReduceAction685(72)
		reduce_table.add new ReduceAction686(72)
		reduce_table.add new ReduceAction687(72)
		reduce_table.add new ReduceAction688(72)
		reduce_table.add new ReduceAction689(72)
		reduce_table.add new ReduceAction690(72)
		reduce_table.add new ReduceAction691(72)
		reduce_table.add new ReduceAction692(72)
		reduce_table.add new ReduceAction693(72)
		reduce_table.add new ReduceAction694(72)
		reduce_table.add new ReduceAction695(72)
		reduce_table.add new ReduceAction696(72)
		reduce_table.add new ReduceAction697(72)
		reduce_table.add new ReduceAction698(72)
		reduce_table.add new ReduceAction699(72)
		reduce_table.add new ReduceAction700(72)
		reduce_table.add new ReduceAction701(72)
		reduce_table.add new ReduceAction702(72)
		reduce_table.add new ReduceAction703(72)
		reduce_table.add new ReduceAction704(72)
		reduce_table.add new ReduceAction705(72)
		reduce_table.add new ReduceAction706(72)
		reduce_table.add new ReduceAction707(72)
		reduce_table.add new ReduceAction708(72)
		reduce_table.add new ReduceAction709(72)
		reduce_table.add new ReduceAction710(72)
		reduce_table.add new ReduceAction487(73)
		reduce_table.add new ReduceAction712(73)
		reduce_table.add new ReduceAction713(73)
		reduce_table.add new ReduceAction714(73)
		reduce_table.add new ReduceAction510(73)
		reduce_table.add new ReduceAction716(73)
		reduce_table.add new ReduceAction511(73)
		reduce_table.add new ReduceAction718(73)
		reduce_table.add new ReduceAction512(73)
		reduce_table.add new ReduceAction720(73)
		reduce_table.add new ReduceAction513(73)
		reduce_table.add new ReduceAction722(73)
		reduce_table.add new ReduceAction514(73)
		reduce_table.add new ReduceAction724(73)
		reduce_table.add new ReduceAction515(73)
		reduce_table.add new ReduceAction726(73)
		reduce_table.add new ReduceAction516(73)
		reduce_table.add new ReduceAction728(73)
		reduce_table.add new ReduceAction517(73)
		reduce_table.add new ReduceAction730(73)
		reduce_table.add new ReduceAction518(73)
		reduce_table.add new ReduceAction732(73)
		reduce_table.add new ReduceAction519(73)
		reduce_table.add new ReduceAction734(73)
		reduce_table.add new ReduceAction520(73)
		reduce_table.add new ReduceAction736(73)
		reduce_table.add new ReduceAction521(73)
		reduce_table.add new ReduceAction738(73)
		reduce_table.add new ReduceAction522(73)
		reduce_table.add new ReduceAction740(73)
		reduce_table.add new ReduceAction523(73)
		reduce_table.add new ReduceAction742(73)
		reduce_table.add new ReduceAction524(73)
		reduce_table.add new ReduceAction744(73)
		reduce_table.add new ReduceAction525(73)
		reduce_table.add new ReduceAction746(73)
		reduce_table.add new ReduceAction747(73)
		reduce_table.add new ReduceAction748(73)
		reduce_table.add new ReduceAction749(73)
		reduce_table.add new ReduceAction750(73)
		reduce_table.add new ReduceAction751(73)
		reduce_table.add new ReduceAction752(73)
		reduce_table.add new ReduceAction753(73)
		reduce_table.add new ReduceAction754(73)
		reduce_table.add new ReduceAction755(73)
		reduce_table.add new ReduceAction756(73)
		reduce_table.add new ReduceAction757(73)
		reduce_table.add new ReduceAction758(73)
		reduce_table.add new ReduceAction487(74)
		reduce_table.add new ReduceAction760(74)
		reduce_table.add new ReduceAction761(74)
		reduce_table.add new ReduceAction762(75)
		reduce_table.add new ReduceAction763(75)
		reduce_table.add new ReduceAction764(75)
		reduce_table.add new ReduceAction765(75)
		reduce_table.add new ReduceAction766(75)
		reduce_table.add new ReduceAction767(75)
		reduce_table.add new ReduceAction768(75)
		reduce_table.add new ReduceAction769(75)
		reduce_table.add new ReduceAction487(75)
		reduce_table.add new ReduceAction771(75)
		reduce_table.add new ReduceAction772(75)
		reduce_table.add new ReduceAction773(75)
		reduce_table.add new ReduceAction487(75)
		reduce_table.add new ReduceAction775(75)
		reduce_table.add new ReduceAction776(75)
		reduce_table.add new ReduceAction777(75)
		reduce_table.add new ReduceAction778(76)
		reduce_table.add new ReduceAction778(76)
		reduce_table.add new ReduceAction780(77)
		reduce_table.add new ReduceAction781(78)
		reduce_table.add new ReduceAction782(79)
		reduce_table.add new ReduceAction783(79)
		reduce_table.add new ReduceAction781(80)
		reduce_table.add new ReduceAction785(81)
		reduce_table.add new ReduceAction626(81)
		reduce_table.add new ReduceAction787(81)
		reduce_table.add new ReduceAction788(82)
		reduce_table.add new ReduceAction789(82)
		reduce_table.add new ReduceAction790(83)
		reduce_table.add new ReduceAction791(83)
		reduce_table.add new ReduceAction792(84)
		reduce_table.add new ReduceAction790(85)
		reduce_table.add new ReduceAction791(85)
		reduce_table.add new ReduceAction795(86)
		reduce_table.add new ReduceAction796(87)
		reduce_table.add new ReduceAction797(88)
		reduce_table.add new ReduceAction798(88)
		reduce_table.add new ReduceAction799(89)
		reduce_table.add new ReduceAction49(89)
		reduce_table.add new ReduceAction801(90)
		reduce_table.add new ReduceAction802(90)
		reduce_table.add new ReduceAction803(90)
		reduce_table.add new ReduceAction804(90)
		reduce_table.add new ReduceAction805(90)
		reduce_table.add new ReduceAction806(90)
		reduce_table.add new ReduceAction807(90)
		reduce_table.add new ReduceAction808(90)
		reduce_table.add new ReduceAction809(90)
		reduce_table.add new ReduceAction810(90)
		reduce_table.add new ReduceAction811(90)
		reduce_table.add new ReduceAction812(90)
		reduce_table.add new ReduceAction813(90)
		reduce_table.add new ReduceAction814(90)
		reduce_table.add new ReduceAction815(90)
		reduce_table.add new ReduceAction816(90)
		reduce_table.add new ReduceAction817(90)
		reduce_table.add new ReduceAction818(90)
		reduce_table.add new ReduceAction819(90)
		reduce_table.add new ReduceAction820(90)
		reduce_table.add new ReduceAction821(91)
		reduce_table.add new ReduceAction822(91)
		reduce_table.add new ReduceAction801(92)
		reduce_table.add new ReduceAction802(92)
		reduce_table.add new ReduceAction803(92)
		reduce_table.add new ReduceAction804(92)
		reduce_table.add new ReduceAction805(92)
		reduce_table.add new ReduceAction806(92)
		reduce_table.add new ReduceAction807(92)
		reduce_table.add new ReduceAction808(92)
		reduce_table.add new ReduceAction809(92)
		reduce_table.add new ReduceAction810(92)
		reduce_table.add new ReduceAction811(92)
		reduce_table.add new ReduceAction812(92)
		reduce_table.add new ReduceAction813(92)
		reduce_table.add new ReduceAction814(92)
		reduce_table.add new ReduceAction815(92)
		reduce_table.add new ReduceAction816(92)
		reduce_table.add new ReduceAction817(92)
		reduce_table.add new ReduceAction818(92)
		reduce_table.add new ReduceAction819(92)
		reduce_table.add new ReduceAction820(92)
		reduce_table.add new ReduceAction843(92)
		reduce_table.add new ReduceAction844(92)
		reduce_table.add new ReduceAction845(92)
		reduce_table.add new ReduceAction846(92)
		reduce_table.add new ReduceAction847(92)
		reduce_table.add new ReduceAction848(92)
		reduce_table.add new ReduceAction849(92)
		reduce_table.add new ReduceAction850(92)
		reduce_table.add new ReduceAction851(92)
		reduce_table.add new ReduceAction852(92)
		reduce_table.add new ReduceAction487(93)
		reduce_table.add new ReduceAction854(94)
		reduce_table.add new ReduceAction855(95)
		reduce_table.add new ReduceAction856(95)
		reduce_table.add new ReduceAction857(95)
		reduce_table.add new ReduceAction858(95)
		reduce_table.add new ReduceAction859(95)
		reduce_table.add new ReduceAction860(95)
		reduce_table.add new ReduceAction861(95)
		reduce_table.add new ReduceAction862(95)
		reduce_table.add new ReduceAction863(95)
		reduce_table.add new ReduceAction864(95)
		reduce_table.add new ReduceAction865(95)
		reduce_table.add new ReduceAction866(95)
		reduce_table.add new ReduceAction867(95)
		reduce_table.add new ReduceAction868(95)
		reduce_table.add new ReduceAction869(95)
		reduce_table.add new ReduceAction870(95)
		reduce_table.add new ReduceAction871(95)
		reduce_table.add new ReduceAction872(95)
		reduce_table.add new ReduceAction873(95)
		reduce_table.add new ReduceAction874(95)
		reduce_table.add new ReduceAction875(95)
		reduce_table.add new ReduceAction876(95)
		reduce_table.add new ReduceAction877(95)
		reduce_table.add new ReduceAction878(95)
		reduce_table.add new ReduceAction879(95)
		reduce_table.add new ReduceAction880(95)
		reduce_table.add new ReduceAction881(95)
		reduce_table.add new ReduceAction882(95)
		reduce_table.add new ReduceAction883(95)
		reduce_table.add new ReduceAction884(95)
		reduce_table.add new ReduceAction885(95)
		reduce_table.add new ReduceAction886(95)
		reduce_table.add new ReduceAction887(95)
		reduce_table.add new ReduceAction888(95)
		reduce_table.add new ReduceAction889(95)
		reduce_table.add new ReduceAction890(95)
		reduce_table.add new ReduceAction891(95)
		reduce_table.add new ReduceAction892(95)
		reduce_table.add new ReduceAction893(95)
		reduce_table.add new ReduceAction894(95)
		reduce_table.add new ReduceAction895(95)
		reduce_table.add new ReduceAction896(95)
		reduce_table.add new ReduceAction897(95)
		reduce_table.add new ReduceAction898(95)
		reduce_table.add new ReduceAction899(95)
		reduce_table.add new ReduceAction900(95)
		reduce_table.add new ReduceAction901(95)
		reduce_table.add new ReduceAction902(95)
		reduce_table.add new ReduceAction903(95)
		reduce_table.add new ReduceAction904(95)
		reduce_table.add new ReduceAction905(96)
		reduce_table.add new ReduceAction906(96)
		reduce_table.add new ReduceAction907(96)
		reduce_table.add new ReduceAction908(96)
		reduce_table.add new ReduceAction909(96)
		reduce_table.add new ReduceAction782(97)
		reduce_table.add new ReduceAction783(97)
		reduce_table.add new ReduceAction781(98)
		reduce_table.add new ReduceAction913(99)
		reduce_table.add new ReduceAction487(99)
		reduce_table.add new ReduceAction487(99)
		reduce_table.add new ReduceAction916(99)
		reduce_table.add new ReduceAction917(99)
		reduce_table.add new ReduceAction918(99)
		reduce_table.add new ReduceAction919(99)
		reduce_table.add new ReduceAction920(100)
		reduce_table.add new ReduceAction921(100)
		reduce_table.add new ReduceAction922(100)
		reduce_table.add new ReduceAction923(101)
		reduce_table.add new ReduceAction924(101)
		reduce_table.add new ReduceAction923(102)
		reduce_table.add new ReduceAction926(102)
		reduce_table.add new ReduceAction924(102)
		reduce_table.add new ReduceAction928(102)
		reduce_table.add new ReduceAction929(103)
		reduce_table.add new ReduceAction791(104)
		reduce_table.add new ReduceAction931(104)
		reduce_table.add new ReduceAction932(105)
		reduce_table.add new ReduceAction933(106)
		reduce_table.add new ReduceAction408(106)
		reduce_table.add new ReduceAction935(107)
		reduce_table.add new ReduceAction936(107)
		reduce_table.add new ReduceAction937(108)
		reduce_table.add new ReduceAction938(108)
		reduce_table.add new ReduceAction939(108)
		reduce_table.add new ReduceAction940(108)
		reduce_table.add new ReduceAction941(109)
		reduce_table.add new ReduceAction942(109)
		reduce_table.add new ReduceAction943(109)
		reduce_table.add new ReduceAction49(109)
		reduce_table.add new ReduceAction945(110)
		reduce_table.add new ReduceAction946(110)
		reduce_table.add new ReduceAction947(110)
		reduce_table.add new ReduceAction948(110)
		reduce_table.add new ReduceAction949(111)
		reduce_table.add new ReduceAction950(111)
		reduce_table.add new ReduceAction951(111)
		reduce_table.add new ReduceAction950(111)
		reduce_table.add new ReduceAction953(112)
		reduce_table.add new ReduceAction954(113)
		reduce_table.add new ReduceAction49(114)
		reduce_table.add new ReduceAction956(114)
		reduce_table.add new ReduceAction957(115)
		reduce_table.add new ReduceAction957(115)
		reduce_table.add new ReduceAction957(115)
		reduce_table.add new ReduceAction960(116)
		reduce_table.add new ReduceAction961(116)
		reduce_table.add new ReduceAction50(116)
		reduce_table.add new ReduceAction50(116)
		reduce_table.add new ReduceAction964(116)
		reduce_table.add new ReduceAction964(116)
		reduce_table.add new ReduceAction966(116)
		reduce_table.add new ReduceAction967(116)
		reduce_table.add new ReduceAction968(116)
		reduce_table.add new ReduceAction968(116)
		reduce_table.add new ReduceAction970(116)
		reduce_table.add new ReduceAction49(117)
		reduce_table.add new ReduceAction972(117)
		reduce_table.add new ReduceAction973(118)
		reduce_table.add new ReduceAction957(118)
		reduce_table.add new ReduceAction957(119)
		reduce_table.add new ReduceAction976(119)
		reduce_table.add new ReduceAction120(120)
		reduce_table.add new ReduceAction121(120)
		reduce_table.add new ReduceAction122(120)
		reduce_table.add new ReduceAction123(120)
		reduce_table.add new ReduceAction124(120)
		reduce_table.add new ReduceAction125(120)
		reduce_table.add new ReduceAction126(120)
		reduce_table.add new ReduceAction127(120)
		reduce_table.add new ReduceAction128(120)
		reduce_table.add new ReduceAction129(120)
		reduce_table.add new ReduceAction130(120)
		reduce_table.add new ReduceAction131(120)
		reduce_table.add new ReduceAction132(120)
		reduce_table.add new ReduceAction133(120)
		reduce_table.add new ReduceAction134(120)
		reduce_table.add new ReduceAction135(120)
		reduce_table.add new ReduceAction136(120)
		reduce_table.add new ReduceAction137(120)
		reduce_table.add new ReduceAction138(120)
		reduce_table.add new ReduceAction139(120)
		reduce_table.add new ReduceAction140(120)
		reduce_table.add new ReduceAction141(120)
		reduce_table.add new ReduceAction142(120)
		reduce_table.add new ReduceAction143(120)
		reduce_table.add new ReduceAction144(120)
		reduce_table.add new ReduceAction145(120)
		reduce_table.add new ReduceAction146(120)
		reduce_table.add new ReduceAction147(120)
		reduce_table.add new ReduceAction148(120)
		reduce_table.add new ReduceAction149(120)
		reduce_table.add new ReduceAction230(120)
		reduce_table.add new ReduceAction231(120)
		reduce_table.add new ReduceAction232(120)
		reduce_table.add new ReduceAction233(120)
		reduce_table.add new ReduceAction234(120)
		reduce_table.add new ReduceAction235(120)
		reduce_table.add new ReduceAction236(120)
		reduce_table.add new ReduceAction237(120)
		reduce_table.add new ReduceAction238(120)
		reduce_table.add new ReduceAction239(120)
		reduce_table.add new ReduceAction240(120)
		reduce_table.add new ReduceAction241(120)
		reduce_table.add new ReduceAction242(120)
		reduce_table.add new ReduceAction243(120)
		reduce_table.add new ReduceAction244(120)
		reduce_table.add new ReduceAction245(120)
		reduce_table.add new ReduceAction246(120)
		reduce_table.add new ReduceAction247(120)
		reduce_table.add new ReduceAction248(120)
		reduce_table.add new ReduceAction249(120)
		reduce_table.add new ReduceAction402(121)
		reduce_table.add new ReduceAction403(121)
		reduce_table.add new ReduceAction411(122)
		reduce_table.add new ReduceAction412(122)
		reduce_table.add new ReduceAction413(122)
		reduce_table.add new ReduceAction414(122)
		reduce_table.add new ReduceAction415(122)
		reduce_table.add new ReduceAction416(122)
		reduce_table.add new ReduceAction417(122)
		reduce_table.add new ReduceAction418(122)
		reduce_table.add new ReduceAction419(122)
		reduce_table.add new ReduceAction420(122)
		reduce_table.add new ReduceAction421(122)
		reduce_table.add new ReduceAction422(122)
		reduce_table.add new ReduceAction423(122)
		reduce_table.add new ReduceAction424(122)
		reduce_table.add new ReduceAction425(122)
		reduce_table.add new ReduceAction426(122)
		reduce_table.add new ReduceAction427(122)
		reduce_table.add new ReduceAction428(122)
		reduce_table.add new ReduceAction429(122)
		reduce_table.add new ReduceAction430(122)
		reduce_table.add new ReduceAction431(122)
		reduce_table.add new ReduceAction432(122)
		reduce_table.add new ReduceAction949(123)
		reduce_table.add new ReduceAction950(123)
		reduce_table.add new ReduceAction951(123)
		reduce_table.add new ReduceAction950(123)
		reduce_table.add new ReduceAction471(124)
		reduce_table.add new ReduceAction472(124)
		reduce_table.add new ReduceAction472(124)
		reduce_table.add new ReduceAction474(125)
		reduce_table.add new ReduceAction475(125)
		reduce_table.add new ReduceAction487(126)
		reduce_table.add new ReduceAction641(126)
		reduce_table.add new ReduceAction487(127)
		reduce_table.add new ReduceAction643(127)
		reduce_table.add new ReduceAction644(127)
		reduce_table.add new ReduceAction645(127)
		reduce_table.add new ReduceAction646(127)
		reduce_table.add new ReduceAction487(128)
		reduce_table.add new ReduceAction648(128)
		reduce_table.add new ReduceAction487(129)
		reduce_table.add new ReduceAction650(129)
		reduce_table.add new ReduceAction651(129)
		reduce_table.add new ReduceAction652(129)
		reduce_table.add new ReduceAction653(129)
		reduce_table.add new ReduceAction654(129)
		reduce_table.add new ReduceAction655(129)
		reduce_table.add new ReduceAction656(129)
		reduce_table.add new ReduceAction657(129)
		reduce_table.add new ReduceAction487(130)
		reduce_table.add new ReduceAction659(130)
		reduce_table.add new ReduceAction487(131)
		reduce_table.add new ReduceAction661(131)
		reduce_table.add new ReduceAction487(132)
		reduce_table.add new ReduceAction663(132)
		reduce_table.add new ReduceAction487(133)
		reduce_table.add new ReduceAction665(133)
		reduce_table.add new ReduceAction666(133)
		reduce_table.add new ReduceAction487(134)
		reduce_table.add new ReduceAction668(134)
		reduce_table.add new ReduceAction669(134)
		reduce_table.add new ReduceAction487(135)
		reduce_table.add new ReduceAction671(135)
		reduce_table.add new ReduceAction672(135)
		reduce_table.add new ReduceAction673(135)
		reduce_table.add new ReduceAction487(136)
		reduce_table.add new ReduceAction675(136)
		reduce_table.add new ReduceAction487(137)
		reduce_table.add new ReduceAction677(137)
		reduce_table.add new ReduceAction678(137)
		reduce_table.add new ReduceAction679(137)
		reduce_table.add new ReduceAction680(137)
		reduce_table.add new ReduceAction487(138)
		reduce_table.add new ReduceAction682(138)
		reduce_table.add new ReduceAction683(138)
		reduce_table.add new ReduceAction684(138)
		reduce_table.add new ReduceAction685(138)
		reduce_table.add new ReduceAction686(138)
		reduce_table.add new ReduceAction687(138)
		reduce_table.add new ReduceAction695(138)
		reduce_table.add new ReduceAction703(138)
		reduce_table.add new ReduceAction688(138)
		reduce_table.add new ReduceAction696(138)
		reduce_table.add new ReduceAction704(138)
		reduce_table.add new ReduceAction689(138)
		reduce_table.add new ReduceAction697(138)
		reduce_table.add new ReduceAction705(138)
		reduce_table.add new ReduceAction690(138)
		reduce_table.add new ReduceAction698(138)
		reduce_table.add new ReduceAction706(138)
		reduce_table.add new ReduceAction691(138)
		reduce_table.add new ReduceAction699(138)
		reduce_table.add new ReduceAction707(138)
		reduce_table.add new ReduceAction692(138)
		reduce_table.add new ReduceAction700(138)
		reduce_table.add new ReduceAction708(138)
		reduce_table.add new ReduceAction693(138)
		reduce_table.add new ReduceAction701(138)
		reduce_table.add new ReduceAction709(138)
		reduce_table.add new ReduceAction694(138)
		reduce_table.add new ReduceAction702(138)
		reduce_table.add new ReduceAction710(138)
		reduce_table.add new ReduceAction487(139)
		reduce_table.add new ReduceAction712(139)
		reduce_table.add new ReduceAction713(139)
		reduce_table.add new ReduceAction714(139)
		reduce_table.add new ReduceAction510(139)
		reduce_table.add new ReduceAction514(139)
		reduce_table.add new ReduceAction518(139)
		reduce_table.add new ReduceAction716(139)
		reduce_table.add new ReduceAction724(139)
		reduce_table.add new ReduceAction732(139)
		reduce_table.add new ReduceAction511(139)
		reduce_table.add new ReduceAction515(139)
		reduce_table.add new ReduceAction519(139)
		reduce_table.add new ReduceAction718(139)
		reduce_table.add new ReduceAction726(139)
		reduce_table.add new ReduceAction734(139)
		reduce_table.add new ReduceAction512(139)
		reduce_table.add new ReduceAction516(139)
		reduce_table.add new ReduceAction520(139)
		reduce_table.add new ReduceAction720(139)
		reduce_table.add new ReduceAction728(139)
		reduce_table.add new ReduceAction736(139)
		reduce_table.add new ReduceAction513(139)
		reduce_table.add new ReduceAction517(139)
		reduce_table.add new ReduceAction521(139)
		reduce_table.add new ReduceAction722(139)
		reduce_table.add new ReduceAction730(139)
		reduce_table.add new ReduceAction738(139)
		reduce_table.add new ReduceAction522(139)
		reduce_table.add new ReduceAction740(139)
		reduce_table.add new ReduceAction523(139)
		reduce_table.add new ReduceAction524(139)
		reduce_table.add new ReduceAction525(139)
		reduce_table.add new ReduceAction742(139)
		reduce_table.add new ReduceAction744(139)
		reduce_table.add new ReduceAction746(139)
		reduce_table.add new ReduceAction748(139)
		reduce_table.add new ReduceAction749(139)
		reduce_table.add new ReduceAction750(139)
		reduce_table.add new ReduceAction751(139)
		reduce_table.add new ReduceAction752(139)
		reduce_table.add new ReduceAction753(139)
		reduce_table.add new ReduceAction754(139)
		reduce_table.add new ReduceAction755(139)
		reduce_table.add new ReduceAction756(139)
		reduce_table.add new ReduceAction757(139)
		reduce_table.add new ReduceAction758(139)
		reduce_table.add new ReduceAction487(140)
		reduce_table.add new ReduceAction760(140)
		reduce_table.add new ReduceAction761(140)
		reduce_table.add new ReduceAction762(141)
		reduce_table.add new ReduceAction763(141)
		reduce_table.add new ReduceAction764(141)
		reduce_table.add new ReduceAction765(141)
		reduce_table.add new ReduceAction766(141)
		reduce_table.add new ReduceAction767(141)
		reduce_table.add new ReduceAction768(141)
		reduce_table.add new ReduceAction769(141)
		reduce_table.add new ReduceAction487(141)
		reduce_table.add new ReduceAction771(141)
		reduce_table.add new ReduceAction772(141)
		reduce_table.add new ReduceAction773(141)
		reduce_table.add new ReduceAction487(141)
		reduce_table.add new ReduceAction471(142)
		reduce_table.add new ReduceAction472(142)
		reduce_table.add new ReduceAction472(142)
		reduce_table.add new ReduceAction474(143)
		reduce_table.add new ReduceAction475(143)
		reduce_table.add new ReduceAction476(143)
		reduce_table.add new ReduceAction477(143)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction495(144)
		reduce_table.add new ReduceAction496(144)
		reduce_table.add new ReduceAction497(144)
		reduce_table.add new ReduceAction498(144)
		reduce_table.add new ReduceAction499(144)
		reduce_table.add new ReduceAction500(144)
		reduce_table.add new ReduceAction501(144)
		reduce_table.add new ReduceAction502(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction487(144)
		reduce_table.add new ReduceAction510(144)
		reduce_table.add new ReduceAction511(144)
		reduce_table.add new ReduceAction512(144)
		reduce_table.add new ReduceAction513(144)
		reduce_table.add new ReduceAction514(144)
		reduce_table.add new ReduceAction515(144)
		reduce_table.add new ReduceAction516(144)
		reduce_table.add new ReduceAction517(144)
		reduce_table.add new ReduceAction518(144)
		reduce_table.add new ReduceAction519(144)
		reduce_table.add new ReduceAction520(144)
		reduce_table.add new ReduceAction521(144)
		reduce_table.add new ReduceAction522(144)
		reduce_table.add new ReduceAction523(144)
		reduce_table.add new ReduceAction524(144)
		reduce_table.add new ReduceAction525(144)
		reduce_table.add new ReduceAction526(144)
		reduce_table.add new ReduceAction527(144)
		reduce_table.add new ReduceAction526(144)
		reduce_table.add new ReduceAction529(144)
		reduce_table.add new ReduceAction530(144)
		reduce_table.add new ReduceAction529(144)
		reduce_table.add new ReduceAction532(144)
		reduce_table.add new ReduceAction533(144)
		reduce_table.add new ReduceAction532(144)
		reduce_table.add new ReduceAction535(144)
		reduce_table.add new ReduceAction542(145)
		reduce_table.add new ReduceAction543(145)
		reduce_table.add new ReduceAction544(145)
		reduce_table.add new ReduceAction545(145)
		reduce_table.add new ReduceAction546(145)
		reduce_table.add new ReduceAction547(145)
		reduce_table.add new ReduceAction548(145)
		reduce_table.add new ReduceAction549(145)
		reduce_table.add new ReduceAction550(145)
		reduce_table.add new ReduceAction551(145)
		reduce_table.add new ReduceAction552(145)
		reduce_table.add new ReduceAction553(145)
		reduce_table.add new ReduceAction554(145)
		reduce_table.add new ReduceAction555(145)
		reduce_table.add new ReduceAction556(145)
		reduce_table.add new ReduceAction557(145)
		reduce_table.add new ReduceAction558(145)
		reduce_table.add new ReduceAction559(145)
		reduce_table.add new ReduceAction560(145)
		reduce_table.add new ReduceAction561(145)
		reduce_table.add new ReduceAction562(145)
		reduce_table.add new ReduceAction563(145)
		reduce_table.add new ReduceAction564(145)
		reduce_table.add new ReduceAction565(145)
		reduce_table.add new ReduceAction566(145)
		reduce_table.add new ReduceAction567(145)
		reduce_table.add new ReduceAction568(145)
		reduce_table.add new ReduceAction569(145)
		reduce_table.add new ReduceAction570(145)
		reduce_table.add new ReduceAction571(145)
		reduce_table.add new ReduceAction572(145)
		reduce_table.add new ReduceAction573(145)
		reduce_table.add new ReduceAction574(145)
		reduce_table.add new ReduceAction575(145)
		reduce_table.add new ReduceAction576(145)
		reduce_table.add new ReduceAction577(145)
		reduce_table.add new ReduceAction578(145)
		reduce_table.add new ReduceAction579(145)
		reduce_table.add new ReduceAction580(145)
		reduce_table.add new ReduceAction581(145)
		reduce_table.add new ReduceAction582(145)
		reduce_table.add new ReduceAction583(145)
		reduce_table.add new ReduceAction584(145)
		reduce_table.add new ReduceAction585(145)
		reduce_table.add new ReduceAction586(145)
		reduce_table.add new ReduceAction587(145)
		reduce_table.add new ReduceAction588(145)
		reduce_table.add new ReduceAction589(145)
		reduce_table.add new ReduceAction590(145)
		reduce_table.add new ReduceAction591(145)
		reduce_table.add new ReduceAction592(145)
		reduce_table.add new ReduceAction593(145)
		reduce_table.add new ReduceAction594(145)
		reduce_table.add new ReduceAction595(145)
		reduce_table.add new ReduceAction596(145)
		reduce_table.add new ReduceAction597(145)
		reduce_table.add new ReduceAction487(146)
		reduce_table.add new ReduceAction641(146)
		reduce_table.add new ReduceAction487(147)
		reduce_table.add new ReduceAction643(147)
		reduce_table.add new ReduceAction644(147)
		reduce_table.add new ReduceAction645(147)
		reduce_table.add new ReduceAction646(147)
		reduce_table.add new ReduceAction487(148)
		reduce_table.add new ReduceAction648(148)
		reduce_table.add new ReduceAction487(149)
		reduce_table.add new ReduceAction650(149)
		reduce_table.add new ReduceAction651(149)
		reduce_table.add new ReduceAction652(149)
		reduce_table.add new ReduceAction653(149)
		reduce_table.add new ReduceAction654(149)
		reduce_table.add new ReduceAction655(149)
		reduce_table.add new ReduceAction656(149)
		reduce_table.add new ReduceAction657(149)
		reduce_table.add new ReduceAction487(150)
		reduce_table.add new ReduceAction659(150)
		reduce_table.add new ReduceAction487(151)
		reduce_table.add new ReduceAction661(151)
		reduce_table.add new ReduceAction487(152)
		reduce_table.add new ReduceAction663(152)
		reduce_table.add new ReduceAction487(153)
		reduce_table.add new ReduceAction665(153)
		reduce_table.add new ReduceAction666(153)
		reduce_table.add new ReduceAction487(154)
		reduce_table.add new ReduceAction668(154)
		reduce_table.add new ReduceAction669(154)
		reduce_table.add new ReduceAction487(155)
		reduce_table.add new ReduceAction671(155)
		reduce_table.add new ReduceAction672(155)
		reduce_table.add new ReduceAction673(155)
		reduce_table.add new ReduceAction487(156)
		reduce_table.add new ReduceAction675(156)
		reduce_table.add new ReduceAction487(157)
		reduce_table.add new ReduceAction677(157)
		reduce_table.add new ReduceAction678(157)
		reduce_table.add new ReduceAction679(157)
		reduce_table.add new ReduceAction680(157)
		reduce_table.add new ReduceAction487(158)
		reduce_table.add new ReduceAction682(158)
		reduce_table.add new ReduceAction683(158)
		reduce_table.add new ReduceAction684(158)
		reduce_table.add new ReduceAction685(158)
		reduce_table.add new ReduceAction686(158)
		reduce_table.add new ReduceAction687(158)
		reduce_table.add new ReduceAction688(158)
		reduce_table.add new ReduceAction689(158)
		reduce_table.add new ReduceAction690(158)
		reduce_table.add new ReduceAction691(158)
		reduce_table.add new ReduceAction692(158)
		reduce_table.add new ReduceAction693(158)
		reduce_table.add new ReduceAction694(158)
		reduce_table.add new ReduceAction695(158)
		reduce_table.add new ReduceAction696(158)
		reduce_table.add new ReduceAction697(158)
		reduce_table.add new ReduceAction698(158)
		reduce_table.add new ReduceAction699(158)
		reduce_table.add new ReduceAction700(158)
		reduce_table.add new ReduceAction701(158)
		reduce_table.add new ReduceAction702(158)
		reduce_table.add new ReduceAction703(158)
		reduce_table.add new ReduceAction704(158)
		reduce_table.add new ReduceAction705(158)
		reduce_table.add new ReduceAction706(158)
		reduce_table.add new ReduceAction707(158)
		reduce_table.add new ReduceAction708(158)
		reduce_table.add new ReduceAction709(158)
		reduce_table.add new ReduceAction710(158)
		reduce_table.add new ReduceAction487(159)
		reduce_table.add new ReduceAction712(159)
		reduce_table.add new ReduceAction713(159)
		reduce_table.add new ReduceAction714(159)
		reduce_table.add new ReduceAction510(159)
		reduce_table.add new ReduceAction716(159)
		reduce_table.add new ReduceAction511(159)
		reduce_table.add new ReduceAction718(159)
		reduce_table.add new ReduceAction512(159)
		reduce_table.add new ReduceAction720(159)
		reduce_table.add new ReduceAction513(159)
		reduce_table.add new ReduceAction722(159)
		reduce_table.add new ReduceAction514(159)
		reduce_table.add new ReduceAction724(159)
		reduce_table.add new ReduceAction515(159)
		reduce_table.add new ReduceAction726(159)
		reduce_table.add new ReduceAction516(159)
		reduce_table.add new ReduceAction728(159)
		reduce_table.add new ReduceAction517(159)
		reduce_table.add new ReduceAction730(159)
		reduce_table.add new ReduceAction518(159)
		reduce_table.add new ReduceAction732(159)
		reduce_table.add new ReduceAction519(159)
		reduce_table.add new ReduceAction734(159)
		reduce_table.add new ReduceAction520(159)
		reduce_table.add new ReduceAction736(159)
		reduce_table.add new ReduceAction521(159)
		reduce_table.add new ReduceAction738(159)
		reduce_table.add new ReduceAction522(159)
		reduce_table.add new ReduceAction740(159)
		reduce_table.add new ReduceAction523(159)
		reduce_table.add new ReduceAction742(159)
		reduce_table.add new ReduceAction524(159)
		reduce_table.add new ReduceAction744(159)
		reduce_table.add new ReduceAction525(159)
		reduce_table.add new ReduceAction746(159)
		reduce_table.add new ReduceAction747(159)
		reduce_table.add new ReduceAction748(159)
		reduce_table.add new ReduceAction749(159)
		reduce_table.add new ReduceAction750(159)
		reduce_table.add new ReduceAction751(159)
		reduce_table.add new ReduceAction752(159)
		reduce_table.add new ReduceAction753(159)
		reduce_table.add new ReduceAction754(159)
		reduce_table.add new ReduceAction755(159)
		reduce_table.add new ReduceAction756(159)
		reduce_table.add new ReduceAction757(159)
		reduce_table.add new ReduceAction758(159)
		reduce_table.add new ReduceAction487(160)
		reduce_table.add new ReduceAction760(160)
		reduce_table.add new ReduceAction761(160)
		reduce_table.add new ReduceAction762(161)
		reduce_table.add new ReduceAction763(161)
		reduce_table.add new ReduceAction764(161)
		reduce_table.add new ReduceAction765(161)
		reduce_table.add new ReduceAction766(161)
		reduce_table.add new ReduceAction767(161)
		reduce_table.add new ReduceAction768(161)
		reduce_table.add new ReduceAction769(161)
		reduce_table.add new ReduceAction487(161)
		reduce_table.add new ReduceAction771(161)
		reduce_table.add new ReduceAction772(161)
		reduce_table.add new ReduceAction773(161)
		reduce_table.add new ReduceAction797(162)
		reduce_table.add new ReduceAction798(162)
		reduce_table.add new ReduceAction799(163)
		reduce_table.add new ReduceAction49(163)
		reduce_table.add new ReduceAction801(164)
		reduce_table.add new ReduceAction802(164)
		reduce_table.add new ReduceAction803(164)
		reduce_table.add new ReduceAction804(164)
		reduce_table.add new ReduceAction805(164)
		reduce_table.add new ReduceAction806(164)
		reduce_table.add new ReduceAction807(164)
		reduce_table.add new ReduceAction808(164)
		reduce_table.add new ReduceAction809(164)
		reduce_table.add new ReduceAction810(164)
		reduce_table.add new ReduceAction801(165)
		reduce_table.add new ReduceAction802(165)
		reduce_table.add new ReduceAction803(165)
		reduce_table.add new ReduceAction804(165)
		reduce_table.add new ReduceAction805(165)
		reduce_table.add new ReduceAction806(165)
		reduce_table.add new ReduceAction807(165)
		reduce_table.add new ReduceAction808(165)
		reduce_table.add new ReduceAction809(165)
		reduce_table.add new ReduceAction810(165)
		reduce_table.add new ReduceAction782(166)
		reduce_table.add new ReduceAction783(166)
		reduce_table.add new ReduceAction913(167)
		reduce_table.add new ReduceAction487(167)
		reduce_table.add new ReduceAction487(167)
		reduce_table.add new ReduceAction916(167)
		reduce_table.add new ReduceAction917(167)
		reduce_table.add new ReduceAction918(167)
		reduce_table.add new ReduceAction471(168)
		reduce_table.add new ReduceAction472(168)
		reduce_table.add new ReduceAction472(168)
		reduce_table.add new ReduceAction474(169)
		reduce_table.add new ReduceAction475(169)
		reduce_table.add new ReduceAction487(170)
		reduce_table.add new ReduceAction641(170)
		reduce_table.add new ReduceAction487(171)
		reduce_table.add new ReduceAction643(171)
		reduce_table.add new ReduceAction644(171)
		reduce_table.add new ReduceAction645(171)
		reduce_table.add new ReduceAction646(171)
		reduce_table.add new ReduceAction487(172)
		reduce_table.add new ReduceAction648(172)
		reduce_table.add new ReduceAction487(173)
		reduce_table.add new ReduceAction650(173)
		reduce_table.add new ReduceAction651(173)
		reduce_table.add new ReduceAction652(173)
		reduce_table.add new ReduceAction653(173)
		reduce_table.add new ReduceAction654(173)
		reduce_table.add new ReduceAction655(173)
		reduce_table.add new ReduceAction656(173)
		reduce_table.add new ReduceAction657(173)
		reduce_table.add new ReduceAction487(174)
		reduce_table.add new ReduceAction659(174)
		reduce_table.add new ReduceAction487(175)
		reduce_table.add new ReduceAction661(175)
		reduce_table.add new ReduceAction487(176)
		reduce_table.add new ReduceAction663(176)
		reduce_table.add new ReduceAction487(177)
		reduce_table.add new ReduceAction665(177)
		reduce_table.add new ReduceAction666(177)
		reduce_table.add new ReduceAction487(178)
		reduce_table.add new ReduceAction668(178)
		reduce_table.add new ReduceAction669(178)
		reduce_table.add new ReduceAction487(179)
		reduce_table.add new ReduceAction671(179)
		reduce_table.add new ReduceAction672(179)
		reduce_table.add new ReduceAction673(179)
		reduce_table.add new ReduceAction487(180)
		reduce_table.add new ReduceAction675(180)
		reduce_table.add new ReduceAction487(181)
		reduce_table.add new ReduceAction677(181)
		reduce_table.add new ReduceAction678(181)
		reduce_table.add new ReduceAction679(181)
		reduce_table.add new ReduceAction680(181)
		reduce_table.add new ReduceAction487(182)
		reduce_table.add new ReduceAction682(182)
		reduce_table.add new ReduceAction683(182)
		reduce_table.add new ReduceAction1515(182)
		reduce_table.add new ReduceAction1516(182)
		reduce_table.add new ReduceAction1517(182)
		reduce_table.add new ReduceAction1518(182)
		reduce_table.add new ReduceAction1519(182)
		reduce_table.add new ReduceAction1520(182)
		reduce_table.add new ReduceAction1521(182)
		reduce_table.add new ReduceAction1522(182)
		reduce_table.add new ReduceAction1523(182)
		reduce_table.add new ReduceAction487(183)
		reduce_table.add new ReduceAction1525(183)
		reduce_table.add new ReduceAction1526(183)
		reduce_table.add new ReduceAction1527(183)
		reduce_table.add new ReduceAction1528(183)
		reduce_table.add new ReduceAction1529(183)
		reduce_table.add new ReduceAction1530(183)
		reduce_table.add new ReduceAction1531(183)
		reduce_table.add new ReduceAction1532(183)
		reduce_table.add new ReduceAction1533(183)
		reduce_table.add new ReduceAction522(183)
		reduce_table.add new ReduceAction740(183)
		reduce_table.add new ReduceAction1536(183)
		reduce_table.add new ReduceAction1537(183)
		reduce_table.add new ReduceAction748(183)
		reduce_table.add new ReduceAction749(183)
		reduce_table.add new ReduceAction750(183)
		reduce_table.add new ReduceAction751(183)
		reduce_table.add new ReduceAction752(183)
		reduce_table.add new ReduceAction753(183)
		reduce_table.add new ReduceAction754(183)
		reduce_table.add new ReduceAction755(183)
		reduce_table.add new ReduceAction756(183)
		reduce_table.add new ReduceAction757(183)
		reduce_table.add new ReduceAction758(183)
		reduce_table.add new ReduceAction487(184)
		reduce_table.add new ReduceAction760(184)
		reduce_table.add new ReduceAction761(184)
		reduce_table.add new ReduceAction762(185)
		reduce_table.add new ReduceAction763(185)
		reduce_table.add new ReduceAction764(185)
		reduce_table.add new ReduceAction765(185)
		reduce_table.add new ReduceAction766(185)
		reduce_table.add new ReduceAction767(185)
		reduce_table.add new ReduceAction768(185)
		reduce_table.add new ReduceAction769(185)
		reduce_table.add new ReduceAction487(185)
		reduce_table.add new ReduceAction771(185)
		reduce_table.add new ReduceAction772(185)
		reduce_table.add new ReduceAction773(185)
		reduce_table.add new ReduceAction1564(186)
		reduce_table.add new ReduceAction1565(186)
		reduce_table.add new ReduceAction1566(186)
		reduce_table.add new ReduceAction484(187)
		reduce_table.add new ReduceAction485(187)
		reduce_table.add new ReduceAction486(187)
		reduce_table.add new ReduceAction487(187)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction495(188)
		reduce_table.add new ReduceAction496(188)
		reduce_table.add new ReduceAction497(188)
		reduce_table.add new ReduceAction498(188)
		reduce_table.add new ReduceAction499(188)
		reduce_table.add new ReduceAction500(188)
		reduce_table.add new ReduceAction501(188)
		reduce_table.add new ReduceAction502(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction487(188)
		reduce_table.add new ReduceAction510(188)
		reduce_table.add new ReduceAction511(188)
		reduce_table.add new ReduceAction512(188)
		reduce_table.add new ReduceAction513(188)
		reduce_table.add new ReduceAction514(188)
		reduce_table.add new ReduceAction515(188)
		reduce_table.add new ReduceAction516(188)
		reduce_table.add new ReduceAction517(188)
		reduce_table.add new ReduceAction518(188)
		reduce_table.add new ReduceAction519(188)
		reduce_table.add new ReduceAction520(188)
		reduce_table.add new ReduceAction521(188)
		reduce_table.add new ReduceAction522(188)
		reduce_table.add new ReduceAction523(188)
		reduce_table.add new ReduceAction524(188)
		reduce_table.add new ReduceAction525(188)
		reduce_table.add new ReduceAction526(188)
		reduce_table.add new ReduceAction527(188)
		reduce_table.add new ReduceAction526(188)
		reduce_table.add new ReduceAction529(188)
		reduce_table.add new ReduceAction530(188)
		reduce_table.add new ReduceAction529(188)
		reduce_table.add new ReduceAction532(188)
		reduce_table.add new ReduceAction533(188)
		reduce_table.add new ReduceAction532(188)
		reduce_table.add new ReduceAction535(188)
		reduce_table.add new ReduceAction609(189)
		reduce_table.add new ReduceAction610(189)
		reduce_table.add new ReduceAction611(189)
		reduce_table.add new ReduceAction612(190)
		reduce_table.add new ReduceAction621(191)
		reduce_table.add new ReduceAction622(191)
		reduce_table.add new ReduceAction623(192)
		reduce_table.add new ReduceAction624(192)
		reduce_table.add new ReduceAction625(193)
		reduce_table.add new ReduceAction626(193)
		reduce_table.add new ReduceAction630(194)
		reduce_table.add new ReduceAction631(194)
		reduce_table.add new ReduceAction635(195)
		reduce_table.add new ReduceAction636(195)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction495(196)
		reduce_table.add new ReduceAction496(196)
		reduce_table.add new ReduceAction497(196)
		reduce_table.add new ReduceAction498(196)
		reduce_table.add new ReduceAction499(196)
		reduce_table.add new ReduceAction500(196)
		reduce_table.add new ReduceAction501(196)
		reduce_table.add new ReduceAction502(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction487(196)
		reduce_table.add new ReduceAction510(196)
		reduce_table.add new ReduceAction511(196)
		reduce_table.add new ReduceAction512(196)
		reduce_table.add new ReduceAction513(196)
		reduce_table.add new ReduceAction514(196)
		reduce_table.add new ReduceAction515(196)
		reduce_table.add new ReduceAction516(196)
		reduce_table.add new ReduceAction517(196)
		reduce_table.add new ReduceAction518(196)
		reduce_table.add new ReduceAction519(196)
		reduce_table.add new ReduceAction520(196)
		reduce_table.add new ReduceAction521(196)
		reduce_table.add new ReduceAction522(196)
		reduce_table.add new ReduceAction523(196)
		reduce_table.add new ReduceAction524(196)
		reduce_table.add new ReduceAction525(196)
		reduce_table.add new ReduceAction526(196)
		reduce_table.add new ReduceAction527(196)
		reduce_table.add new ReduceAction526(196)
		reduce_table.add new ReduceAction529(196)
		reduce_table.add new ReduceAction530(196)
		reduce_table.add new ReduceAction529(196)
		reduce_table.add new ReduceAction532(196)
		reduce_table.add new ReduceAction533(196)
		reduce_table.add new ReduceAction532(196)
		reduce_table.add new ReduceAction535(196)
		reduce_table.add new ReduceAction484(197)
		reduce_table.add new ReduceAction485(197)
		reduce_table.add new ReduceAction486(197)
		reduce_table.add new ReduceAction484(198)
		reduce_table.add new ReduceAction485(198)
		reduce_table.add new ReduceAction486(198)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction495(199)
		reduce_table.add new ReduceAction496(199)
		reduce_table.add new ReduceAction497(199)
		reduce_table.add new ReduceAction498(199)
		reduce_table.add new ReduceAction499(199)
		reduce_table.add new ReduceAction500(199)
		reduce_table.add new ReduceAction501(199)
		reduce_table.add new ReduceAction502(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction487(199)
		reduce_table.add new ReduceAction535(199)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction495(200)
		reduce_table.add new ReduceAction496(200)
		reduce_table.add new ReduceAction497(200)
		reduce_table.add new ReduceAction498(200)
		reduce_table.add new ReduceAction499(200)
		reduce_table.add new ReduceAction500(200)
		reduce_table.add new ReduceAction501(200)
		reduce_table.add new ReduceAction502(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction487(200)
		reduce_table.add new ReduceAction535(200)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction495(201)
		reduce_table.add new ReduceAction496(201)
		reduce_table.add new ReduceAction497(201)
		reduce_table.add new ReduceAction498(201)
		reduce_table.add new ReduceAction499(201)
		reduce_table.add new ReduceAction500(201)
		reduce_table.add new ReduceAction501(201)
		reduce_table.add new ReduceAction502(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction487(201)
		reduce_table.add new ReduceAction535(201)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction495(202)
		reduce_table.add new ReduceAction496(202)
		reduce_table.add new ReduceAction497(202)
		reduce_table.add new ReduceAction498(202)
		reduce_table.add new ReduceAction499(202)
		reduce_table.add new ReduceAction500(202)
		reduce_table.add new ReduceAction501(202)
		reduce_table.add new ReduceAction502(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction487(202)
		reduce_table.add new ReduceAction535(202)
		reduce_table.add new ReduceAction920(203)
		reduce_table.add new ReduceAction922(203)
		reduce_table.add new ReduceAction960(204)
		reduce_table.add new ReduceAction961(204)
		reduce_table.add new ReduceAction50(204)
		reduce_table.add new ReduceAction1750(205)
		reduce_table.add new ReduceAction1751(205)
		reduce_table.add new ReduceAction1752(206)
		reduce_table.add new ReduceAction1753(206)
		reduce_table.add new ReduceAction1754(207)
		reduce_table.add new ReduceAction1755(207)
		reduce_table.add new ReduceAction100(208)
		reduce_table.add new ReduceAction1757(208)
		reduce_table.add new ReduceAction117(209)
		reduce_table.add new ReduceAction1759(209)
		reduce_table.add new ReduceAction821(210)
		reduce_table.add new ReduceAction1761(210)
		reduce_table.add new ReduceAction1762(211)
		reduce_table.add new ReduceAction1763(211)
		reduce_table.add new ReduceAction1764(212)
		reduce_table.add new ReduceAction1765(212)
		reduce_table.add new ReduceAction478(213)
		reduce_table.add new ReduceAction1767(213)
		reduce_table.add new ReduceAction782(214)
		reduce_table.add new ReduceAction1769(214)
		reduce_table.add new ReduceAction782(215)
		reduce_table.add new ReduceAction1769(215)
		reduce_table.add new ReduceAction782(216)
		reduce_table.add new ReduceAction1769(216)
		reduce_table.add new ReduceAction408(217)
		reduce_table.add new ReduceAction1775(217)
		reduce_table.add new ReduceAction821(218)
		reduce_table.add new ReduceAction1761(218)
		reduce_table.add new ReduceAction782(219)
		reduce_table.add new ReduceAction1769(219)
		reduce_table.add new ReduceAction782(220)
		reduce_table.add new ReduceAction1769(220)
		reduce_table.add new ReduceAction935(221)
		reduce_table.add new ReduceAction1783(221)
		reduce_table.add new ReduceAction1784(222)
		reduce_table.add new ReduceAction1785(222)
		reduce_table.add new ReduceAction957(223)
		reduce_table.add new ReduceAction976(223)
		return reduce_table
	end
end

private class ReduceAction0
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var pclassdefnode5 = nodearraylist1
					assert pclassdefnode5 isa nullable AClassdef
					if pclassdefnode5 != null then
						listnode6.add(pclassdefnode5)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode3,
						listnode4,
						listnode6
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var pclassdefnode5 = nodearraylist2
					assert pclassdefnode5 isa nullable AClassdef
					if pclassdefnode5 != null then
						listnode6.add(pclassdefnode5)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode3,
						listnode4,
						listnode6
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction2
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode7 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var pclassdefnode6 = nodearraylist2
					assert pclassdefnode6 isa nullable AClassdef
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode4,
						listnode5,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction3
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode7 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var pclassdefnode6 = nodearraylist3
					assert pclassdefnode6 isa nullable AClassdef
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode4,
						listnode5,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction4
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode7 = new Array[Object]
					var listnode4 = nodearraylist1
					assert listnode4 isa Array[Object]
					listnode5 = concat(listnode5, listnode4)
					var pclassdefnode6 = nodearraylist2
					assert pclassdefnode6 isa nullable AClassdef
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode3,
						listnode5,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction5
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode7 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode4 = nodearraylist2
					assert listnode4 isa Array[Object]
					listnode5 = concat(listnode5, listnode4)
					var pclassdefnode6 = nodearraylist3
					assert pclassdefnode6 isa nullable AClassdef
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode3,
						listnode5,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction6
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var listnode8 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pclassdefnode7 = nodearraylist3
					assert pclassdefnode7 isa nullable AClassdef
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode4,
						listnode6,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction7
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var listnode8 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode5 = nodearraylist3
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pclassdefnode7 = nodearraylist4
					assert pclassdefnode7 isa nullable AClassdef
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode4,
						listnode6,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction8
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode4 = new Array[Object]
					var listnode7 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					var pclassdefnode6 = nodearraylist2
					assert pclassdefnode6 isa nullable AClassdef
					listnode7 = concat(listnode7, listnode5)
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode3,
						listnode4,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction9
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode4 = new Array[Object]
					var listnode7 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					var pclassdefnode6 = nodearraylist3
					assert pclassdefnode6 isa nullable AClassdef
					listnode7 = concat(listnode7, listnode5)
					if pclassdefnode6 != null then
						listnode7.add(pclassdefnode6)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode3,
						listnode4,
						listnode7
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction10
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode8 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					var pclassdefnode7 = nodearraylist3
					assert pclassdefnode7 isa nullable AClassdef
					listnode8 = concat(listnode8, listnode6)
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode4,
						listnode5,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction11
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode8 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					var pclassdefnode7 = nodearraylist4
					assert pclassdefnode7 isa nullable AClassdef
					listnode8 = concat(listnode8, listnode6)
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode4,
						listnode5,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction12
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode8 = new Array[Object]
					var listnode4 = nodearraylist1
					assert listnode4 isa Array[Object]
					listnode5 = concat(listnode5, listnode4)
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					var pclassdefnode7 = nodearraylist3
					assert pclassdefnode7 isa nullable AClassdef
					listnode8 = concat(listnode8, listnode6)
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode3,
						listnode5,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction13
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode5 = new Array[Object]
					var listnode8 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode4 = nodearraylist2
					assert listnode4 isa Array[Object]
					listnode5 = concat(listnode5, listnode4)
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					var pclassdefnode7 = nodearraylist4
					assert pclassdefnode7 isa nullable AClassdef
					listnode8 = concat(listnode8, listnode6)
					if pclassdefnode7 != null then
						listnode8.add(pclassdefnode7)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode3,
						listnode5,
						listnode8
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction14
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var listnode9 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var listnode7 = nodearraylist3
					assert listnode7 isa Array[Object]
					var pclassdefnode8 = nodearraylist4
					assert pclassdefnode8 isa nullable AClassdef
					listnode9 = concat(listnode9, listnode7)
					if pclassdefnode8 != null then
						listnode9.add(pclassdefnode8)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						null,
						listnode4,
						listnode6,
						listnode9
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction15
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode6 = new Array[Object]
					var listnode9 = new Array[Object]
					var pmoduledeclnode2 = nodearraylist1
					assert pmoduledeclnode2 isa nullable AModuledecl
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var listnode5 = nodearraylist3
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var listnode7 = nodearraylist4
					assert listnode7 isa Array[Object]
					var pclassdefnode8 = nodearraylist5
					assert pclassdefnode8 isa nullable AClassdef
					listnode9 = concat(listnode9, listnode7)
					if pclassdefnode8 != null then
						listnode9.add(pclassdefnode8)
					end
					var pmodulenode1: nullable AModule = new AModule.init_amodule(
						pmoduledeclnode2,
						listnode4,
						listnode6,
						listnode9
					)
					node_list = pmodulenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction16
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmodulenode6 = nodearraylist2
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist4
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist5
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction17
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmodulenode6 = nodearraylist4
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist6
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction18
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmodulenode6 = nodearraylist4
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist6
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction19
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmodulenode6 = nodearraylist4
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist6
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction20
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmodulenode6 = nodearraylist4
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist6
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction21
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmodulenode6 = nodearraylist3
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist5
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist6
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction22
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmodulenode6 = nodearraylist5
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist7
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction23
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmodulenode6 = nodearraylist5
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist7
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction24
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmodulenode6 = nodearraylist5
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist7
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction25
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmodulenode6 = nodearraylist5
					assert tkwmodulenode6 isa nullable TKwmodule
					var pmodulenamenode7 = nodearraylist7
					assert pmodulenamenode7 isa nullable AModuleName
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var pmoduledeclnode1: nullable AModuledecl = new AModuledecl.init_amoduledecl(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmodulenode6,
						pmodulenamenode7,
						pannotationsnode8
					)
					node_list = pmoduledeclnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction26
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwimportnode4 = nodearraylist2
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist4
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist5
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction27
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwpublicnode3 = nodearraylist2
					assert tkwpublicnode3 isa nullable TKwpublic
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist6
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist7
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction28
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprivatenode3 = nodearraylist2
					assert tkwprivatenode3 isa nullable TKwprivate
					var pvisibilitynode2: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist6
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist7
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction29
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprotectednode3 = nodearraylist2
					assert tkwprotectednode3 isa nullable TKwprotected
					var pvisibilitynode2: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist6
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist7
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction30
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwintrudenode3 = nodearraylist2
					assert tkwintrudenode3 isa nullable TKwintrude
					var pvisibilitynode2: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist6
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist7
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction31
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwimportnode4 = nodearraylist3
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist5
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist6
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction32
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwpublicnode3 = nodearraylist3
					assert tkwpublicnode3 isa nullable TKwpublic
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist7
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist8
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction33
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprivatenode3 = nodearraylist3
					assert tkwprivatenode3 isa nullable TKwprivate
					var pvisibilitynode2: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist7
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist8
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction34
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprotectednode3 = nodearraylist3
					assert tkwprotectednode3 isa nullable TKwprotected
					var pvisibilitynode2: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist7
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist8
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction35
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwintrudenode3 = nodearraylist3
					assert tkwintrudenode3 isa nullable TKwintrude
					var pvisibilitynode2: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var pmodulenamenode5 = nodearraylist7
					assert pmodulenamenode5 isa nullable AModuleName
					var pannotationsnode6 = nodearraylist8
					assert pannotationsnode6 isa nullable AAnnotations
					var pimportnode1: nullable AStdImport = new AStdImport.init_astdimport(
						pvisibilitynode2,
						tkwimportnode4,
						pmodulenamenode5,
						pannotationsnode6
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction36
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwimportnode4 = nodearraylist2
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist4
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction37
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwpublicnode3 = nodearraylist2
					assert tkwpublicnode3 isa nullable TKwpublic
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist6
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction38
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprivatenode3 = nodearraylist2
					assert tkwprivatenode3 isa nullable TKwprivate
					var pvisibilitynode2: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist6
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction39
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprotectednode3 = nodearraylist2
					assert tkwprotectednode3 isa nullable TKwprotected
					var pvisibilitynode2: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist6
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction40
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwintrudenode3 = nodearraylist2
					assert tkwintrudenode3 isa nullable TKwintrude
					var pvisibilitynode2: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode3
					)
					var tkwimportnode4 = nodearraylist4
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist6
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction41
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwimportnode4 = nodearraylist3
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist5
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction42
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwpublicnode3 = nodearraylist3
					assert tkwpublicnode3 isa nullable TKwpublic
					var pvisibilitynode2: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist7
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction43
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprivatenode3 = nodearraylist3
					assert tkwprivatenode3 isa nullable TKwprivate
					var pvisibilitynode2: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist7
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction44
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwprotectednode3 = nodearraylist3
					assert tkwprotectednode3 isa nullable TKwprotected
					var pvisibilitynode2: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist7
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction45
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwintrudenode3 = nodearraylist3
					assert tkwintrudenode3 isa nullable TKwintrude
					var pvisibilitynode2: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode3
					)
					var tkwimportnode4 = nodearraylist5
					assert tkwimportnode4 isa nullable TKwimport
					var tkwendnode5 = nodearraylist7
					assert tkwendnode5 isa nullable TKwend
					var pimportnode1: nullable ANoImport = new ANoImport.init_anoimport(
						pvisibilitynode2,
						tkwimportnode4,
						tkwendnode5
					)
					node_list = pimportnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction46
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pclassdefnode1 = nodearraylist1
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction47
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var ppropdefnode2 = nodearraylist1
					assert ppropdefnode2 isa nullable APropdef
					if ppropdefnode2 != null then
						listnode3.add(ppropdefnode2)
					end
					var pclassdefnode1: nullable ATopClassdef = new ATopClassdef.init_atopclassdef(
						listnode3
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction48
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var ppropdefnode2 = nodearraylist1
					assert ppropdefnode2 isa nullable APropdef
					if ppropdefnode2 != null then
						listnode3.add(ppropdefnode2)
					end
					var pclassdefnode1: nullable AMainClassdef = new AMainClassdef.init_amainclassdef(
						listnode3
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction49
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					node_list = null
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction50
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					node_list = null
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction51
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode5 = new Array[Object]
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					if pexprnode4 != null then
						listnode5.add(pexprnode4)
					end
					var pexprnode3: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode5,
						null
					)
					var ppropdefnode1: nullable AMainMethPropdef = new AMainMethPropdef.init_amainmethpropdef(
						null,
						pexprnode3
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction52
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var listnode5 = nodearraylist3
					assert listnode5 isa Array[Object]
					if pexprnode4 != null then
						listnode6.add(pexprnode4)
					end
					listnode6 = concat(listnode6, listnode5)
					var pexprnode3: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode6,
						null
					)
					var ppropdefnode1: nullable AMainMethPropdef = new AMainMethPropdef.init_amainmethpropdef(
						null,
						pexprnode3
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction53
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var ppropdefnode1: nullable AMainMethPropdef = new AMainMethPropdef.init_amainmethpropdef(
						null,
						pexprnode3
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction54
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist2
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist4
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist5
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist6
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction55
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist7
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction56
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist7
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction57
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist7
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction58
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist7
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction59
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist3
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist6
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist7
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction60
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction61
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction62
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction63
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						null,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction64
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist2
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist4
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist5
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist6
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist7
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction65
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist7
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction66
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist7
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction67
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist7
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction68
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist7
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist8
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction69
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist3
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist6
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist7
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction70
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist8
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist9
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction71
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist8
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist9
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction72
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist8
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist9
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction73
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var listnode13 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var pexterncodeblocknode11 = nodearraylist8
					assert pexterncodeblocknode11 isa nullable AExternCodeBlock
					var listnode12 = nodearraylist9
					assert listnode12 isa Array[Object]
					listnode13 = concat(listnode13, listnode12)
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						null,
						listnode9,
						null,
						pexterncodeblocknode11,
						listnode13,
						tkwendnode14
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction74
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist2
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist4
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist5
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist7
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist8
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist9
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist10
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction75
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist11
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist12
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction76
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist11
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist12
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction77
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist11
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist12
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction78
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist11
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist12
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction79
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist3
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist6
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist8
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist9
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist10
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist11
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction80
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction81
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction82
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction83
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						null,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction84
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist2
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist4
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist5
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist7
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist8
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist9
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist10
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist11
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction85
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist11
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction86
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist11
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction87
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist11
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction88
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist4
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist7
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist9
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist10
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist11
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist12
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist13
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction89
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var pclasskindnode6 = nodearraylist3
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist6
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist8
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist9
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist10
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist11
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist12
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction90
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist14 = p.pop
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist12
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist13
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist14
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction91
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist14 = p.pop
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist12
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist13
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist14
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction92
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist14 = p.pop
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist12
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist13
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist14
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction93
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist14 = p.pop
					var nodearraylist13 = p.pop
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode10 = new Array[Object]
					var listnode14 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var pclasskindnode6 = nodearraylist5
					assert pclasskindnode6 isa nullable AClasskind
					var pqclassidnode7 = nodearraylist7
					assert pqclassidnode7 isa nullable AQclassid
					var tobranode8 = nodearraylist8
					assert tobranode8 isa nullable TObra
					var listnode9 = nodearraylist10
					assert listnode9 isa Array[Object]
					listnode10 = concat(listnode10, listnode9)
					var tcbranode11 = nodearraylist11
					assert tcbranode11 isa nullable TCbra
					var pexterncodeblocknode12 = nodearraylist12
					assert pexterncodeblocknode12 isa nullable AExternCodeBlock
					var listnode13 = nodearraylist13
					assert listnode13 isa Array[Object]
					listnode14 = concat(listnode14, listnode13)
					var tkwendnode15 = nodearraylist14
					assert tkwendnode15 isa nullable TKwend
					var pclassdefnode1: nullable AStdClassdef = new AStdClassdef.init_astdclassdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						pclasskindnode6,
						pqclassidnode7,
						tobranode8,
						listnode10,
						tcbranode11,
						pexterncodeblocknode12,
						listnode14,
						tkwendnode15
					)
					node_list = pclassdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction94
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwclassnode2 = nodearraylist1
					assert tkwclassnode2 isa nullable TKwclass
					var pclasskindnode1: nullable AConcreteClasskind = new AConcreteClasskind.init_aconcreteclasskind(
						tkwclassnode2
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction95
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwabstractnode2 = nodearraylist1
					assert tkwabstractnode2 isa nullable TKwabstract
					var tkwclassnode3 = nodearraylist2
					assert tkwclassnode3 isa nullable TKwclass
					var pclasskindnode1: nullable AAbstractClasskind = new AAbstractClasskind.init_aabstractclasskind(
						tkwabstractnode2,
						tkwclassnode3
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction96
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwinterfacenode2 = nodearraylist1
					assert tkwinterfacenode2 isa nullable TKwinterface
					var pclasskindnode1: nullable AInterfaceClasskind = new AInterfaceClasskind.init_ainterfaceclasskind(
						tkwinterfacenode2
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction97
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwenumnode2 = nodearraylist1
					assert tkwenumnode2 isa nullable TKwenum
					var pclasskindnode1: nullable AEnumClasskind = new AEnumClasskind.init_aenumclasskind(
						tkwenumnode2
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction98
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwexternnode2 = nodearraylist1
					assert tkwexternnode2 isa nullable TKwextern
					var tkwclassnode3 = nodearraylist2
					assert tkwclassnode3 isa nullable TKwclass
					var pclasskindnode1: nullable AExternClasskind = new AExternClasskind.init_aexternclasskind(
						tkwexternnode2,
						tkwclassnode3
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction99
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwsubsetnode2 = nodearraylist1
					assert tkwsubsetnode2 isa nullable TKwsubset
					var pclasskindnode1: nullable ASubsetClasskind = new ASubsetClasskind.init_asubsetclasskind(
						tkwsubsetnode2
					)
					node_list = pclasskindnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction100
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pformaldefnode1 = nodearraylist1
					if pformaldefnode1 != null then
						listnode2.add(pformaldefnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction101
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pformaldefnode1 = nodearraylist1
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					if pformaldefnode1 != null then
						listnode3.add(pformaldefnode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction102
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var listnode1 = new Array[Object]
					node_list = listnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction103
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pformaldefnode1 = nodearraylist3
					node_list = pformaldefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction104
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tclassidnode2 = nodearraylist1
					assert tclassidnode2 isa nullable TClassid
					var ptypenode3 = nodearraylist2
					assert ptypenode3 isa nullable AType
					var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
						tclassidnode2,
						ptypenode3,
						null
					)
					node_list = pformaldefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction105
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tclassidnode2 = nodearraylist1
					assert tclassidnode2 isa nullable TClassid
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var pannotationsnode4 = nodearraylist2
					assert pannotationsnode4 isa nullable AAnnotations
					var pformaldefnode1: nullable AFormaldef = new AFormaldef.init_aformaldef(
						tclassidnode2,
						ptypenode3,
						pannotationsnode4
					)
					node_list = pformaldefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction106
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwsupernode6 = nodearraylist2
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist4
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist5
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction107
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwsupernode6 = nodearraylist4
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist6
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction108
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwsupernode6 = nodearraylist4
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist6
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction109
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwsupernode6 = nodearraylist4
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist6
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction110
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwsupernode6 = nodearraylist4
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist6
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction111
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwsupernode6 = nodearraylist3
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist5
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist6
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction112
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwsupernode6 = nodearraylist5
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist7
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction113
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwsupernode6 = nodearraylist5
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist7
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction114
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwsupernode6 = nodearraylist5
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist7
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction115
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwsupernode6 = nodearraylist5
					assert tkwsupernode6 isa nullable TKwsuper
					var ptypenode7 = nodearraylist7
					assert ptypenode7 isa nullable AType
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var ppropdefnode1: nullable ASuperPropdef = new ASuperPropdef.init_asuperpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwsupernode6,
						ptypenode7,
						pannotationsnode8
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction116
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					listnode2 = concat(listnode2, listnode1)
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction117
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var ppropdefnode1 = nodearraylist1
					if ppropdefnode1 != null then
						listnode2.add(ppropdefnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction118
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode1 = new Array[Object]
					node_list = listnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction119
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ppropdefnode1 = nodearraylist1
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction120
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist2
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction121
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction122
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction123
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction124
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction125
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist3
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction126
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction127
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction128
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction129
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction130
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist2
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction131
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction132
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction133
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction134
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction135
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist3
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction136
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction137
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction138
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction139
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction140
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist2
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction141
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction142
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction143
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction144
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction145
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist3
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction146
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction147
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction148
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction149
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction150
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwisanode8 = nodearraylist2
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist3
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist4
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist5
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction151
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist5
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist6
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist7
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction152
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist5
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist6
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist7
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction153
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist5
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist6
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist7
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction154
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist5
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist6
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist7
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction155
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwisanode8 = nodearraylist3
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist4
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist5
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist6
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction156
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction157
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction158
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction159
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction160
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwisanode8 = nodearraylist2
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist3
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist4
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist5
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist6
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction161
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist5
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction162
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist5
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction163
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist5
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction164
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwisanode8 = nodearraylist4
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist5
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist6
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist7
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist8
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction165
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwisanode8 = nodearraylist3
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist4
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist5
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist6
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist7
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction166
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist6
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist7
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist8
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist9
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction167
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist6
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist7
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist8
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist9
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction168
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist6
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist7
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist8
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist9
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction169
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwisanode8 = nodearraylist5
					assert tkwisanode8 isa nullable TKwisa
					var listnode13 = new Array[Object]
					var psignaturenode11: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode13,
						null,
						null
					)
					var pannotationsnode16 = nodearraylist6
					assert pannotationsnode16 isa nullable AAnnotations
					var tkwdonode19 = nodearraylist7
					assert tkwdonode19 isa nullable TKwdo
					var pexprnode20 = nodearraylist8
					assert pexprnode20 isa nullable AExpr
					var tkwendnode21 = nodearraylist9
					assert tkwendnode21 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						tkwisanode8,
						null,
						null,
						psignaturenode11,
						pannotationsnode16,
						null,
						null,
						tkwdonode19,
						pexprnode20,
						tkwendnode21
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction170
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist4
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction171
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction172
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction173
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction174
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction175
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction176
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction177
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction178
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction179
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction180
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction181
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction182
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction183
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction184
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction185
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction186
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction187
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction188
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction189
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction190
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist4
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist5
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist6
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction191
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction192
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction193
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction194
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction195
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction196
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction197
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction198
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction199
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction200
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction201
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction202
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction203
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction204
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction205
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction206
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction207
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction208
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction209
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction210
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist4
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction211
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction212
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction213
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction214
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction215
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction216
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction217
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction218
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction219
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction220
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction221
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction222
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction223
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction224
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction225
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction226
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction227
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction228
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction229
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction230
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist2
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist5
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist6
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction231
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction232
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction233
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction234
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction235
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist3
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction236
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction237
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction238
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction239
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction240
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist2
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction241
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction242
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction243
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction244
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist4
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction245
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwmethnode6 = nodearraylist3
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction246
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction247
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction248
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction249
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwmethnode6 = nodearraylist5
					assert tkwmethnode6 isa nullable TKwmeth
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwmethnode6,
						null,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction250
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist5
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction251
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction252
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction253
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction254
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction255
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist6
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction256
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction257
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction258
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction259
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction260
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist5
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist7
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction261
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist9
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction262
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist9
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction263
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist9
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction264
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist9
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction265
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist6
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist8
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction266
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist8
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist10
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist11
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction267
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist8
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist10
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist11
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction268
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist8
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist10
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist11
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction269
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tassignnode9 = nodearraylist8
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist10
					assert pexprnode10 isa nullable AExpr
					var pannotationsnode11 = nodearraylist11
					assert pannotationsnode11 isa nullable AAnnotations
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						tassignnode9,
						pexprnode10,
						pannotationsnode11,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction270
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist5
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist6
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction271
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction272
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction273
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction274
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction275
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist6
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist7
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction276
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction277
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction278
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction279
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction280
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist5
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist6
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist7
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction281
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction282
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction283
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction284
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction285
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist6
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction286
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction287
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction288
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction289
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction290
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist5
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist6
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist7
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction291
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction292
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction293
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction294
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction295
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist6
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist7
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction296
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction297
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction298
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction299
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						null,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction300
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist2
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist5
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist6
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist7
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist8
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction301
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction302
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction303
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction304
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist4
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist8
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist10
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction305
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwvarnode6 = nodearraylist3
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist4
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist6
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist7
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist9
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction306
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist11
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction307
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist11
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction308
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist11
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction309
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwvarnode6 = nodearraylist5
					assert tkwvarnode6 isa nullable TKwvar
					var tidnode7 = nodearraylist6
					assert tidnode7 isa nullable TId
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var tkwdonode12 = nodearraylist9
					assert tkwdonode12 isa nullable TKwdo
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var tkwendnode14 = nodearraylist11
					assert tkwendnode14 isa nullable TKwend
					var ppropdefnode1: nullable AAttrPropdef = new AAttrPropdef.init_aattrpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwvarnode6,
						tidnode7,
						ptypenode8,
						null,
						null,
						pannotationsnode11,
						tkwdonode12,
						pexprnode13,
						tkwendnode14
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction310
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist2
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist4
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist5
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist6
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction311
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction312
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction313
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction314
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction315
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist3
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction316
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction317
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction318
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction319
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction320
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist2
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction321
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction322
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction323
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction324
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction325
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist3
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction326
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction327
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction328
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction329
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						null,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction330
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist2
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist4
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist5
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist6
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist7
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction331
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction332
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction333
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction334
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction335
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist3
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction336
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction337
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction338
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction339
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						null,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction340
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist2
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist6
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist7
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist8
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction341
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction342
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction343
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction344
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist4
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist8
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist9
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist10
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction345
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwinitnode7 = nodearraylist3
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist7
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist8
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist9
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction346
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction347
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction348
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction349
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwinitnode7 = nodearraylist5
					assert tkwinitnode7 isa nullable TKwinit
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var tkwdonode15 = nodearraylist9
					assert tkwdonode15 isa nullable TKwdo
					var pexprnode16 = nodearraylist10
					assert pexprnode16 isa nullable AExpr
					var tkwendnode17 = nodearraylist11
					assert tkwendnode17 isa nullable TKwend
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						tkwinitnode7,
						null,
						null,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						null,
						null,
						tkwdonode15,
						pexprnode16,
						tkwendnode17
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction350
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwtypenode6 = nodearraylist2
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist3
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist4
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist5
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction351
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwtypenode6 = nodearraylist4
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist7
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction352
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwtypenode6 = nodearraylist4
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist7
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction353
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwtypenode6 = nodearraylist4
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist7
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction354
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwtypenode6 = nodearraylist4
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist5
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist6
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist7
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction355
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwtypenode6 = nodearraylist3
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist4
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist5
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist6
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction356
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwtypenode6 = nodearraylist5
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist8
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction357
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwtypenode6 = nodearraylist5
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist8
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction358
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwtypenode6 = nodearraylist5
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist8
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction359
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwtypenode6 = nodearraylist5
					assert tkwtypenode6 isa nullable TKwtype
					var pqclassidnode7 = nodearraylist6
					assert pqclassidnode7 isa nullable AQclassid
					var ptypenode8 = nodearraylist7
					assert ptypenode8 isa nullable AType
					var pannotationsnode9 = nodearraylist8
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable ATypePropdef = new ATypePropdef.init_atypepropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						tkwtypenode6,
						pqclassidnode7,
						ptypenode8,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction360
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist4
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist5
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction361
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction362
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction363
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction364
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction365
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist5
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist6
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction366
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction367
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction368
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction369
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction370
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist5
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist6
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction371
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction372
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction373
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction374
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction375
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction376
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction377
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction378
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction379
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						null,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction380
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist3
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist4
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist5
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist6
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction381
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction382
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction383
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction384
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction385
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction386
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction387
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction388
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction389
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						null,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction390
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist2
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist3
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist4
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist5
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist6
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist7
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction391
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction392
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction393
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction394
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist4
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist5
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist6
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist7
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist8
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist9
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						null,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction395
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var tkwnewnode9 = nodearraylist3
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist4
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist5
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist6
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist7
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist8
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction396
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction397
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction398
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction399
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var tkwnewnode9 = nodearraylist5
					assert tkwnewnode9 isa nullable TKwnew
					var pmethidnode10 = nodearraylist6
					assert pmethidnode10 isa nullable AMethid
					var psignaturenode11 = nodearraylist7
					assert psignaturenode11 isa nullable ASignature
					var pannotationsnode12 = nodearraylist8
					assert pannotationsnode12 isa nullable AAnnotations
					var pexterncallsnode13 = nodearraylist9
					assert pexterncallsnode13 isa nullable AExternCalls
					var pexterncodeblocknode14 = nodearraylist10
					assert pexterncodeblocknode14 isa nullable AExternCodeBlock
					var ppropdefnode1: nullable AMethPropdef = new AMethPropdef.init_amethpropdef(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						null,
						null,
						null,
						tkwnewnode9,
						pmethidnode10,
						psignaturenode11,
						pannotationsnode12,
						pexterncallsnode13,
						pexterncodeblocknode14,
						null,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction400
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var ppropdefnode1 = nodearraylist1
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction402
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tkwisnode2 = nodearraylist1
					assert tkwisnode2 isa nullable TKwis
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
						tkwisnode2,
						null,
						null,
						listnode6,
						null,
						null
					)
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction403
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tkwisnode2 = nodearraylist1
					assert tkwisnode2 isa nullable TKwis
					var listnode5 = nodearraylist3
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tkwendnode8 = nodearraylist4
					assert tkwendnode8 isa nullable TKwend
					var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
						tkwisnode2,
						null,
						null,
						listnode6,
						null,
						tkwendnode8
					)
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction406
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tkwisnode2 = nodearraylist1
					assert tkwisnode2 isa nullable TKwis
					var listnode5 = nodearraylist3
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
						tkwisnode2,
						null,
						null,
						listnode6,
						null,
						null
					)
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction408
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					listnode2 = concat(listnode2, listnode1)
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction411
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tplusnode2 = nodearraylist1
					assert tplusnode2 isa nullable TPlus
					var pmethidnode1: nullable APlusMethid = new APlusMethid.init_aplusmethid(
						tplusnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction412
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tminusnode2 = nodearraylist1
					assert tminusnode2 isa nullable TMinus
					var pmethidnode1: nullable AMinusMethid = new AMinusMethid.init_aminusmethid(
						tminusnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction413
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstarnode2 = nodearraylist1
					assert tstarnode2 isa nullable TStar
					var pmethidnode1: nullable AStarMethid = new AStarMethid.init_astarmethid(
						tstarnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction414
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstarstarnode2 = nodearraylist1
					assert tstarstarnode2 isa nullable TStarstar
					var pmethidnode1: nullable AStarstarMethid = new AStarstarMethid.init_astarstarmethid(
						tstarstarnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction415
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tslashnode2 = nodearraylist1
					assert tslashnode2 isa nullable TSlash
					var pmethidnode1: nullable ASlashMethid = new ASlashMethid.init_aslashmethid(
						tslashnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction416
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tpercentnode2 = nodearraylist1
					assert tpercentnode2 isa nullable TPercent
					var pmethidnode1: nullable APercentMethid = new APercentMethid.init_apercentmethid(
						tpercentnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction417
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tpipenode2 = nodearraylist1
					assert tpipenode2 isa nullable TPipe
					var pmethidnode1: nullable APipeMethid = new APipeMethid.init_apipemethid(
						tpipenode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction418
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tcaretnode2 = nodearraylist1
					assert tcaretnode2 isa nullable TCaret
					var pmethidnode1: nullable ACaretMethid = new ACaretMethid.init_acaretmethid(
						tcaretnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction419
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pmethidnode1: nullable AAmpMethid = new AAmpMethid.init_aampmethid(
						tampnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction420
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var ttildenode2 = nodearraylist1
					assert ttildenode2 isa nullable TTilde
					var pmethidnode1: nullable ATildeMethid = new ATildeMethid.init_atildemethid(
						ttildenode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction421
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var teqnode2 = nodearraylist1
					assert teqnode2 isa nullable TEq
					var pmethidnode1: nullable AEqMethid = new AEqMethid.init_aeqmethid(
						teqnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction422
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tnenode2 = nodearraylist1
					assert tnenode2 isa nullable TNe
					var pmethidnode1: nullable ANeMethid = new ANeMethid.init_anemethid(
						tnenode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction423
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tlenode2 = nodearraylist1
					assert tlenode2 isa nullable TLe
					var pmethidnode1: nullable ALeMethid = new ALeMethid.init_alemethid(
						tlenode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction424
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tgenode2 = nodearraylist1
					assert tgenode2 isa nullable TGe
					var pmethidnode1: nullable AGeMethid = new AGeMethid.init_agemethid(
						tgenode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction425
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tltnode2 = nodearraylist1
					assert tltnode2 isa nullable TLt
					var pmethidnode1: nullable ALtMethid = new ALtMethid.init_altmethid(
						tltnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction426
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tgtnode2 = nodearraylist1
					assert tgtnode2 isa nullable TGt
					var pmethidnode1: nullable AGtMethid = new AGtMethid.init_agtmethid(
						tgtnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction427
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tllnode2 = nodearraylist1
					assert tllnode2 isa nullable TLl
					var pmethidnode1: nullable ALlMethid = new ALlMethid.init_allmethid(
						tllnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction428
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tggnode2 = nodearraylist1
					assert tggnode2 isa nullable TGg
					var pmethidnode1: nullable AGgMethid = new AGgMethid.init_aggmethid(
						tggnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction429
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var tcbranode3 = nodearraylist2
					assert tcbranode3 isa nullable TCbra
					var pmethidnode1: nullable ABraMethid = new ABraMethid.init_abramethid(
						tobranode2,
						tcbranode3
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction430
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstarshipnode2 = nodearraylist1
					assert tstarshipnode2 isa nullable TStarship
					var pmethidnode1: nullable AStarshipMethid = new AStarshipMethid.init_astarshipmethid(
						tstarshipnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction431
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var tassignnode3 = nodearraylist2
					assert tassignnode3 isa nullable TAssign
					var pmethidnode1: nullable AAssignMethid = new AAssignMethid.init_aassignmethid(
						tidnode2,
						tassignnode3
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction432
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var tcbranode3 = nodearraylist2
					assert tcbranode3 isa nullable TCbra
					var tassignnode4 = nodearraylist3
					assert tassignnode4 isa nullable TAssign
					var pmethidnode1: nullable ABraassignMethid = new ABraassignMethid.init_abraassignmethid(
						tobranode2,
						tcbranode3,
						tassignnode4
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction433
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var pmethidnode1: nullable AIdMethid = new AIdMethid.init_aidmethid(
						tidnode2
					)
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction434
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var toparnode2 = nodearraylist1
					assert toparnode2 isa nullable TOpar
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tcparnode5 = nodearraylist4
					assert tcparnode5 isa nullable TCpar
					var ptypenode6 = nodearraylist5
					assert ptypenode6 isa nullable AType
					var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
						toparnode2,
						listnode4,
						tcparnode5,
						ptypenode6
					)
					node_list = psignaturenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction435
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var toparnode2 = nodearraylist1
					assert toparnode2 isa nullable TOpar
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tcparnode5 = nodearraylist4
					assert tcparnode5 isa nullable TCpar
					var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
						toparnode2,
						listnode4,
						tcparnode5,
						null
					)
					node_list = psignaturenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction436
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var ptypenode5 = nodearraylist1
					assert ptypenode5 isa nullable AType
					var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode3,
						null,
						ptypenode5
					)
					node_list = psignaturenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction437
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var psignaturenode1: nullable ASignature = new ASignature.init_asignature(
						null,
						listnode3,
						null,
						null
					)
					node_list = psignaturenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction438
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pparamnode1 = nodearraylist1
					if pparamnode1 != null then
						listnode2.add(pparamnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction439
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pparamnode1 = nodearraylist1
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					if pparamnode1 != null then
						listnode3.add(pparamnode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction441
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pparamnode1 = nodearraylist3
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction442
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var pannotationsnode5 = nodearraylist2
					assert pannotationsnode5 isa nullable AAnnotations
					var pparamnode1: nullable AParam = new AParam.init_aparam(
						tidnode2,
						null,
						null,
						pannotationsnode5
					)
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction443
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var ptypenode3 = nodearraylist2
					assert ptypenode3 isa nullable AType
					var pparamnode1: nullable AParam = new AParam.init_aparam(
						tidnode2,
						ptypenode3,
						null,
						null
					)
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction444
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var pannotationsnode5 = nodearraylist2
					assert pannotationsnode5 isa nullable AAnnotations
					var pparamnode1: nullable AParam = new AParam.init_aparam(
						tidnode2,
						ptypenode3,
						null,
						pannotationsnode5
					)
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction445
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var ptypenode3 = nodearraylist2
					assert ptypenode3 isa nullable AType
					var tdotdotdotnode4 = nodearraylist3
					assert tdotdotdotnode4 isa nullable TDotdotdot
					var pparamnode1: nullable AParam = new AParam.init_aparam(
						tidnode2,
						ptypenode3,
						tdotdotdotnode4,
						null
					)
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction446
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var tdotdotdotnode4 = nodearraylist4
					assert tdotdotdotnode4 isa nullable TDotdotdot
					var pannotationsnode5 = nodearraylist2
					assert pannotationsnode5 isa nullable AAnnotations
					var pparamnode1: nullable AParam = new AParam.init_aparam(
						tidnode2,
						ptypenode3,
						tdotdotdotnode4,
						pannotationsnode5
					)
					node_list = pparamnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction447
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tkwimportnode2 = nodearraylist1
					assert tkwimportnode2 isa nullable TKwimport
					var pexterncallnode3 = nodearraylist3
					assert pexterncallnode3 isa nullable AExternCall
					if pexterncallnode3 != null then
						listnode4.add(pexterncallnode3)
					end
					var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
						tkwimportnode2,
						listnode4
					)
					node_list = pexterncallsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction448
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode5 = new Array[Object]
					var tkwimportnode2 = nodearraylist1
					assert tkwimportnode2 isa nullable TKwimport
					var pexterncallnode3 = nodearraylist3
					assert pexterncallnode3 isa nullable AExternCall
					var listnode4 = nodearraylist4
					assert listnode4 isa Array[Object]
					if pexterncallnode3 != null then
						listnode5.add(pexterncallnode3)
					end
					listnode5 = concat(listnode5, listnode4)
					var pexterncallsnode1: nullable AExternCalls = new AExternCalls.init_aexterncalls(
						tkwimportnode2,
						listnode5
					)
					node_list = pexterncallsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction450
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexterncallnode1 = nodearraylist3
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction451
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexterncallnode1 = nodearraylist1
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction453
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwsupernode2 = nodearraylist1
					assert tkwsupernode2 isa nullable TKwsuper
					var pexterncallnode1: nullable ASuperExternCall = new ASuperExternCall.init_asuperexterncall(
						tkwsupernode2
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction454
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pmethidnode2 = nodearraylist1
					assert pmethidnode2 isa nullable AMethid
					var pexterncallnode1: nullable ALocalPropExternCall = new ALocalPropExternCall.init_alocalpropexterncall(
						pmethidnode2
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction455
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tdotnode3 = nodearraylist2
					assert tdotnode3 isa nullable TDot
					var pmethidnode4 = nodearraylist3
					assert pmethidnode4 isa nullable AMethid
					var pexterncallnode1: nullable AFullPropExternCall = new AFullPropExternCall.init_afullpropexterncall(
						ptypenode2,
						tdotnode3,
						pmethidnode4
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction456
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var pexterncallnode1: nullable AInitPropExternCall = new AInitPropExternCall.init_ainitpropexterncall(
						ptypenode2
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction457
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tdotnode3 = nodearraylist2
					assert tdotnode3 isa nullable TDot
					var tkwasnode4 = nodearraylist3
					assert tkwasnode4 isa nullable TKwas
					var ptypenode5 = nodearraylist7
					assert ptypenode5 isa nullable AType
					var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
						ptypenode2,
						tdotnode3,
						tkwasnode4,
						ptypenode5
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction458
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tdotnode3 = nodearraylist2
					assert tdotnode3 isa nullable TDot
					var tkwasnode4 = nodearraylist3
					assert tkwasnode4 isa nullable TKwas
					var ptypenode5 = nodearraylist5
					assert ptypenode5 isa nullable AType
					var pexterncallnode1: nullable ACastAsExternCall = new ACastAsExternCall.init_acastasexterncall(
						ptypenode2,
						tdotnode3,
						tkwasnode4,
						ptypenode5
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction459
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tkwasnode3 = nodearraylist3
					assert tkwasnode3 isa nullable TKwas
					var tkwnullablenode4 = nodearraylist7
					assert tkwnullablenode4 isa nullable TKwnullable
					var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
						ptypenode2,
						tkwasnode3,
						tkwnullablenode4
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction460
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tkwasnode3 = nodearraylist3
					assert tkwasnode3 isa nullable TKwas
					var tkwnullablenode4 = nodearraylist5
					assert tkwnullablenode4 isa nullable TKwnullable
					var pexterncallnode1: nullable AAsNullableExternCall = new AAsNullableExternCall.init_aasnullableexterncall(
						ptypenode2,
						tkwasnode3,
						tkwnullablenode4
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction461
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tkwasnode3 = nodearraylist3
					assert tkwasnode3 isa nullable TKwas
					var tkwnotnode4 = nodearraylist7
					assert tkwnotnode4 isa nullable TKwnot
					var tkwnullablenode5 = nodearraylist9
					assert tkwnullablenode5 isa nullable TKwnullable
					var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
						ptypenode2,
						tkwasnode3,
						tkwnotnode4,
						tkwnullablenode5
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction462
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var tkwasnode3 = nodearraylist3
					assert tkwasnode3 isa nullable TKwas
					var tkwnotnode4 = nodearraylist5
					assert tkwnotnode4 isa nullable TKwnot
					var tkwnullablenode5 = nodearraylist7
					assert tkwnullablenode5 isa nullable TKwnullable
					var pexterncallnode1: nullable AAsNotNullableExternCall = new AAsNotNullableExternCall.init_aasnotnullableexterncall(
						ptypenode2,
						tkwasnode3,
						tkwnotnode4,
						tkwnullablenode5
					)
					node_list = pexterncallnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction464
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstringnode1 = nodearraylist1
					node_list = tstringnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction465
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwinnode2 = nodearraylist1
					assert tkwinnode2 isa nullable TKwin
					var tstringnode3 = nodearraylist3
					assert tstringnode3 isa nullable TString
					var pinlanguagenode1: nullable AInLanguage = new AInLanguage.init_ainlanguage(
						tkwinnode2,
						tstringnode3
					)
					node_list = pinlanguagenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction466
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var texterncodesegmentnode3 = nodearraylist1
					assert texterncodesegmentnode3 isa nullable TExternCodeSegment
					var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
						null,
						texterncodesegmentnode3
					)
					node_list = pexterncodeblocknode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction467
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pinlanguagenode2 = nodearraylist1
					assert pinlanguagenode2 isa nullable AInLanguage
					var texterncodesegmentnode3 = nodearraylist2
					assert texterncodesegmentnode3 isa nullable TExternCodeSegment
					var pexterncodeblocknode1: nullable AExternCodeBlock = new AExternCodeBlock.init_aexterncodeblock(
						pinlanguagenode2,
						texterncodesegmentnode3
					)
					node_list = pexterncodeblocknode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction468
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexterncodeblocknode1 = nodearraylist1
					node_list = pexterncodeblocknode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction470
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexterncodeblocknode1 = nodearraylist2
					node_list = pexterncodeblocknode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction471
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var ptypenode1 = nodearraylist1
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction472
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode1 = nodearraylist1
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction474
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode5 = new Array[Object]
					var pqclassidnode3 = nodearraylist1
					assert pqclassidnode3 isa nullable AQclassid
					var pannotationsnode7 = nodearraylist2
					assert pannotationsnode7 isa nullable AAnnotations
					var ptypenode1: nullable AType = new AType.init_atype(
						null,
						pqclassidnode3,
						null,
						listnode5,
						null,
						pannotationsnode7
					)
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction475
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode5 = new Array[Object]
					var tkwnullablenode2 = nodearraylist1
					assert tkwnullablenode2 isa nullable TKwnullable
					var pqclassidnode3 = nodearraylist2
					assert pqclassidnode3 isa nullable AQclassid
					var pannotationsnode7 = nodearraylist3
					assert pannotationsnode7 isa nullable AAnnotations
					var ptypenode1: nullable AType = new AType.init_atype(
						tkwnullablenode2,
						pqclassidnode3,
						null,
						listnode5,
						null,
						pannotationsnode7
					)
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction476
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var pqclassidnode3 = nodearraylist1
					assert pqclassidnode3 isa nullable AQclassid
					var tobranode4 = nodearraylist2
					assert tobranode4 isa nullable TObra
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tcbranode7 = nodearraylist6
					assert tcbranode7 isa nullable TCbra
					var pannotationsnode8 = nodearraylist7
					assert pannotationsnode8 isa nullable AAnnotations
					var ptypenode1: nullable AType = new AType.init_atype(
						null,
						pqclassidnode3,
						tobranode4,
						listnode6,
						tcbranode7,
						pannotationsnode8
					)
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction477
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tkwnullablenode2 = nodearraylist1
					assert tkwnullablenode2 isa nullable TKwnullable
					var pqclassidnode3 = nodearraylist2
					assert pqclassidnode3 isa nullable AQclassid
					var tobranode4 = nodearraylist3
					assert tobranode4 isa nullable TObra
					var listnode5 = nodearraylist5
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tcbranode7 = nodearraylist7
					assert tcbranode7 isa nullable TCbra
					var pannotationsnode8 = nodearraylist8
					assert pannotationsnode8 isa nullable AAnnotations
					var ptypenode1: nullable AType = new AType.init_atype(
						tkwnullablenode2,
						pqclassidnode3,
						tobranode4,
						listnode6,
						tcbranode7,
						pannotationsnode8
					)
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction478
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var ptypenode1 = nodearraylist1
					if ptypenode1 != null then
						listnode2.add(ptypenode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction479
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var ptypenode1 = nodearraylist1
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					if ptypenode1 != null then
						listnode3.add(ptypenode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction480
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ptypenode1 = nodearraylist3
					node_list = ptypenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction484
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist2
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction485
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var tkwendnode3 = nodearraylist2
					assert tkwendnode3 isa nullable TKwend
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode2,
						tkwendnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction486
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var tkwendnode3 = nodearraylist1
					assert tkwendnode3 isa nullable TKwend
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode2,
						tkwendnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction487
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist1
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction488
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					if pexprnode2 != null then
						listnode3.add(pexprnode2)
					end
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode3,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction489
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					if pexprnode2 != null then
						listnode4.add(pexprnode2)
					end
					listnode4 = concat(listnode4, listnode3)
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode4,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction490
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					if pexprnode2 != null then
						listnode3.add(pexprnode2)
					end
					var tkwendnode4 = nodearraylist3
					assert tkwendnode4 isa nullable TKwend
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode3,
						tkwendnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction491
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					if pexprnode2 != null then
						listnode4.add(pexprnode2)
					end
					listnode4 = concat(listnode4, listnode3)
					var tkwendnode5 = nodearraylist4
					assert tkwendnode5 isa nullable TKwend
					var pexprnode1: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode4,
						tkwendnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction495
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwreturnnode2 = nodearraylist1
					assert tkwreturnnode2 isa nullable TKwreturn
					var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
						tkwreturnnode2,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction496
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwreturnnode2 = nodearraylist1
					assert tkwreturnnode2 isa nullable TKwreturn
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AReturnExpr = new AReturnExpr.init_areturnexpr(
						tkwreturnnode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction497
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwyieldnode2 = nodearraylist1
					assert tkwyieldnode2 isa nullable TKwyield
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AYieldExpr = new AYieldExpr.init_ayieldexpr(
						tkwyieldnode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction498
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwbreaknode2 = nodearraylist1
					assert tkwbreaknode2 isa nullable TKwbreak
					var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
						tkwbreaknode2,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction499
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwbreaknode2 = nodearraylist1
					assert tkwbreaknode2 isa nullable TKwbreak
					var plabelnode3 = nodearraylist2
					assert plabelnode3 isa nullable ALabel
					var pexprnode1: nullable ABreakExpr = new ABreakExpr.init_abreakexpr(
						tkwbreaknode2,
						plabelnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction500
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwabortnode2 = nodearraylist1
					assert tkwabortnode2 isa nullable TKwabort
					var pexprnode1: nullable AAbortExpr = new AAbortExpr.init_aabortexpr(
						tkwabortnode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction501
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwcontinuenode2 = nodearraylist1
					assert tkwcontinuenode2 isa nullable TKwcontinue
					var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
						tkwcontinuenode2,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction502
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwcontinuenode2 = nodearraylist1
					assert tkwcontinuenode2 isa nullable TKwcontinue
					var plabelnode3 = nodearraylist2
					assert plabelnode3 isa nullable ALabel
					var pexprnode1: nullable AContinueExpr = new AContinueExpr.init_acontinueexpr(
						tkwcontinuenode2,
						plabelnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction510
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist5
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction511
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction512
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist7
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction513
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist6
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction514
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction515
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var pexprsnode10 = nodearraylist7
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction516
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist8
					assert pexprsnode11 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction517
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist7
					assert pexprsnode11 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction518
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist2
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction519
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist3
					assert pexprsnode8 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction520
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist4
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction521
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist3
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction522
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pqualifiednode2 = nodearraylist1
					assert pqualifiednode2 isa nullable AQualified
					var tkwsupernode3 = nodearraylist2
					assert tkwsupernode3 isa nullable TKwsuper
					var pexprsnode4 = nodearraylist3
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
						pqualifiednode2,
						tkwsupernode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction523
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist4
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist5
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction524
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tkwinitnode5 = nodearraylist5
					assert tkwinitnode5 isa nullable TKwinit
					var pexprsnode6 = nodearraylist6
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode5,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction525
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tkwinitnode3 = nodearraylist1
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist2
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction526
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist5
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist6
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction527
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist6
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist7
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction529
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tkwinitnode5 = nodearraylist6
					assert tkwinitnode5 isa nullable TKwinit
					var pexprsnode6 = nodearraylist7
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode5,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction530
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tkwinitnode5 = nodearraylist7
					assert tkwinitnode5 isa nullable TKwinit
					var pexprsnode6 = nodearraylist8
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode5,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction532
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tkwinitnode3 = nodearraylist2
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist3
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction533
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tkwinitnode3 = nodearraylist3
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist4
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction535
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwdebugnode2 = nodearraylist1
					assert tkwdebugnode2 isa nullable TKwdebug
					var tkwtypenode3 = nodearraylist2
					assert tkwtypenode3 isa nullable TKwtype
					var pexprnode4 = nodearraylist5
					assert pexprnode4 isa nullable AExpr
					var ptypenode5 = nodearraylist3
					assert ptypenode5 isa nullable AType
					var pexprnode1: nullable ADebugTypeExpr = new ADebugTypeExpr.init_adebugtypeexpr(
						tkwdebugnode2,
						tkwtypenode3,
						pexprnode4,
						ptypenode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction536
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwlabelnode2 = nodearraylist1
					assert tkwlabelnode2 isa nullable TKwlabel
					var plabelnode1: nullable ALabel = new ALabel.init_alabel(
						tkwlabelnode2,
						null
					)
					node_list = plabelnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction537
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwlabelnode2 = nodearraylist1
					assert tkwlabelnode2 isa nullable TKwlabel
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var plabelnode1: nullable ALabel = new ALabel.init_alabel(
						tkwlabelnode2,
						tidnode3
					)
					node_list = plabelnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction538
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwvarnode2 = nodearraylist1
					assert tkwvarnode2 isa nullable TKwvar
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist3
					assert ptypenode4 isa nullable AType
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						tkwvarnode2,
						tidnode3,
						ptypenode4,
						null,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction539
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwvarnode2 = nodearraylist1
					assert tkwvarnode2 isa nullable TKwvar
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist4
					assert ptypenode4 isa nullable AType
					var pannotationsnode7 = nodearraylist3
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						tkwvarnode2,
						tidnode3,
						ptypenode4,
						null,
						null,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction540
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwvarnode2 = nodearraylist1
					assert tkwvarnode2 isa nullable TKwvar
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist3
					assert ptypenode4 isa nullable AType
					var tassignnode5 = nodearraylist4
					assert tassignnode5 isa nullable TAssign
					var pexprnode6 = nodearraylist6
					assert pexprnode6 isa nullable AExpr
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						tkwvarnode2,
						tidnode3,
						ptypenode4,
						tassignnode5,
						pexprnode6,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction541
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwvarnode2 = nodearraylist1
					assert tkwvarnode2 isa nullable TKwvar
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist4
					assert ptypenode4 isa nullable AType
					var tassignnode5 = nodearraylist5
					assert tassignnode5 isa nullable TAssign
					var pexprnode6 = nodearraylist7
					assert pexprnode6 isa nullable AExpr
					var pannotationsnode7 = nodearraylist3
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						tkwvarnode2,
						tidnode3,
						ptypenode4,
						tassignnode5,
						pexprnode6,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction542
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tattridnode3 = nodearraylist5
					assert tattridnode3 isa nullable TAttrid
					var tassignnode4 = nodearraylist6
					assert tassignnode4 isa nullable TAssign
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
						pexprnode2,
						tattridnode3,
						tassignnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction543
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tattridnode5 = nodearraylist6
					assert tattridnode5 isa nullable TAttrid
					var tassignnode6 = nodearraylist7
					assert tassignnode6 isa nullable TAssign
					var pexprnode7 = nodearraylist8
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
						pexprnode2,
						tattridnode5,
						tassignnode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction544
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tattridnode3 = nodearraylist2
					assert tattridnode3 isa nullable TAttrid
					var tassignnode4 = nodearraylist3
					assert tassignnode4 isa nullable TAssign
					var pexprnode5 = nodearraylist4
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AAttrAssignExpr = new AAttrAssignExpr.init_aattrassignexpr(
						pexprnode2,
						tattridnode3,
						tassignnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction545
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist5
					assert pexprsnode6 isa nullable AExprs
					var tassignnode7 = nodearraylist6
					assert tassignnode7 isa nullable TAssign
					var pexprnode8 = nodearraylist7
					assert pexprnode8 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						tassignnode7,
						pexprnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction546
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var tassignnode8 = nodearraylist5
					assert tassignnode8 isa nullable TAssign
					var pexprnode9 = nodearraylist6
					assert pexprnode9 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						tassignnode8,
						pexprnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction547
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist8
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						tassignnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction548
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var tassignnode10 = nodearraylist6
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist7
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction549
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist7
					assert pexprsnode9 isa nullable AExprs
					var tassignnode10 = nodearraylist8
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist9
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction550
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var tassignnode11 = nodearraylist7
					assert tassignnode11 isa nullable TAssign
					var pexprnode12 = nodearraylist8
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction551
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist6
					assert pexprsnode9 isa nullable AExprs
					var tassignnode10 = nodearraylist7
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist8
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction552
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var tassignnode11 = nodearraylist6
					assert tassignnode11 isa nullable TAssign
					var pexprnode12 = nodearraylist7
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction553
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var tassignnode9 = nodearraylist7
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist8
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8,
						tassignnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction554
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var tassignnode10 = nodearraylist6
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist7
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction555
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var pexprsnode10 = nodearraylist7
					assert pexprsnode10 isa nullable AExprs
					var tassignnode11 = nodearraylist8
					assert tassignnode11 isa nullable TAssign
					var pexprnode12 = nodearraylist9
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10,
						tassignnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction556
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var tassignnode12 = nodearraylist7
					assert tassignnode12 isa nullable TAssign
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10,
						tassignnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction557
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist8
					assert pexprsnode11 isa nullable AExprs
					var tassignnode12 = nodearraylist9
					assert tassignnode12 isa nullable TAssign
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						tassignnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction558
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var tassignnode13 = nodearraylist8
					assert tassignnode13 isa nullable TAssign
					var pexprnode14 = nodearraylist9
					assert pexprnode14 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						tassignnode13,
						pexprnode14
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction559
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist7
					assert pexprsnode11 isa nullable AExprs
					var tassignnode12 = nodearraylist8
					assert tassignnode12 isa nullable TAssign
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						tassignnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction560
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var tassignnode13 = nodearraylist7
					assert tassignnode13 isa nullable TAssign
					var pexprnode14 = nodearraylist8
					assert pexprnode14 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						tassignnode13,
						pexprnode14
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction561
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist2
					assert pexprsnode6 isa nullable AExprs
					var tassignnode7 = nodearraylist3
					assert tassignnode7 isa nullable TAssign
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						tassignnode7,
						pexprnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction562
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var tassignnode8 = nodearraylist2
					assert tassignnode8 isa nullable TAssign
					var pexprnode9 = nodearraylist3
					assert pexprnode9 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						tassignnode8,
						pexprnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction563
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist3
					assert pexprsnode8 isa nullable AExprs
					var tassignnode9 = nodearraylist4
					assert tassignnode9 isa nullable TAssign
					var pexprnode10 = nodearraylist5
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						tassignnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction564
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var tassignnode10 = nodearraylist3
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist4
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction565
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist4
					assert pexprsnode9 isa nullable AExprs
					var tassignnode10 = nodearraylist5
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist6
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction566
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var tassignnode11 = nodearraylist4
					assert tassignnode11 isa nullable TAssign
					var pexprnode12 = nodearraylist5
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction567
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist3
					assert pexprsnode9 isa nullable AExprs
					var tassignnode10 = nodearraylist4
					assert tassignnode10 isa nullable TAssign
					var pexprnode11 = nodearraylist5
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction568
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var tassignnode11 = nodearraylist3
					assert tassignnode11 isa nullable TAssign
					var pexprnode12 = nodearraylist4
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallAssignExpr = new ACallAssignExpr.init_acallassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						tassignnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction569
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var pexprsnode3 = nodearraylist2
					assert pexprsnode3 isa nullable AExprs
					var tassignnode4 = nodearraylist3
					assert tassignnode4 isa nullable TAssign
					var pexprnode5 = nodearraylist4
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable ABraAssignExpr = new ABraAssignExpr.init_abraassignexpr(
						pexprnode2,
						pexprsnode3,
						tassignnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction570
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tattridnode3 = nodearraylist5
					assert tattridnode3 isa nullable TAttrid
					var passignopnode4 = nodearraylist6
					assert passignopnode4 isa nullable AAssignOp
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
						pexprnode2,
						tattridnode3,
						passignopnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction571
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tattridnode5 = nodearraylist6
					assert tattridnode5 isa nullable TAttrid
					var passignopnode6 = nodearraylist7
					assert passignopnode6 isa nullable AAssignOp
					var pexprnode7 = nodearraylist8
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
						pexprnode2,
						tattridnode5,
						passignopnode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction572
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tattridnode3 = nodearraylist2
					assert tattridnode3 isa nullable TAttrid
					var passignopnode4 = nodearraylist3
					assert passignopnode4 isa nullable AAssignOp
					var pexprnode5 = nodearraylist4
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AAttrReassignExpr = new AAttrReassignExpr.init_aattrreassignexpr(
						pexprnode2,
						tattridnode3,
						passignopnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction573
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist5
					assert pexprsnode6 isa nullable AExprs
					var passignopnode7 = nodearraylist6
					assert passignopnode7 isa nullable AAssignOp
					var pexprnode8 = nodearraylist7
					assert pexprnode8 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						passignopnode7,
						pexprnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction574
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var passignopnode8 = nodearraylist5
					assert passignopnode8 isa nullable AAssignOp
					var pexprnode9 = nodearraylist6
					assert pexprnode9 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						passignopnode8,
						pexprnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction575
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var passignopnode9 = nodearraylist7
					assert passignopnode9 isa nullable AAssignOp
					var pexprnode10 = nodearraylist8
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						passignopnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction576
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var passignopnode10 = nodearraylist6
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist7
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction577
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist7
					assert pexprsnode9 isa nullable AExprs
					var passignopnode10 = nodearraylist8
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist9
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction578
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var passignopnode11 = nodearraylist7
					assert passignopnode11 isa nullable AAssignOp
					var pexprnode12 = nodearraylist8
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction579
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist6
					assert pexprsnode9 isa nullable AExprs
					var passignopnode10 = nodearraylist7
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist8
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction580
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var passignopnode11 = nodearraylist6
					assert passignopnode11 isa nullable AAssignOp
					var pexprnode12 = nodearraylist7
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction581
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var pexprsnode8 = nodearraylist6
					assert pexprsnode8 isa nullable AExprs
					var passignopnode9 = nodearraylist7
					assert passignopnode9 isa nullable AAssignOp
					var pexprnode10 = nodearraylist8
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8,
						passignopnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction582
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var passignopnode10 = nodearraylist6
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist7
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction583
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var pexprsnode10 = nodearraylist7
					assert pexprsnode10 isa nullable AExprs
					var passignopnode11 = nodearraylist8
					assert passignopnode11 isa nullable AAssignOp
					var pexprnode12 = nodearraylist9
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10,
						passignopnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction584
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var passignopnode12 = nodearraylist7
					assert passignopnode12 isa nullable AAssignOp
					var pexprnode13 = nodearraylist8
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10,
						passignopnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction585
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist8
					assert pexprsnode11 isa nullable AExprs
					var passignopnode12 = nodearraylist9
					assert passignopnode12 isa nullable AAssignOp
					var pexprnode13 = nodearraylist10
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						passignopnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction586
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var passignopnode13 = nodearraylist8
					assert passignopnode13 isa nullable AAssignOp
					var pexprnode14 = nodearraylist9
					assert pexprnode14 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						passignopnode13,
						pexprnode14
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction587
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var pexprsnode11 = nodearraylist7
					assert pexprsnode11 isa nullable AExprs
					var passignopnode12 = nodearraylist8
					assert passignopnode12 isa nullable AAssignOp
					var pexprnode13 = nodearraylist9
					assert pexprnode13 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						passignopnode12,
						pexprnode13
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction588
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var passignopnode13 = nodearraylist7
					assert passignopnode13 isa nullable AAssignOp
					var pexprnode14 = nodearraylist8
					assert pexprnode14 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11,
						passignopnode13,
						pexprnode14
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction589
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist2
					assert pexprsnode6 isa nullable AExprs
					var passignopnode7 = nodearraylist3
					assert passignopnode7 isa nullable AAssignOp
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						passignopnode7,
						pexprnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction590
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var passignopnode8 = nodearraylist2
					assert passignopnode8 isa nullable AAssignOp
					var pexprnode9 = nodearraylist3
					assert pexprnode9 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6,
						passignopnode8,
						pexprnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction591
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist3
					assert pexprsnode8 isa nullable AExprs
					var passignopnode9 = nodearraylist4
					assert passignopnode9 isa nullable AAssignOp
					var pexprnode10 = nodearraylist5
					assert pexprnode10 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						passignopnode9,
						pexprnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction592
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var passignopnode10 = nodearraylist3
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist4
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction593
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist4
					assert pexprsnode9 isa nullable AExprs
					var passignopnode10 = nodearraylist5
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist6
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction594
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var passignopnode11 = nodearraylist4
					assert passignopnode11 isa nullable AAssignOp
					var pexprnode12 = nodearraylist5
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction595
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist3
					assert pexprsnode9 isa nullable AExprs
					var passignopnode10 = nodearraylist4
					assert passignopnode10 isa nullable AAssignOp
					var pexprnode11 = nodearraylist5
					assert pexprnode11 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode10,
						pexprnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction596
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var passignopnode11 = nodearraylist3
					assert passignopnode11 isa nullable AAssignOp
					var pexprnode12 = nodearraylist4
					assert pexprnode12 isa nullable AExpr
					var pexprnode1: nullable ACallReassignExpr = new ACallReassignExpr.init_acallreassignexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9,
						passignopnode11,
						pexprnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction597
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var pexprsnode3 = nodearraylist2
					assert pexprsnode3 isa nullable AExprs
					var passignopnode4 = nodearraylist3
					assert passignopnode4 isa nullable AAssignOp
					var pexprnode5 = nodearraylist4
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable ABraReassignExpr = new ABraReassignExpr.init_abrareassignexpr(
						pexprnode2,
						pexprsnode3,
						passignopnode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction598
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tpluseqnode2 = nodearraylist1
					assert tpluseqnode2 isa nullable TPluseq
					var passignopnode1: nullable APlusAssignOp = new APlusAssignOp.init_aplusassignop(
						tpluseqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction599
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tminuseqnode2 = nodearraylist1
					assert tminuseqnode2 isa nullable TMinuseq
					var passignopnode1: nullable AMinusAssignOp = new AMinusAssignOp.init_aminusassignop(
						tminuseqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction600
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstareqnode2 = nodearraylist1
					assert tstareqnode2 isa nullable TStareq
					var passignopnode1: nullable AStarAssignOp = new AStarAssignOp.init_astarassignop(
						tstareqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction601
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tslasheqnode2 = nodearraylist1
					assert tslasheqnode2 isa nullable TSlasheq
					var passignopnode1: nullable ASlashAssignOp = new ASlashAssignOp.init_aslashassignop(
						tslasheqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction602
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tpercenteqnode2 = nodearraylist1
					assert tpercenteqnode2 isa nullable TPercenteq
					var passignopnode1: nullable APercentAssignOp = new APercentAssignOp.init_apercentassignop(
						tpercenteqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction603
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstarstareqnode2 = nodearraylist1
					assert tstarstareqnode2 isa nullable TStarstareq
					var passignopnode1: nullable AStarstarAssignOp = new AStarstarAssignOp.init_astarstarassignop(
						tstarstareqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction604
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tpipeeqnode2 = nodearraylist1
					assert tpipeeqnode2 isa nullable TPipeeq
					var passignopnode1: nullable APipeAssignOp = new APipeAssignOp.init_apipeassignop(
						tpipeeqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction605
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tcareteqnode2 = nodearraylist1
					assert tcareteqnode2 isa nullable TCareteq
					var passignopnode1: nullable ACaretAssignOp = new ACaretAssignOp.init_acaretassignop(
						tcareteqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction606
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tampeqnode2 = nodearraylist1
					assert tampeqnode2 isa nullable TAmpeq
					var passignopnode1: nullable AAmpAssignOp = new AAmpAssignOp.init_aampassignop(
						tampeqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction607
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tlleqnode2 = nodearraylist1
					assert tlleqnode2 isa nullable TLleq
					var passignopnode1: nullable ALlAssignOp = new ALlAssignOp.init_allassignop(
						tlleqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction608
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tggeqnode2 = nodearraylist1
					assert tggeqnode2 isa nullable TGgeq
					var passignopnode1: nullable AGgAssignOp = new AGgAssignOp.init_aggassignop(
						tggeqnode2
					)
					node_list = passignopnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction609
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwdonode2 = nodearraylist1
					assert tkwdonode2 isa nullable TKwdo
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var plabelnode6 = nodearraylist3
					assert plabelnode6 isa nullable ALabel
					var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
						tkwdonode2,
						pexprnode3,
						null,
						null,
						plabelnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction610
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwdonode2 = nodearraylist1
					assert tkwdonode2 isa nullable TKwdo
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
						tkwdonode2,
						pexprnode3,
						null,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction611
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwdonode2 = nodearraylist1
					assert tkwdonode2 isa nullable TKwdo
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwcatchnode4 = nodearraylist4
					assert tkwcatchnode4 isa nullable TKwcatch
					var pexprnode5 = nodearraylist5
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable ADoExpr = new ADoExpr.init_adoexpr(
						tkwdonode2,
						pexprnode3,
						tkwcatchnode4,
						pexprnode5,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction612
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var tkwelsenode6 = nodearraylist7
					assert tkwelsenode6 isa nullable TKwelse
					var pexprnode7 = nodearraylist8
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						tkwelsenode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction613
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction614
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var tkwelsenode6 = nodearraylist8
					assert tkwelsenode6 isa nullable TKwelse
					var pexprnode7 = nodearraylist9
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						tkwelsenode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction615
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var tkwelsenode6 = nodearraylist6
					assert tkwelsenode6 isa nullable TKwelse
					var pexprnode7 = nodearraylist7
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						null,
						tkwelsenode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction616
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var tkwelsenode6 = nodearraylist7
					assert tkwelsenode6 isa nullable TKwelse
					var pexprnode7 = nodearraylist8
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						null,
						tkwelsenode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction617
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var pexprnode7 = nodearraylist8
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						null,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction618
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode7 = nodearraylist6
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						null,
						null,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction619
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode7 = nodearraylist7
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						null,
						null,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction621
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwloopnode2 = nodearraylist1
					assert tkwloopnode2 isa nullable TKwloop
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var plabelnode4 = nodearraylist3
					assert plabelnode4 isa nullable ALabel
					var pexprnode1: nullable ALoopExpr = new ALoopExpr.init_aloopexpr(
						tkwloopnode2,
						pexprnode3,
						plabelnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction622
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwloopnode2 = nodearraylist1
					assert tkwloopnode2 isa nullable TKwloop
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable ALoopExpr = new ALoopExpr.init_aloopexpr(
						tkwloopnode2,
						pexprnode3,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction623
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwwhilenode2 = nodearraylist1
					assert tkwwhilenode2 isa nullable TKwwhile
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwdonode4 = nodearraylist5
					assert tkwdonode4 isa nullable TKwdo
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var plabelnode6 = nodearraylist7
					assert plabelnode6 isa nullable ALabel
					var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
						tkwwhilenode2,
						pexprnode3,
						tkwdonode4,
						pexprnode5,
						plabelnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction624
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwwhilenode2 = nodearraylist1
					assert tkwwhilenode2 isa nullable TKwwhile
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwdonode4 = nodearraylist5
					assert tkwdonode4 isa nullable TKwdo
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AWhileExpr = new AWhileExpr.init_awhileexpr(
						tkwwhilenode2,
						pexprnode3,
						tkwdonode4,
						pexprnode5,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction625
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tkwfornode2 = nodearraylist1
					assert tkwfornode2 isa nullable TKwfor
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tkwdonode5 = nodearraylist5
					assert tkwdonode5 isa nullable TKwdo
					var pexprnode6 = nodearraylist6
					assert pexprnode6 isa nullable AExpr
					var plabelnode7 = nodearraylist7
					assert plabelnode7 isa nullable ALabel
					var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
						tkwfornode2,
						listnode4,
						tkwdonode5,
						pexprnode6,
						plabelnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction626
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tkwfornode2 = nodearraylist1
					assert tkwfornode2 isa nullable TKwfor
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tkwdonode5 = nodearraylist5
					assert tkwdonode5 isa nullable TKwdo
					var pexprnode6 = nodearraylist6
					assert pexprnode6 isa nullable AExpr
					var pexprnode1: nullable AForExpr = new AForExpr.init_aforexpr(
						tkwfornode2,
						listnode4,
						tkwdonode5,
						pexprnode6,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction627
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pforgroupnode1 = nodearraylist1
					if pforgroupnode1 != null then
						listnode2.add(pforgroupnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction628
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pforgroupnode2 = nodearraylist5
					listnode3 = concat(listnode3, listnode1)
					if pforgroupnode2 != null then
						listnode3.add(pforgroupnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction629
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode2)
					var tkwinnode4 = nodearraylist3
					assert tkwinnode4 isa nullable TKwin
					var pexprnode5 = nodearraylist5
					assert pexprnode5 isa nullable AExpr
					var pforgroupnode1: nullable AForGroup = new AForGroup.init_aforgroup(
						listnode3,
						tkwinnode4,
						pexprnode5
					)
					node_list = pforgroupnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction630
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwwithnode2 = nodearraylist1
					assert tkwwithnode2 isa nullable TKwwith
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwdonode4 = nodearraylist5
					assert tkwdonode4 isa nullable TKwdo
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var plabelnode6 = nodearraylist7
					assert plabelnode6 isa nullable ALabel
					var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
						tkwwithnode2,
						pexprnode3,
						tkwdonode4,
						pexprnode5,
						plabelnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction631
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwwithnode2 = nodearraylist1
					assert tkwwithnode2 isa nullable TKwwith
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwdonode4 = nodearraylist5
					assert tkwdonode4 isa nullable TKwdo
					var pexprnode5 = nodearraylist6
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AWithExpr = new AWithExpr.init_awithexpr(
						tkwwithnode2,
						pexprnode3,
						tkwdonode4,
						pexprnode5,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction632
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode3 = nodearraylist1
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist2
					assert ptypenode4 isa nullable AType
					var tassignnode5 = nodearraylist3
					assert tassignnode5 isa nullable TAssign
					var pexprnode6 = nodearraylist5
					assert pexprnode6 isa nullable AExpr
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						null,
						tidnode3,
						ptypenode4,
						tassignnode5,
						pexprnode6,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction633
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode3 = nodearraylist1
					assert tidnode3 isa nullable TId
					var ptypenode4 = nodearraylist3
					assert ptypenode4 isa nullable AType
					var tassignnode5 = nodearraylist4
					assert tassignnode5 isa nullable TAssign
					var pexprnode6 = nodearraylist6
					assert pexprnode6 isa nullable AExpr
					var pannotationsnode7 = nodearraylist2
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable AVardeclExpr = new AVardeclExpr.init_avardeclexpr(
						null,
						tidnode3,
						ptypenode4,
						tassignnode5,
						pexprnode6,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction635
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwassertnode2 = nodearraylist1
					assert tkwassertnode2 isa nullable TKwassert
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tkwelsenode5 = nodearraylist3
					assert tkwelsenode5 isa nullable TKwelse
					var pexprnode6 = nodearraylist4
					assert pexprnode6 isa nullable AExpr
					var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
						tkwassertnode2,
						null,
						pexprnode4,
						tkwelsenode5,
						pexprnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction636
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwassertnode2 = nodearraylist1
					assert tkwassertnode2 isa nullable TKwassert
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var pexprnode4 = nodearraylist3
					assert pexprnode4 isa nullable AExpr
					var tkwelsenode5 = nodearraylist4
					assert tkwelsenode5 isa nullable TKwelse
					var pexprnode6 = nodearraylist5
					assert pexprnode6 isa nullable AExpr
					var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
						tkwassertnode2,
						tidnode3,
						pexprnode4,
						tkwelsenode5,
						pexprnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction637
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwassertnode2 = nodearraylist1
					assert tkwassertnode2 isa nullable TKwassert
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
						tkwassertnode2,
						null,
						pexprnode4,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction638
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwassertnode2 = nodearraylist1
					assert tkwassertnode2 isa nullable TKwassert
					var tidnode3 = nodearraylist2
					assert tidnode3 isa nullable TId
					var pexprnode4 = nodearraylist3
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AAssertExpr = new AAssertExpr.init_aassertexpr(
						tkwassertnode2,
						tidnode3,
						pexprnode4,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction639
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode1 = nodearraylist1
					node_list = tidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction641
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var tkwelsenode6 = nodearraylist9
					assert tkwelsenode6 isa nullable TKwelse
					var pexprnode7 = nodearraylist11
					assert pexprnode7 isa nullable AExpr
					var pexprnode1: nullable AIfexprExpr = new AIfexprExpr.init_aifexprexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						tkwelsenode6,
						pexprnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction643
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwornode3 = nodearraylist2
					assert tkwornode3 isa nullable TKwor
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AOrExpr = new AOrExpr.init_aorexpr(
						pexprnode2,
						tkwornode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction644
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwandnode3 = nodearraylist2
					assert tkwandnode3 isa nullable TKwand
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AAndExpr = new AAndExpr.init_aandexpr(
						pexprnode2,
						tkwandnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction645
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwornode3 = nodearraylist2
					assert tkwornode3 isa nullable TKwor
					var tkwelsenode4 = nodearraylist3
					assert tkwelsenode4 isa nullable TKwelse
					var pexprnode5 = nodearraylist5
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AOrElseExpr = new AOrElseExpr.init_aorelseexpr(
						pexprnode2,
						tkwornode3,
						tkwelsenode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction646
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwimpliesnode3 = nodearraylist2
					assert tkwimpliesnode3 isa nullable TKwimplies
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AImpliesExpr = new AImpliesExpr.init_aimpliesexpr(
						pexprnode2,
						tkwimpliesnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction648
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnotnode2 = nodearraylist1
					assert tkwnotnode2 isa nullable TKwnot
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable ANotExpr = new ANotExpr.init_anotexpr(
						tkwnotnode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction650
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var teqnode3 = nodearraylist2
					assert teqnode3 isa nullable TEq
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AEqExpr = new AEqExpr.init_aeqexpr(
						pexprnode2,
						teqnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction651
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tnenode3 = nodearraylist2
					assert tnenode3 isa nullable TNe
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ANeExpr = new ANeExpr.init_aneexpr(
						pexprnode2,
						tnenode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction652
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tltnode3 = nodearraylist2
					assert tltnode3 isa nullable TLt
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ALtExpr = new ALtExpr.init_altexpr(
						pexprnode2,
						tltnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction653
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tlenode3 = nodearraylist2
					assert tlenode3 isa nullable TLe
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ALeExpr = new ALeExpr.init_aleexpr(
						pexprnode2,
						tlenode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction654
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tgtnode3 = nodearraylist2
					assert tgtnode3 isa nullable TGt
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AGtExpr = new AGtExpr.init_agtexpr(
						pexprnode2,
						tgtnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction655
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tgenode3 = nodearraylist2
					assert tgenode3 isa nullable TGe
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AGeExpr = new AGeExpr.init_ageexpr(
						pexprnode2,
						tgenode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction656
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tstarshipnode3 = nodearraylist2
					assert tstarshipnode3 isa nullable TStarship
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AStarshipExpr = new AStarshipExpr.init_astarshipexpr(
						pexprnode2,
						tstarshipnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction657
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwisanode3 = nodearraylist2
					assert tkwisanode3 isa nullable TKwisa
					var ptypenode4 = nodearraylist4
					assert ptypenode4 isa nullable AType
					var pexprnode1: nullable AIsaExpr = new AIsaExpr.init_aisaexpr(
						pexprnode2,
						tkwisanode3,
						ptypenode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction659
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tpipenode3 = nodearraylist2
					assert tpipenode3 isa nullable TPipe
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable APipeExpr = new APipeExpr.init_apipeexpr(
						pexprnode2,
						tpipenode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction661
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tcaretnode3 = nodearraylist2
					assert tcaretnode3 isa nullable TCaret
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ACaretExpr = new ACaretExpr.init_acaretexpr(
						pexprnode2,
						tcaretnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction663
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tampnode3 = nodearraylist2
					assert tampnode3 isa nullable TAmp
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AAmpExpr = new AAmpExpr.init_aampexpr(
						pexprnode2,
						tampnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction665
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tllnode3 = nodearraylist2
					assert tllnode3 isa nullable TLl
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ALlExpr = new ALlExpr.init_allexpr(
						pexprnode2,
						tllnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction666
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tggnode3 = nodearraylist2
					assert tggnode3 isa nullable TGg
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AGgExpr = new AGgExpr.init_aggexpr(
						pexprnode2,
						tggnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction668
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tplusnode3 = nodearraylist2
					assert tplusnode3 isa nullable TPlus
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable APlusExpr = new APlusExpr.init_aplusexpr(
						pexprnode2,
						tplusnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction669
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tminusnode3 = nodearraylist2
					assert tminusnode3 isa nullable TMinus
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AMinusExpr = new AMinusExpr.init_aminusexpr(
						pexprnode2,
						tminusnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction671
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tstarnode3 = nodearraylist2
					assert tstarnode3 isa nullable TStar
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AStarExpr = new AStarExpr.init_astarexpr(
						pexprnode2,
						tstarnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction672
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tslashnode3 = nodearraylist2
					assert tslashnode3 isa nullable TSlash
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ASlashExpr = new ASlashExpr.init_aslashexpr(
						pexprnode2,
						tslashnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction673
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tpercentnode3 = nodearraylist2
					assert tpercentnode3 isa nullable TPercent
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable APercentExpr = new APercentExpr.init_apercentexpr(
						pexprnode2,
						tpercentnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction675
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tstarstarnode3 = nodearraylist2
					assert tstarstarnode3 isa nullable TStarstar
					var pexprnode4 = nodearraylist4
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable AStarstarExpr = new AStarstarExpr.init_astarstarexpr(
						pexprnode2,
						tstarstarnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction677
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tminusnode2 = nodearraylist1
					assert tminusnode2 isa nullable TMinus
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AUminusExpr = new AUminusExpr.init_auminusexpr(
						tminusnode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction678
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tplusnode2 = nodearraylist1
					assert tplusnode2 isa nullable TPlus
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AUplusExpr = new AUplusExpr.init_auplusexpr(
						tplusnode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction679
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var ttildenode2 = nodearraylist1
					assert ttildenode2 isa nullable TTilde
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AUtildeExpr = new AUtildeExpr.init_autildeexpr(
						ttildenode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction680
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwoncenode2 = nodearraylist1
					assert tkwoncenode2 isa nullable TKwonce
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var pexprnode1: nullable AOnceExpr = new AOnceExpr.init_aonceexpr(
						tkwoncenode2,
						pexprnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction682
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var pexprsnode5 = nodearraylist4
					assert pexprsnode5 isa nullable AExprs
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						null,
						pexprsnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction683
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode6 = new Array[Object]
					var pexprsnode5: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode6
					)
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						null,
						pexprsnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction684
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwissetnode2 = nodearraylist1
					assert tkwissetnode2 isa nullable TKwisset
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tattridnode4 = nodearraylist6
					assert tattridnode4 isa nullable TAttrid
					var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
						tkwissetnode2,
						pexprnode3,
						tattridnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction685
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwissetnode2 = nodearraylist1
					assert tkwissetnode2 isa nullable TKwisset
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var tattridnode6 = nodearraylist7
					assert tattridnode6 isa nullable TAttrid
					var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
						tkwissetnode2,
						pexprnode3,
						tattridnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction686
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwissetnode2 = nodearraylist1
					assert tkwissetnode2 isa nullable TKwisset
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tattridnode4 = nodearraylist3
					assert tattridnode4 isa nullable TAttrid
					var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
						tkwissetnode2,
						pexprnode3,
						tattridnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction687
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tidnode6 = nodearraylist5
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var pexprsnode7 = nodearraylist6
					assert pexprsnode7 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction688
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tidnode6 = nodearraylist5
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var listnode8 = new Array[Object]
					var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode8
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction689
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var pexprsnode9 = nodearraylist7
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction690
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction691
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist5
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist6
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist7
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist8
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction692
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist5
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist6
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist7
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction693
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist5
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist7
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction694
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist5
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction695
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						null,
						tidnode8
					)
					var pexprsnode9 = nodearraylist7
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction696
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						null,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction697
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode8 = new Array[Object]
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode10
					)
					var pexprsnode11 = nodearraylist8
					assert pexprsnode11 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction698
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode8 = new Array[Object]
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction699
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode9 = new Array[Object]
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tclassidnode10 = nodearraylist7
					assert tclassidnode10 isa nullable TClassid
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode9,
						tclassidnode10
					)
					var tidnode11 = nodearraylist8
					assert tidnode11 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode11
					)
					var pexprsnode12 = nodearraylist9
					assert pexprsnode12 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction700
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode9 = new Array[Object]
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tclassidnode10 = nodearraylist7
					assert tclassidnode10 isa nullable TClassid
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode9,
						tclassidnode10
					)
					var tidnode11 = nodearraylist8
					assert tidnode11 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode11
					)
					var listnode13 = new Array[Object]
					var pexprsnode12: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode13
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction701
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode9 = new Array[Object]
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode9,
						null
					)
					var tidnode11 = nodearraylist7
					assert tidnode11 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode11
					)
					var pexprsnode12 = nodearraylist8
					assert pexprsnode12 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction702
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode4 = nodearraylist2
					assert pexprnode4 isa nullable AExpr
					var tquestnode5 = nodearraylist3
					assert tquestnode5 isa nullable TQuest
					var pexprnode3: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode4,
						tquestnode5
					)
					var listnode9 = new Array[Object]
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pqualifiednode7: nullable AQualified = new AQualified.init_aqualified(
						listnode9,
						null
					)
					var tidnode11 = nodearraylist7
					assert tidnode11 isa nullable TId
					var pqidnode6: nullable AQid = new AQid.init_aqid(
						pqualifiednode7,
						tidnode11
					)
					var listnode13 = new Array[Object]
					var pexprsnode12: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode13
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode6,
						pexprsnode12
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction703
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode6 = nodearraylist2
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var pexprsnode7 = nodearraylist3
					assert pexprsnode7 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction704
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode6 = nodearraylist2
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var listnode8 = new Array[Object]
					var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode8
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction705
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var pexprsnode9 = nodearraylist4
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction706
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction707
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist3
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist4
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist5
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction708
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist3
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist4
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction709
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist3
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist4
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction710
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist2
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist3
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction712
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tattridnode3 = nodearraylist5
					assert tattridnode3 isa nullable TAttrid
					var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
						pexprnode2,
						tattridnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction713
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tattridnode5 = nodearraylist6
					assert tattridnode5 isa nullable TAttrid
					var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
						pexprnode2,
						tattridnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction714
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tattridnode3 = nodearraylist2
					assert tattridnode3 isa nullable TAttrid
					var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
						pexprnode2,
						tattridnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction716
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction718
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist4
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction720
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist5
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist6
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction722
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist5
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction724
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tidnode7 = nodearraylist5
					assert tidnode7 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						null,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction726
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode7 = new Array[Object]
					var tclassidnode8 = nodearraylist5
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist6
					assert tidnode9 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction728
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tclassidnode9 = nodearraylist6
					assert tclassidnode9 isa nullable TClassid
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						tclassidnode9
					)
					var tidnode10 = nodearraylist7
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction730
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var listnode8 = new Array[Object]
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var pqualifiednode6: nullable AQualified = new AQualified.init_aqualified(
						listnode8,
						null
					)
					var tidnode10 = nodearraylist6
					assert tidnode10 isa nullable TId
					var pqidnode5: nullable AQid = new AQid.init_aqid(
						pqualifiednode6,
						tidnode10
					)
					var listnode12 = new Array[Object]
					var pexprsnode11: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode12
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode5,
						pexprsnode11
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction732
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tidnode5 = nodearraylist1
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction734
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist1
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist2
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction736
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist2
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction738
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist1
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist2
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction740
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pqualifiednode2 = nodearraylist1
					assert pqualifiednode2 isa nullable AQualified
					var tkwsupernode3 = nodearraylist2
					assert tkwsupernode3 isa nullable TKwsuper
					var listnode5 = new Array[Object]
					var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode5
					)
					var pexprnode1: nullable ASuperExpr = new ASuperExpr.init_asuperexpr(
						pqualifiednode2,
						tkwsupernode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction742
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist4
					assert tkwinitnode3 isa nullable TKwinit
					var listnode5 = new Array[Object]
					var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode5
					)
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction744
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var tkwinitnode5 = nodearraylist5
					assert tkwinitnode5 isa nullable TKwinit
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode5,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction746
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var tkwinitnode3 = nodearraylist1
					assert tkwinitnode3 isa nullable TKwinit
					var listnode5 = new Array[Object]
					var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode5
					)
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction747
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var pexprsnode3 = nodearraylist2
					assert pexprsnode3 isa nullable AExprs
					var pexprnode1: nullable ABraExpr = new ABraExpr.init_abraexpr(
						pexprnode2,
						pexprsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction748
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var tidnode6 = nodearraylist6
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var pexprsnode7 = nodearraylist7
					assert pexprsnode7 isa nullable AExprs
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction749
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var tidnode6 = nodearraylist6
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var listnode8 = new Array[Object]
					var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode8
					)
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction750
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist6
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist7
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var pexprsnode9 = nodearraylist8
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction751
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist6
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist7
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction752
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist6
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist7
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist8
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist9
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction753
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist6
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist7
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist8
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction754
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist6
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist7
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist8
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction755
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnewnode2 = nodearraylist1
					assert tkwnewnode2 isa nullable TKwnew
					var ptypenode3 = nodearraylist3
					assert ptypenode3 isa nullable AType
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist6
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist7
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ANewExpr = new ANewExpr.init_anewexpr(
						tkwnewnode2,
						ptypenode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction756
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwasnode3 = nodearraylist4
					assert tkwasnode3 isa nullable TKwas
					var toparnode4 = nodearraylist6
					assert toparnode4 isa nullable TOpar
					var ptypenode5 = nodearraylist8
					assert ptypenode5 isa nullable AType
					var tcparnode6 = nodearraylist10
					assert tcparnode6 isa nullable TCpar
					var pexprnode1: nullable AAsCastExpr = new AAsCastExpr.init_aascastexpr(
						pexprnode2,
						tkwasnode3,
						toparnode4,
						ptypenode5,
						tcparnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction757
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist12 = p.pop
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwasnode3 = nodearraylist4
					assert tkwasnode3 isa nullable TKwas
					var toparnode4 = nodearraylist6
					assert toparnode4 isa nullable TOpar
					var tkwnotnode5 = nodearraylist8
					assert tkwnotnode5 isa nullable TKwnot
					var tkwnullnode6 = nodearraylist10
					assert tkwnullnode6 isa nullable TKwnull
					var tcparnode7 = nodearraylist12
					assert tcparnode7 isa nullable TCpar
					var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr(
						pexprnode2,
						tkwasnode3,
						toparnode4,
						tkwnotnode5,
						tkwnullnode6,
						tcparnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction758
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwasnode3 = nodearraylist4
					assert tkwasnode3 isa nullable TKwas
					var tkwnotnode5 = nodearraylist6
					assert tkwnotnode5 isa nullable TKwnot
					var tkwnullnode6 = nodearraylist8
					assert tkwnullnode6 isa nullable TKwnull
					var pexprnode1: nullable AAsNotnullExpr = new AAsNotnullExpr.init_aasnotnullexpr(
						pexprnode2,
						tkwasnode3,
						null,
						tkwnotnode5,
						tkwnullnode6,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction760
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tdotdotdotnode3 = nodearraylist2
					assert tdotdotdotnode3 isa nullable TDotdotdot
					var pexprnode1: nullable AVarargExpr = new AVarargExpr.init_avarargexpr(
						pexprnode2,
						tdotdotdotnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction761
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var tassignnode3 = nodearraylist2
					assert tassignnode3 isa nullable TAssign
					var pexprnode4 = nodearraylist3
					assert pexprnode4 isa nullable AExpr
					var pexprnode1: nullable ANamedargExpr = new ANamedargExpr.init_anamedargexpr(
						tidnode2,
						tassignnode3,
						pexprnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction762
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwselfnode2 = nodearraylist1
					assert tkwselfnode2 isa nullable TKwself
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable ASelfExpr = new ASelfExpr.init_aselfexpr(
						tkwselfnode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction763
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwtruenode2 = nodearraylist1
					assert tkwtruenode2 isa nullable TKwtrue
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable ATrueExpr = new ATrueExpr.init_atrueexpr(
						tkwtruenode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction764
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwfalsenode2 = nodearraylist1
					assert tkwfalsenode2 isa nullable TKwfalse
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable AFalseExpr = new AFalseExpr.init_afalseexpr(
						tkwfalsenode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction765
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwnullnode2 = nodearraylist1
					assert tkwnullnode2 isa nullable TKwnull
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable ANullExpr = new ANullExpr.init_anullexpr(
						tkwnullnode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction766
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tintegernode2 = nodearraylist1
					assert tintegernode2 isa nullable TInteger
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable AIntegerExpr = new AIntegerExpr.init_aintegerexpr(
						tintegernode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction767
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tfloatnode2 = nodearraylist1
					assert tfloatnode2 isa nullable TFloat
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable AFloatExpr = new AFloatExpr.init_afloatexpr(
						tfloatnode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction768
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tcharnode2 = nodearraylist1
					assert tcharnode2 isa nullable TChar
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable ACharExpr = new ACharExpr.init_acharexpr(
						tcharnode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction769
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tstringnode2 = nodearraylist1
					assert tstringnode2 isa nullable TString
					var pannotationsnode3 = nodearraylist2
					assert pannotationsnode3 isa nullable AAnnotations
					var pexprnode1: nullable AStringExpr = new AStringExpr.init_astringexpr(
						tstringnode2,
						pannotationsnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction771
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwmethnode2 = nodearraylist1
					assert tkwmethnode2 isa nullable TKwmeth
					var psignaturenode3 = nodearraylist2
					assert psignaturenode3 isa nullable ASignature
					var tkwdonode4 = nodearraylist3
					assert tkwdonode4 isa nullable TKwdo
					var listnode7 = new Array[Object]
					var pexprnode6 = nodearraylist5
					assert pexprnode6 isa nullable AExpr
					if pexprnode6 != null then
						listnode7.add(pexprnode6)
					end
					var pexprnode5: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode7,
						null
					)
					var pexprnode1: nullable ALambdaExpr = new ALambdaExpr.init_alambdaexpr(
						tkwmethnode2,
						psignaturenode3,
						tkwdonode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction772
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwmethnode2 = nodearraylist1
					assert tkwmethnode2 isa nullable TKwmeth
					var psignaturenode3 = nodearraylist2
					assert psignaturenode3 isa nullable ASignature
					var tkwdonode4 = nodearraylist3
					assert tkwdonode4 isa nullable TKwdo
					var listnode8 = new Array[Object]
					var pexprnode6 = nodearraylist5
					assert pexprnode6 isa nullable AExpr
					var listnode7 = nodearraylist6
					assert listnode7 isa Array[Object]
					if pexprnode6 != null then
						listnode8.add(pexprnode6)
					end
					listnode8 = concat(listnode8, listnode7)
					var pexprnode5: nullable ABlockExpr = new ABlockExpr.init_ablockexpr(
						listnode8,
						null
					)
					var pexprnode1: nullable ALambdaExpr = new ALambdaExpr.init_alambdaexpr(
						tkwmethnode2,
						psignaturenode3,
						tkwdonode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction773
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwmethnode2 = nodearraylist1
					assert tkwmethnode2 isa nullable TKwmeth
					var psignaturenode3 = nodearraylist2
					assert psignaturenode3 isa nullable ASignature
					var tkwdonode4 = nodearraylist3
					assert tkwdonode4 isa nullable TKwdo
					var pexprnode5 = nodearraylist5
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable ALambdaExpr = new ALambdaExpr.init_alambdaexpr(
						tkwmethnode2,
						psignaturenode3,
						tkwdonode4,
						pexprnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction775
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tdotdotnode4 = nodearraylist5
					assert tdotdotnode4 isa nullable TDotdot
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var tcbranode6 = nodearraylist9
					assert tcbranode6 isa nullable TCbra
					var pannotationsnode7 = nodearraylist10
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable ACrangeExpr = new ACrangeExpr.init_acrangeexpr(
						tobranode2,
						pexprnode3,
						tdotdotnode4,
						pexprnode5,
						tcbranode6,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction776
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tdotdotnode4 = nodearraylist5
					assert tdotdotnode4 isa nullable TDotdot
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var tobranode6 = nodearraylist9
					assert tobranode6 isa nullable TObra
					var pannotationsnode7 = nodearraylist10
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable AOrangeExpr = new AOrangeExpr.init_aorangeexpr(
						tobranode2,
						pexprnode3,
						tdotdotnode4,
						pexprnode5,
						tobranode6,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction777
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var ptypenode5 = nodearraylist4
					assert ptypenode5 isa nullable AType
					var tcbranode6 = nodearraylist5
					assert tcbranode6 isa nullable TCbra
					var pannotationsnode7 = nodearraylist6
					assert pannotationsnode7 isa nullable AAnnotations
					var pexprnode1: nullable AArrayExpr = new AArrayExpr.init_aarrayexpr(
						tobranode2,
						listnode4,
						ptypenode5,
						tcbranode6,
						pannotationsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction778
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var toparnode2 = nodearraylist1
					assert toparnode2 isa nullable TOpar
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tcparnode4 = nodearraylist5
					assert tcparnode4 isa nullable TCpar
					var pannotationsnode5 = nodearraylist6
					assert pannotationsnode5 isa nullable AAnnotations
					var pexprnode1: nullable AParExpr = new AParExpr.init_aparexpr(
						toparnode2,
						pexprnode3,
						tcparnode4,
						pannotationsnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction780
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					if pexprnode2 != null then
						listnode4.add(pexprnode2)
					end
					listnode4 = concat(listnode4, listnode3)
					var pexprnode1: nullable AManyExpr = new AManyExpr.init_amanyexpr(
						listnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction781
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist3
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction782
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pexprnode1 = nodearraylist1
					if pexprnode1 != null then
						listnode2.add(pexprnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction783
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode1 = nodearraylist1
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					if pexprnode1 != null then
						listnode3.add(pexprnode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction785
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist1
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction787
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwifnode2 = nodearraylist1
					assert tkwifnode2 isa nullable TKwif
					var pexprnode3 = nodearraylist3
					assert pexprnode3 isa nullable AExpr
					var tkwthennode4 = nodearraylist5
					assert tkwthennode4 isa nullable TKwthen
					var pexprnode5 = nodearraylist7
					assert pexprnode5 isa nullable AExpr
					var pexprnode1: nullable AIfExpr = new AIfExpr.init_aifexpr(
						tkwifnode2,
						pexprnode3,
						tkwthennode4,
						pexprnode5,
						null,
						null
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction788
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					listnode4 = concat(listnode4, listnode2)
					if pexprnode3 != null then
						listnode4.add(pexprnode3)
					end
					var pannotationsnode5 = nodearraylist3
					assert pannotationsnode5 isa nullable AAnnotations
					var pexprnode1: nullable ASuperstringExpr = new ASuperstringExpr.init_asuperstringexpr(
						listnode4,
						pannotationsnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction789
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode5 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					var listnode3 = nodearraylist2
					assert listnode3 isa Array[Object]
					var pexprnode4 = nodearraylist3
					assert pexprnode4 isa nullable AExpr
					listnode5 = concat(listnode5, listnode2)
					listnode5 = concat(listnode5, listnode3)
					if pexprnode4 != null then
						listnode5.add(pexprnode4)
					end
					var pannotationsnode6 = nodearraylist4
					assert pannotationsnode6 isa nullable AAnnotations
					var pexprnode1: nullable ASuperstringExpr = new ASuperstringExpr.init_asuperstringexpr(
						listnode5,
						pannotationsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction790
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode1 = nodearraylist1
					var pexprnode2 = nodearraylist3
					if pexprnode1 != null then
						listnode3.add(pexprnode1)
					end
					if pexprnode2 != null then
						listnode3.add(pexprnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction791
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pexprnode1 = nodearraylist1
					if pexprnode1 != null then
						listnode2.add(pexprnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction792
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tstartstringnode2 = nodearraylist1
					assert tstartstringnode2 isa nullable TStartString
					var pexprnode1: nullable AStartStringExpr = new AStartStringExpr.init_astartstringexpr(
						tstartstringnode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction795
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tmidstringnode2 = nodearraylist1
					assert tmidstringnode2 isa nullable TMidString
					var pexprnode1: nullable AMidStringExpr = new AMidStringExpr.init_amidstringexpr(
						tmidstringnode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction796
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tendstringnode2 = nodearraylist1
					assert tendstringnode2 isa nullable TEndString
					var pexprnode1: nullable AEndStringExpr = new AEndStringExpr.init_aendstringexpr(
						tendstringnode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction797
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tatnode3 = nodearraylist1
					assert tatnode3 isa nullable TAt
					var pannotationnode5 = nodearraylist2
					assert pannotationnode5 isa nullable AAnnotation
					if pannotationnode5 != null then
						listnode6.add(pannotationnode5)
					end
					var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
						null,
						tatnode3,
						null,
						listnode6,
						null,
						null
					)
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction798
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode6 = new Array[Object]
					var tatnode3 = nodearraylist1
					assert tatnode3 isa nullable TAt
					var toparnode4 = nodearraylist2
					assert toparnode4 isa nullable TOpar
					var listnode5 = nodearraylist4
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tcparnode7 = nodearraylist6
					assert tcparnode7 isa nullable TCpar
					var pannotationsnode1: nullable AAnnotations = new AAnnotations.init_aannotations(
						null,
						tatnode3,
						toparnode4,
						listnode6,
						tcparnode7,
						null
					)
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction799
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pannotationsnode1 = nodearraylist1
					node_list = pannotationsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction801
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist1
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist2
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction802
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwpublicnode5 = nodearraylist1
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist4
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction803
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwprivatenode5 = nodearraylist1
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist4
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction804
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwprotectednode5 = nodearraylist1
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist4
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction805
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwintrudenode5 = nodearraylist1
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist4
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction806
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist3
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction807
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction808
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction809
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction810
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction811
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist1
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist2
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist4
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist6
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction812
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwpublicnode5 = nodearraylist1
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction813
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwprivatenode5 = nodearraylist1
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction814
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwprotectednode5 = nodearraylist1
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction815
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwintrudenode5 = nodearraylist1
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction816
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist3
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist7
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction817
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction818
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction819
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction820
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction821
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pannotationnode1 = nodearraylist1
					if pannotationnode1 != null then
						listnode2.add(pannotationnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction822
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pannotationnode1 = nodearraylist1
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					if pannotationnode1 != null then
						listnode3.add(pannotationnode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction843
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist1
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist2
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction844
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwpublicnode5 = nodearraylist1
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction845
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwprivatenode5 = nodearraylist1
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction846
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwprotectednode5 = nodearraylist1
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction847
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwintrudenode5 = nodearraylist1
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist4
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction848
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist3
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction849
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist5
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction850
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist5
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction851
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist5
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction852
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var tkwredefnode3 = nodearraylist1
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pexprnode8 = nodearraylist5
					assert pexprnode8 isa nullable AExpr
					if pexprnode8 != null then
						listnode9.add(pexprnode8)
					end
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						null,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction854
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pannotationnode1 = nodearraylist3
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction855
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction856
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction857
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction858
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction859
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction860
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction861
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction862
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction863
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction864
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction865
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist3
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction866
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction867
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction868
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction869
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist5
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction870
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist4
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction871
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist6
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction872
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist6
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction873
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist6
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction874
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var pannotationsnode10 = nodearraylist6
					assert pannotationsnode10 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode8,
						null,
						pannotationsnode10
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction875
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist3
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist6
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction876
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction877
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction878
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction879
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction880
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist7
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction881
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction882
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction883
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction884
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction885
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist3
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist6
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist7
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction886
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction887
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction888
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction889
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist5
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist7
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist8
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist9
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction890
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist4
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist7
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist8
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction891
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction892
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction893
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction894
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist11 = p.pop
					var nodearraylist10 = p.pop
					var nodearraylist9 = p.pop
					var nodearraylist8 = p.pop
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var toparnode7 = nodearraylist6
					assert toparnode7 isa nullable TOpar
					var listnode8 = nodearraylist8
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var tcparnode10 = nodearraylist9
					assert tcparnode10 isa nullable TCpar
					var pannotationsnode11 = nodearraylist10
					assert pannotationsnode11 isa nullable AAnnotations
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						toparnode7,
						listnode9,
						tcparnode10,
						pannotationsnode11
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction895
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist2
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist3
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction896
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwpublicnode5 = nodearraylist2
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction897
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprivatenode5 = nodearraylist2
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction898
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwprotectednode5 = nodearraylist2
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction899
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwintrudenode5 = nodearraylist2
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist4
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist5
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						null,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction900
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						null
					)
					var patidnode6 = nodearraylist3
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist4
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction901
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwpublicnode5 = nodearraylist3
					assert tkwpublicnode5 isa nullable TKwpublic
					var pvisibilitynode4: nullable APublicVisibility = new APublicVisibility.init_apublicvisibility(
						tkwpublicnode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction902
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprivatenode5 = nodearraylist3
					assert tkwprivatenode5 isa nullable TKwprivate
					var pvisibilitynode4: nullable APrivateVisibility = new APrivateVisibility.init_aprivatevisibility(
						tkwprivatenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction903
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwprotectednode5 = nodearraylist3
					assert tkwprotectednode5 isa nullable TKwprotected
					var pvisibilitynode4: nullable AProtectedVisibility = new AProtectedVisibility.init_aprotectedvisibility(
						tkwprotectednode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction904
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode9 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var tkwredefnode3 = nodearraylist2
					assert tkwredefnode3 isa nullable TKwredef
					var tkwintrudenode5 = nodearraylist3
					assert tkwintrudenode5 isa nullable TKwintrude
					var pvisibilitynode4: nullable AIntrudeVisibility = new AIntrudeVisibility.init_aintrudevisibility(
						tkwintrudenode5
					)
					var patidnode6 = nodearraylist5
					assert patidnode6 isa nullable AAtid
					var listnode8 = nodearraylist6
					assert listnode8 isa Array[Object]
					listnode9 = concat(listnode9, listnode8)
					var pannotationnode1: nullable AAnnotation = new AAnnotation.init_aannotation(
						pdocnode2,
						tkwredefnode3,
						pvisibilitynode4,
						patidnode6,
						null,
						listnode9,
						null,
						null
					)
					node_list = pannotationnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction905
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode7 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var patidnode5 = nodearraylist2
					assert patidnode5 isa nullable AAtid
					var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
						pdocnode2,
						null,
						null,
						patidnode5,
						null,
						listnode7,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction906
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode7 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var patidnode5 = nodearraylist2
					assert patidnode5 isa nullable AAtid
					var pannotationsnode9 = nodearraylist3
					assert pannotationsnode9 isa nullable AAnnotations
					var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
						pdocnode2,
						null,
						null,
						patidnode5,
						null,
						listnode7,
						null,
						pannotationsnode9
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction907
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var patidnode5 = nodearraylist2
					assert patidnode5 isa nullable AAtid
					var toparnode6 = nodearraylist3
					assert toparnode6 isa nullable TOpar
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tcparnode9 = nodearraylist6
					assert tcparnode9 isa nullable TCpar
					var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
						pdocnode2,
						null,
						null,
						patidnode5,
						toparnode6,
						listnode8,
						tcparnode9,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction908
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist7 = p.pop
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var patidnode5 = nodearraylist2
					assert patidnode5 isa nullable AAtid
					var toparnode6 = nodearraylist3
					assert toparnode6 isa nullable TOpar
					var listnode7 = nodearraylist5
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var tcparnode9 = nodearraylist6
					assert tcparnode9 isa nullable TCpar
					var pannotationsnode10 = nodearraylist7
					assert pannotationsnode10 isa nullable AAnnotations
					var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
						pdocnode2,
						null,
						null,
						patidnode5,
						toparnode6,
						listnode8,
						tcparnode9,
						pannotationsnode10
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction909
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode8 = new Array[Object]
					var pdocnode2 = nodearraylist1
					assert pdocnode2 isa nullable ADoc
					var patidnode5 = nodearraylist2
					assert patidnode5 isa nullable AAtid
					var listnode7 = nodearraylist3
					assert listnode7 isa Array[Object]
					listnode8 = concat(listnode8, listnode7)
					var ppropdefnode1: nullable AAnnotPropdef = new AAnnotPropdef.init_aannotpropdef(
						pdocnode2,
						null,
						null,
						patidnode5,
						null,
						listnode8,
						null,
						null
					)
					node_list = ppropdefnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction913
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var ptypenode2 = nodearraylist1
					assert ptypenode2 isa nullable AType
					var pexprnode1: nullable ATypeExpr = new ATypeExpr.init_atypeexpr(
						ptypenode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction916
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var pmethidnode3 = nodearraylist4
					assert pmethidnode3 isa nullable AMethid
					var pexprnode1: nullable AMethidExpr = new AMethidExpr.init_amethidexpr(
						pexprnode2,
						pmethidnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction917
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode3 = nodearraylist1
					assert pexprnode3 isa nullable AExpr
					var tquestnode4 = nodearraylist2
					assert tquestnode4 isa nullable TQuest
					var pexprnode2: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode3,
						tquestnode4
					)
					var pmethidnode5 = nodearraylist5
					assert pmethidnode5 isa nullable AMethid
					var pexprnode1: nullable AMethidExpr = new AMethidExpr.init_amethidexpr(
						pexprnode2,
						pmethidnode5
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction918
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pexprnode2: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					var pmethidnode3 = nodearraylist1
					assert pmethidnode3 isa nullable AMethid
					var pexprnode1: nullable AMethidExpr = new AMethidExpr.init_amethidexpr(
						pexprnode2,
						pmethidnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction919
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pannotationsnode2 = nodearraylist1
					assert pannotationsnode2 isa nullable AAnnotations
					var pexprnode1: nullable AAtExpr = new AAtExpr.init_aatexpr(
						pannotationsnode2
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction920
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tidnode2 = nodearraylist1
					assert tidnode2 isa nullable TId
					var patidnode1: nullable AIdAtid = new AIdAtid.init_aidatid(
						tidnode2
					)
					node_list = patidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction921
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwexternnode2 = nodearraylist1
					assert tkwexternnode2 isa nullable TKwextern
					var patidnode1: nullable AKwexternAtid = new AKwexternAtid.init_akwexternatid(
						tkwexternnode2
					)
					node_list = patidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction922
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwabstractnode2 = nodearraylist1
					assert tkwabstractnode2 isa nullable TKwabstract
					var patidnode1: nullable AKwabstractAtid = new AKwabstractAtid.init_akwabstractatid(
						tkwabstractnode2
					)
					node_list = patidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction923
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var toparnode2 = nodearraylist1
					assert toparnode2 isa nullable TOpar
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tcparnode5 = nodearraylist4
					assert tcparnode5 isa nullable TCpar
					var pexprsnode1: nullable AParExprs = new AParExprs.init_aparexprs(
						toparnode2,
						listnode4,
						tcparnode5
					)
					node_list = pexprsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction924
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var toparnode2 = nodearraylist1
					assert toparnode2 isa nullable TOpar
					var tcparnode4 = nodearraylist3
					assert tcparnode4 isa nullable TCpar
					var pexprsnode1: nullable AParExprs = new AParExprs.init_aparexprs(
						toparnode2,
						listnode3,
						tcparnode4
					)
					node_list = pexprsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction926
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					if pexprnode2 != null then
						listnode3.add(pexprnode2)
					end
					var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode3
					)
					node_list = pexprsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction928
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var listnode2 = new Array[Object]
					var pexprsnode1: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode2
					)
					node_list = pexprsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction929
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tobranode2 = nodearraylist1
					assert tobranode2 isa nullable TObra
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tcbranode5 = nodearraylist4
					assert tcbranode5 isa nullable TCbra
					var pexprsnode1: nullable ABraExprs = new ABraExprs.init_abraexprs(
						tobranode2,
						listnode4,
						tcbranode5
					)
					node_list = pexprsnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction931
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var pexprnode1 = nodearraylist1
					var listnode2 = nodearraylist3
					assert listnode2 isa Array[Object]
					if pexprnode1 != null then
						listnode3.add(pexprnode1)
					end
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction932
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist3
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction933
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var listnode1 = nodearraylist3
					assert listnode1 isa Array[Object]
					listnode2 = concat(listnode2, listnode1)
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction935
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var tidnode1 = nodearraylist1
					if tidnode1 != null then
						listnode2.add(tidnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction936
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var tidnode2 = nodearraylist4
					listnode3 = concat(listnode3, listnode1)
					if tidnode2 != null then
						listnode3.add(tidnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction937
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var tidnode4 = nodearraylist1
					assert tidnode4 isa nullable TId
					var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
						null,
						listnode3,
						tidnode4
					)
					node_list = pmodulenamenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction938
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tidnode5 = nodearraylist2
					assert tidnode5 isa nullable TId
					var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
						null,
						listnode4,
						tidnode5
					)
					node_list = pmodulenamenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction939
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var tquadnode2 = nodearraylist1
					assert tquadnode2 isa nullable TQuad
					var tidnode4 = nodearraylist3
					assert tidnode4 isa nullable TId
					var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
						tquadnode2,
						listnode3,
						tidnode4
					)
					node_list = pmodulenamenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction940
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var tquadnode2 = nodearraylist1
					assert tquadnode2 isa nullable TQuad
					var listnode3 = nodearraylist3
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tidnode5 = nodearraylist4
					assert tidnode5 isa nullable TId
					var pmodulenamenode1: nullable AModuleName = new AModuleName.init_amodulename(
						tquadnode2,
						listnode4,
						tidnode5
					)
					node_list = pmodulenamenode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction941
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var tclassidnode3 = nodearraylist1
					assert tclassidnode3 isa nullable TClassid
					var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified(
						listnode2,
						tclassidnode3
					)
					node_list = pqualifiednode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction942
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode2)
					var tclassidnode4 = nodearraylist2
					assert tclassidnode4 isa nullable TClassid
					var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified(
						listnode3,
						tclassidnode4
					)
					node_list = pqualifiednode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction943
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode2)
					var pqualifiednode1: nullable AQualified = new AQualified.init_aqualified(
						listnode3,
						null
					)
					node_list = pqualifiednode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction945
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tclassidnode3 = nodearraylist1
					assert tclassidnode3 isa nullable TClassid
					var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
						null,
						tclassidnode3
					)
					node_list = pqclassidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction946
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var tclassidnode4 = nodearraylist1
					assert tclassidnode4 isa nullable TClassid
					var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
						listnode3,
						tclassidnode4
					)
					var tclassidnode5 = nodearraylist2
					assert tclassidnode5 isa nullable TClassid
					var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
						pqualifiednode2,
						tclassidnode5
					)
					node_list = pqclassidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction947
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var tclassidnode5 = nodearraylist2
					assert tclassidnode5 isa nullable TClassid
					var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
						listnode4,
						tclassidnode5
					)
					var tclassidnode6 = nodearraylist3
					assert tclassidnode6 isa nullable TClassid
					var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
						pqualifiednode2,
						tclassidnode6
					)
					node_list = pqclassidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction948
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode4 = new Array[Object]
					var listnode3 = nodearraylist1
					assert listnode3 isa Array[Object]
					listnode4 = concat(listnode4, listnode3)
					var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
						listnode4,
						null
					)
					var tclassidnode6 = nodearraylist2
					assert tclassidnode6 isa nullable TClassid
					var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
						pqualifiednode2,
						tclassidnode6
					)
					node_list = pqclassidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction949
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pmethidnode1 = nodearraylist1
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction950
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pmethidnode1 = nodearraylist2
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction951
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pmethidnode1 = nodearraylist3
					node_list = pmethidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction953
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tidnode1 = nodearraylist1
					node_list = tidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction954
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tclassidnode1 = nodearraylist1
					node_list = tclassidnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction956
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var tkwendnode1 = nodearraylist1
					node_list = tkwendnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction957
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction960
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode2 = nodearraylist1
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode2)
					var pdocnode1: nullable ADoc = new ADoc.init_adoc(
						listnode3
					)
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction961
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode2)
					var pdocnode1: nullable ADoc = new ADoc.init_adoc(
						listnode3
					)
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction964
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					node_list = null
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction966
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					node_list = null
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction967
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode1 = nodearraylist2
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction968
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode1 = nodearraylist3
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction970
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pdocnode1 = nodearraylist4
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction972
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var pdocnode1 = nodearraylist1
					node_list = pdocnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction973
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction976
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1515
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tkwissetnode2 = nodearraylist1
					assert tkwissetnode2 isa nullable TKwisset
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tattridnode4 = nodearraylist4
					assert tattridnode4 isa nullable TAttrid
					var pexprnode1: nullable AIssetAttrExpr = new AIssetAttrExpr.init_aissetattrexpr(
						tkwissetnode2,
						pexprnode3,
						tattridnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1516
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tidnode6 = nodearraylist3
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var pexprsnode7 = nodearraylist4
					assert pexprsnode7 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1517
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var tidnode6 = nodearraylist3
					assert tidnode6 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						null,
						tidnode6
					)
					var listnode8 = new Array[Object]
					var pexprsnode7: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode8
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode7
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1518
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist3
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist4
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var pexprsnode9 = nodearraylist5
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1519
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode6 = new Array[Object]
					var tclassidnode7 = nodearraylist3
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist4
					assert tidnode8 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1520
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist6 = p.pop
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist4
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist5
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist6
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1521
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var tclassidnode8 = nodearraylist4
					assert tclassidnode8 isa nullable TClassid
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						tclassidnode8
					)
					var tidnode9 = nodearraylist5
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1522
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist4
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var pexprsnode10 = nodearraylist5
					assert pexprsnode10 isa nullable AExprs
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1523
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var tampnode2 = nodearraylist1
					assert tampnode2 isa nullable TAmp
					var pexprnode3 = nodearraylist2
					assert pexprnode3 isa nullable AExpr
					var listnode7 = new Array[Object]
					var listnode6 = nodearraylist3
					assert listnode6 isa Array[Object]
					listnode7 = concat(listnode7, listnode6)
					var pqualifiednode5: nullable AQualified = new AQualified.init_aqualified(
						listnode7,
						null
					)
					var tidnode9 = nodearraylist4
					assert tidnode9 isa nullable TId
					var pqidnode4: nullable AQid = new AQid.init_aqid(
						pqualifiednode5,
						tidnode9
					)
					var listnode11 = new Array[Object]
					var pexprsnode10: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode11
					)
					var pexprnode1: nullable ACallrefExpr = new ACallrefExpr.init_acallrefexpr(
						tampnode2,
						pexprnode3,
						pqidnode4,
						pexprsnode10
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1525
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tattridnode3 = nodearraylist3
					assert tattridnode3 isa nullable TAttrid
					var pexprnode1: nullable AAttrExpr = new AAttrExpr.init_aattrexpr(
						pexprnode2,
						tattridnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1526
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist2
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var pexprsnode6 = nodearraylist3
					assert pexprsnode6 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1527
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tidnode5 = nodearraylist2
					assert tidnode5 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						null,
						tidnode5
					)
					var listnode7 = new Array[Object]
					var pexprsnode6: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode7
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode6
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1528
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist2
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var pexprsnode8 = nodearraylist4
					assert pexprsnode8 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1529
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode5 = new Array[Object]
					var tclassidnode6 = nodearraylist2
					assert tclassidnode6 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode5,
						tclassidnode6
					)
					var tidnode7 = nodearraylist3
					assert tidnode7 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode7
					)
					var listnode9 = new Array[Object]
					var pexprsnode8: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode9
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode8
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1530
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist5 = p.pop
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist3
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist4
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist5
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1531
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var tclassidnode7 = nodearraylist3
					assert tclassidnode7 isa nullable TClassid
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						tclassidnode7
					)
					var tidnode8 = nodearraylist4
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1532
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var pexprsnode9 = nodearraylist4
					assert pexprsnode9 isa nullable AExprs
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1533
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var listnode6 = new Array[Object]
					var listnode5 = nodearraylist2
					assert listnode5 isa Array[Object]
					listnode6 = concat(listnode6, listnode5)
					var pqualifiednode4: nullable AQualified = new AQualified.init_aqualified(
						listnode6,
						null
					)
					var tidnode8 = nodearraylist3
					assert tidnode8 isa nullable TId
					var pqidnode3: nullable AQid = new AQid.init_aqid(
						pqualifiednode4,
						tidnode8
					)
					var listnode10 = new Array[Object]
					var pexprsnode9: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode10
					)
					var pexprnode1: nullable ACallExpr = new ACallExpr.init_acallexpr(
						pexprnode2,
						pqidnode3,
						pexprsnode9
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1536
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist2
					assert tkwinitnode3 isa nullable TKwinit
					var pexprsnode4 = nodearraylist3
					assert pexprsnode4 isa nullable AExprs
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1537
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tkwinitnode3 = nodearraylist2
					assert tkwinitnode3 isa nullable TKwinit
					var listnode5 = new Array[Object]
					var pexprsnode4: nullable AListExprs = new AListExprs.init_alistexprs(
						listnode5
					)
					var pexprnode1: nullable AInitExpr = new AInitExpr.init_ainitexpr(
						pexprnode2,
						tkwinitnode3,
						pexprsnode4
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1564
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode1 = nodearraylist1
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1565
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist4 = p.pop
					var nodearraylist3 = p.pop
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var pexprnode2 = nodearraylist1
					assert pexprnode2 isa nullable AExpr
					var tquestnode3 = nodearraylist2
					assert tquestnode3 isa nullable TQuest
					var pexprnode1: nullable ASafeExpr = new ASafeExpr.init_asafeexpr(
						pexprnode2,
						tquestnode3
					)
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1566
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var pexprnode1: nullable AImplicitSelfExpr = new AImplicitSelfExpr.init_aimplicitselfexpr
					node_list = pexprnode1
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1750
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pimportnode1 = nodearraylist1
					if pimportnode1 != null then
						listnode2.add(pimportnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1751
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pimportnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pimportnode2 != null then
						listnode3.add(pimportnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1752
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pexterncodeblocknode1 = nodearraylist1
					if pexterncodeblocknode1 != null then
						listnode2.add(pexterncodeblocknode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1753
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pexterncodeblocknode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pexterncodeblocknode2 != null then
						listnode3.add(pexterncodeblocknode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1754
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pclassdefnode1 = nodearraylist1
					if pclassdefnode1 != null then
						listnode2.add(pclassdefnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1755
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pclassdefnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pclassdefnode2 != null then
						listnode3.add(pclassdefnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1757
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pformaldefnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pformaldefnode2 != null then
						listnode3.add(pformaldefnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1759
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var ppropdefnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if ppropdefnode2 != null then
						listnode3.add(ppropdefnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1761
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pannotationnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pannotationnode2 != null then
						listnode3.add(pannotationnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1762
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pparamnode1 = nodearraylist1
					if pparamnode1 != null then
						listnode2.add(pparamnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1763
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pparamnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pparamnode2 != null then
						listnode3.add(pparamnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1764
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var pexterncallnode1 = nodearraylist1
					if pexterncallnode1 != null then
						listnode2.add(pexterncallnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1765
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pexterncallnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pexterncallnode2 != null then
						listnode3.add(pexterncallnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1767
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var ptypenode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if ptypenode2 != null then
						listnode3.add(ptypenode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1769
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var pexprnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if pexprnode2 != null then
						listnode3.add(pexprnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1775
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var listnode2 = nodearraylist2
					assert listnode2 isa Array[Object]
					listnode3 = concat(listnode3, listnode1)
					listnode3 = concat(listnode3, listnode2)
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1783
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var tidnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if tidnode2 != null then
						listnode3.add(tidnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1784
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist1 = p.pop
					var listnode2 = new Array[Object]
					var tcommentnode1 = nodearraylist1
					if tcommentnode1 != null then
						listnode2.add(tcommentnode1)
					end
					node_list = listnode2
					p.push(p.go_to(_goto), node_list)
	end
end
private class ReduceAction1785
	super ReduceAction
	redef fun action(p: Parser)
	do
					var node_list: nullable Object = null
					var nodearraylist2 = p.pop
					var nodearraylist1 = p.pop
					var listnode3 = new Array[Object]
					var listnode1 = nodearraylist1
					assert listnode1 isa Array[Object]
					var tcommentnode2 = nodearraylist2
					listnode3 = concat(listnode3, listnode1)
					if tcommentnode2 != null then
						listnode3.add(tcommentnode2)
					end
					node_list = listnode3
					p.push(p.go_to(_goto), node_list)
	end
end
src/parser/parser.nit:1,1--35912,3