// -*- mode: js; indent-tabs-mode: nil; js-basic-offset: 4 -*- // // This file is part of Genie // // Copyright 2019-2020 The Board of Trustees of the Leland Stanford Junior University // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // // Author: Giovanni Campagna import * as $runtime from "../sentence-generator/runtime"; import type $SentenceGenerator from "../sentence-generator/generator"; import * as $SentenceGeneratorTypes from "../sentence-generator/types"; import * as $I18n from "../i18n/index"; import { Ast, Type } from 'thingtalk'; import * as C from './ast_manip'; import ThingpediaLoader from './load-thingpedia'; export const constant_String : $SentenceGeneratorTypes.NonTerminal = "constant_String"; export const constant_Entity__tt__url : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__url"; export const constant_Entity__tt__username : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__username"; export const constant_Entity__tt__hashtag : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__hashtag"; export const constant_Entity__tt__phone_number : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__phone_number"; export const constant_Entity__tt__email_address : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__email_address"; export const constant_Entity__tt__path_name : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__path_name"; export const constant_Number : $SentenceGeneratorTypes.NonTerminal = "constant_Number"; export const constant_Currency : $SentenceGeneratorTypes.NonTerminal = "constant_Currency"; export const constant_Time : $SentenceGeneratorTypes.NonTerminal = "constant_Time"; export const constant_Date : $SentenceGeneratorTypes.NonTerminal = "constant_Date"; export const constant_Location : $SentenceGeneratorTypes.NonTerminal = "constant_Location"; export const constant_Entity__tt__picture : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__picture"; export const constant_Entity__tt__function : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__function"; export const constant_Entity__tt__program : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__program"; export const constant_Entity__tt__device : $SentenceGeneratorTypes.NonTerminal = "constant_Entity__tt__device"; export const constant_Boolean : $SentenceGeneratorTypes.NonTerminal = "constant_Boolean"; export const constant_RecurrentTimeSpecification : $SentenceGeneratorTypes.NonTerminal = "constant_RecurrentTimeSpecification"; export const constant_Measure_ms : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_ms"; export const constant_Measure_byte : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_byte"; export const constant_Measure_kg : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_kg"; export const constant_Measure_C : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_C"; export const constant_Measure_m : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_m"; export const constant_Measure_m2 : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_m2"; export const constant_Measure_m3 : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_m3"; export const constant_Measure_mps : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_mps"; export const constant_Measure_Pa : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_Pa"; export const constant_Measure_kcal : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_kcal"; export const constant_Measure_W : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_W"; export const constant_Measure_lx : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_lx"; export const constant_Measure_lm : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_lm"; export const constant_Measure_dB : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_dB"; export const constant_Measure_dBm : $SentenceGeneratorTypes.NonTerminal = "constant_Measure_dBm"; export const constant_Any : $SentenceGeneratorTypes.NonTerminal = "constant_Any"; export const constant_Numeric : $SentenceGeneratorTypes.NonTerminal = "constant_Numeric"; /** * Load the templates in this file. * * This is an autogenerated method that will be called by the {@link SentenceGenerator} * when the templates are imported. */ export async function $load($options : $SentenceGeneratorTypes.GrammarOptions, $locale : $I18n.LanguagePack, $grammar : $SentenceGenerator, $loader : ThingpediaLoader) : Promise { const MAX_SMALL_INTEGER = 12; for (let i = 0; i <= MAX_SMALL_INTEGER; i++) { $grammar.declareSymbol("constant_Number"); $grammar.addRule("constant_Number", [], $locale._("" + (String(i)) + ""), (() : (Ast.NumberValue)|null => new Ast.Value.Number(i)), C.entityOrNumberValueKeyFn, { }); } $grammar.declareSymbol("constant_String"); $grammar.addConstants("constant_String", "QUOTED_STRING", Type.String, C.valueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__url"); $grammar.addConstants("constant_Entity__tt__url", "URL", new Type.Entity('tt:url'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__username"); $grammar.addConstants("constant_Entity__tt__username", "USERNAME", new Type.Entity('tt:username'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__hashtag"); $grammar.addConstants("constant_Entity__tt__hashtag", "HASHTAG", new Type.Entity('tt:hashtag'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__phone_number"); $grammar.addConstants("constant_Entity__tt__phone_number", "PHONE_NUMBER", new Type.Entity('tt:phone_number'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__email_address"); $grammar.addConstants("constant_Entity__tt__email_address", "EMAIL_ADDRESS", new Type.Entity('tt:email_address'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__path_name"); $grammar.addConstants("constant_Entity__tt__path_name", "PATH_NAME", new Type.Entity('tt:path_name'), C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Number"); $grammar.addConstants("constant_Number", "NUMBER", Type.Number, C.entityOrNumberValueKeyFn, { }); $grammar.declareSymbol("constant_Currency"); $grammar.addConstants("constant_Currency", "CURRENCY", Type.Currency, C.valueKeyFn, { }); $grammar.declareSymbol("constant_Time"); $grammar.addConstants("constant_Time", "TIME", Type.Time, C.valueKeyFn, { }); $grammar.declareSymbol("constant_Date"); $grammar.addConstants("constant_Date", "DATE", Type.Date, C.valueKeyFn, { }); $grammar.declareSymbol("constant_Location"); $grammar.addConstants("constant_Location", "LOCATION", Type.Location, C.valueKeyFn, { }); $grammar.declareSymbol("constant_Entity__tt__picture"); $grammar.declareSymbol("constant_Entity__tt__function"); $grammar.declareSymbol("constant_Entity__tt__program"); $grammar.declareSymbol("constant_Entity__tt__device"); $grammar.declareSymbol("constant_Boolean"); $grammar.declareSymbol("constant_RecurrentTimeSpecification"); if ($options.flags.inference) { $grammar.addConstants("constant_RecurrentTimeSpecification", "RECURRENT_TIME_SPECIFICATION", Type.RecurrentTimeSpecification, C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_ms"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_ms", "MEASURE_ms", new Type.Measure('ms'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_byte"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_byte", "MEASURE_byte", new Type.Measure('byte'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_kg"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_kg", "MEASURE_kg", new Type.Measure('kg'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_C"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_C", "MEASURE_C", new Type.Measure('C'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_m"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_m", "MEASURE_m", new Type.Measure('m'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_m2"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_m2", "MEASURE_m2", new Type.Measure('m2'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_m3"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_m3", "MEASURE_m3", new Type.Measure('m3'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_m2"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_m2", "MEASURE_m2", new Type.Measure('m2'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_m3"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_m3", "MEASURE_m3", new Type.Measure('m3'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_mps"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_mps", "MEASURE_mps", new Type.Measure('mps'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_Pa"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_Pa", "MEASURE_Pa", new Type.Measure('Pa'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_kcal"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_kcal", "MEASURE_kcal", new Type.Measure('kcal'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_W"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_W", "MEASURE_W", new Type.Measure('W'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_lx"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_lx", "MEASURE_lx", new Type.Measure('lx'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_lm"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_lm", "MEASURE_lm", new Type.Measure('lm'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_dB"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_dB", "MEASURE_dB", new Type.Measure('dB'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Measure_dBm"); if ($options.flags.inference) { $grammar.addConstants("constant_Measure_dBm", "MEASURE_dBm", new Type.Measure('byte'), C.valueKeyFn, { }); } $grammar.declareSymbol("constant_Any"); if (!$options.flags.unbalanced) { $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_String", undefined, undefined)], "${constant_String}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { repeat: (true), identity: (true) }); } if ($options.flags.unbalanced) { $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_String", undefined, undefined)], "${constant_String}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); } $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__picture", undefined, undefined)], "${constant_Entity__tt__picture}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__username", undefined, undefined)], "${constant_Entity__tt__username}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__hashtag", undefined, undefined)], "${constant_Entity__tt__hashtag}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__phone_number", undefined, undefined)], "${constant_Entity__tt__phone_number}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__email_address", undefined, undefined)], "${constant_Entity__tt__email_address}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__path_name", undefined, undefined)], "${constant_Entity__tt__path_name}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Number", undefined, undefined)], "${constant_Number}", (($0 : Ast.NumberValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Time", undefined, undefined)], "${constant_Time}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Location", undefined, undefined)], "${constant_Location}", (($0 : Ast.LocationValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Currency", undefined, undefined)], "${constant_Currency}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); if (!$options.flags.turking) { $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Entity__tt__url", undefined, undefined)], "${constant_Entity__tt__url}", (($0 : Ast.EntityValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Date", undefined, undefined)], "${constant_Date}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_ms", undefined, undefined)], "${constant_Measure_ms}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_byte", undefined, undefined)], "${constant_Measure_byte}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_mps", undefined, undefined)], "${constant_Measure_mps}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_m", undefined, undefined)], "${constant_Measure_m}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_m2", undefined, undefined)], "${constant_Measure_m2}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_m3", undefined, undefined)], "${constant_Measure_m3}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_C", undefined, undefined)], "${constant_Measure_C}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_kg", undefined, undefined)], "${constant_Measure_kg}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_Pa", undefined, undefined)], "${constant_Measure_Pa}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_kcal", undefined, undefined)], "${constant_Measure_kcal}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_W", undefined, undefined)], "${constant_Measure_W}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_lx", undefined, undefined)], "${constant_Measure_lx}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_lm", undefined, undefined)], "${constant_Measure_lm}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_dB", undefined, undefined)], "${constant_Measure_dB}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Measure_dBm", undefined, undefined)], "${constant_Measure_dBm}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Any", [new $runtime.NonTerminal("constant_Boolean", undefined, undefined)], "${constant_Boolean}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); } $grammar.declareSymbol("constant_Numeric"); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Number", undefined, undefined)], "${constant_Number}", (($0 : Ast.NumberValue) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Currency", undefined, undefined)], "${constant_Currency}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_ms", undefined, undefined)], "${constant_Measure_ms}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_byte", undefined, undefined)], "${constant_Measure_byte}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_mps", undefined, undefined)], "${constant_Measure_mps}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_m", undefined, undefined)], "${constant_Measure_m}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_m2", undefined, undefined)], "${constant_Measure_m2}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_m3", undefined, undefined)], "${constant_Measure_m3}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_C", undefined, undefined)], "${constant_Measure_C}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_kg", undefined, undefined)], "${constant_Measure_kg}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_Pa", undefined, undefined)], "${constant_Measure_Pa}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_kcal", undefined, undefined)], "${constant_Measure_kcal}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_W", undefined, undefined)], "${constant_Measure_W}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_lx", undefined, undefined)], "${constant_Measure_lx}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_lm", undefined, undefined)], "${constant_Measure_lm}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_dB", undefined, undefined)], "${constant_Measure_dB}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); $grammar.addRule("constant_Numeric", [new $runtime.NonTerminal("constant_Measure_dBm", undefined, undefined)], "${constant_Measure_dBm}", (($0 : Ast.Value) : (Ast.Value)|null => { return $0; }), C.valueKeyFn, { identity: (true) }); };