package Ġparser . test Ċ Ċ import Ġparser . util . Value Expr Node Ċ Ċ class ĠExpr AST Node ( val Ġtype : ĠString ) Ċ Ċ val Ġhas Token : Ġ( String ) Ġ-> Ġ( String ) Ġ-> ĠBoolean ĊĠĠĠĠĠĠĠ Ġ= Ġ{ Ġcontent : ĠString Ġ-> Ġ{ Ġtoken : ĠString Ġ-> Ġcontent . to Regex (). matches ( token ) Ġ} Ġ} Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĊĠĠĠ Ġval Ġlist Ġ= Ġmutable ListOf < Expr AST Node >() ĊĠĠĠ Ġval Ġtext Ġ= Ġ" if " ĊĠĠĠ Ġlist . add ( Expr AST Node (" 1 ")) ĊĠĠĠ Ġval Ġadd Ġ= Ġ{ Ġch : ĠInt Ġ-> Ġch Ġ+ Ġ 1 Ġ} Ċ // ĠĠĠ Ġprint ( list [ 0 ]) Ċ } Ċ