1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * See LICENSE.txt included in this distribution for the specific 9 * language governing permissions and limitations under the License. 10 * 11 * When distributing Covered Code, include this CDDL HEADER in each 12 * file and include the License file at LICENSE.txt. 13 * If applicable, add the following below this CDDL HEADER, with the 14 * fields enclosed by brackets "[]" replaced with your own identifying 15 * information: Portions Copyright [yyyy] [name of copyright owner] 16 * 17 * CDDL HEADER END 18 */ 19 20/* 21 * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. 22 * Portions Copyright (c) 2017, 2019-2020, Chris Fraire <cfraire@me.com>. 23 */ 24 25MaybeWhsp = {WhspChar}* 26 27/* 28 * spec.md: Identifier = ID_Start (ID_Continue | '-')*; 29 */ 30Identifier = \p{ID_Start} (\p{ID_Continue} | "-")* 31 32/* 33 * spec.md: Numeric Literals 34 * 35 * A numeric literal is a decimal representation of a real number. It has an 36 * integer part, a fractional part, and an exponent part. 37 * 38 * NumericLit = decimal+ ("." decimal+)? (expmark decimal+)?; 39 * decimal = '0' .. '9'; 40 * expmark = ('e' | 'E') ("+" | "-")?; 41 */ 42Numeric_literal = {decimal}+ ("." {decimal}+)? ({expmark} {decimal}+)? 43decimal = [0-9] 44expmark = [eE] [\+\-]? 45 46FileExt = [Hh][Cc][Ll] 47File = [a-zA-Z]{FNameChar}* "." {FileExt} 48 49/* 50 * YYINITIAL : base scanning state 51 * POST_IDENTIFIER : after an identifier has been matched to allow 52 * distinguishing a STRING from a QUOTED. E.g. after an identifier a quoted 53 * expression does not allow interpolation and is therefore a STRING. 54 * COMMENT: multi-line comment 55 * SCOMMENT : single-line comment 56 * QUOTED: quoted template 57 * STRING: literal string expression 58 * HERE : Here-docs 59 * HEREin : Indented Here-docs 60 */ 61%state POST_IDENTIFIER COMMENT SCOMMENT QUOTED STRING HERE HEREin 62