From d5727a5964c859359c0b6e4fcf5b4e91ec8f4569 Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Tue, 12 Jan 2021 22:06:56 -0500 Subject: Move hilex out of hilex directory --- bin/hilex/make.l | 105 ------------------------------------------------------- 1 file changed, 105 deletions(-) delete mode 100644 bin/hilex/make.l (limited to 'bin/hilex/make.l') diff --git a/bin/hilex/make.l b/bin/hilex/make.l deleted file mode 100644 index e7f3def5..00000000 --- a/bin/hilex/make.l +++ /dev/null @@ -1,105 +0,0 @@ -/* Copyright (C) 2020 C. McEnroe - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . - */ - -%option prefix="make" -%option noyywrap - -%{ -#include "hilex.h" -%} - -%s Assign -%x Interp Shell - -ident [._[:alnum:]]+ -assign [+?:!]?= -target [-._/?*\[\][:alnum:]]+ -operator [:!]|:: - -%% - static int pop = INITIAL; - static int depth = 0; - -^"\t"+ { - BEGIN(pop = Shell); - return Normal; -} -{ - "\n" { - BEGIN(pop = INITIAL); - return Normal; - } - "\\\n" { return Normal; } - [^\\\n$]+|. { return Normal; } -} - -[[:blank:]]+ { return Normal; } - -{operator} { return Operator; } - -"."(PHONY|PRECIOUS|SUFFIXES)/{operator}? { - return Keyword; -} - -^{ident}/[[:blank:]]*{assign} { - return Identifier; -} - -{assign} { - BEGIN(pop = Assign); - return Operator; -} -{ - "\n" { - BEGIN(pop = INITIAL); - return Normal; - } - "\\\n" { return String; } - [^\\$[:space:]]+|. { return String; } -} - -^"-"?include { return Macro; } - -{target} { return Identifier; } - -"#"([^\\\n]|"\\"[^\n]|"\\\n")* { return Comment; } - -<*>{ - "$"("{"|"(") { - depth++; - BEGIN(Interp); - return Interpolation; - } - "$". { return Interpolation; } -} -{ - "}"|")" { - if (!--depth) BEGIN(pop); - return Interpolation; - } - [^${}()]+ { return Interpolation; } -} - -.|\n { return Normal; } - -%{ - (void)yyunput; - (void)input; -%} - -%% - -const struct Lexer LexMake = { yylex, &yyin, &yytext }; -- cgit 1.4.1