diff options
Diffstat (limited to 'tools/llvmc/ConfigLexer.l.cvs')
-rw-r--r-- | tools/llvmc/ConfigLexer.l.cvs | 201 |
1 files changed, 0 insertions, 201 deletions
diff --git a/tools/llvmc/ConfigLexer.l.cvs b/tools/llvmc/ConfigLexer.l.cvs deleted file mode 100644 index 390045cadb..0000000000 --- a/tools/llvmc/ConfigLexer.l.cvs +++ /dev/null @@ -1,201 +0,0 @@ -/*===- ConfigLexer.l - Scanner for CompilerDriver Config Files -*- C++ -*--===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file implements the flex scanner for configuration files for the -// llvmc CompilerDriver. -// -//===----------------------------------------------------------------------===*/ - - -%option prefix="Config" -%option nostdinit -%option never-interactive -%option batch -%option noyywrap -%option 8bit -%option outfile="ConfigLexer.cpp" -%option ecs -%option noyymore -%option noreject -%pointer - -%{ - -#include "ConfigLexer.h" - -#define YY_INPUT(buf,result,max_size) \ - { \ - assert(ConfigLexerInput != 0 && "Oops"); \ - result = ConfigLexerInput->read(buf,max_size); \ - if (result == 0 ) result = YY_NULL; \ - } - -#define YY_FATAL_ERROR(msg) \ - { \ - assert(ConfigLexerInput != 0 && "Oops"); \ - ConfigLexerInput->error(msg); \ - } - -#define YY_DECL ConfigLexerTokens llvm::Configlex() - -#define yyterminate() { return EOFTOK; } - -using namespace llvm; - -inline llvm::ConfigLexerTokens -handleNameContext(llvm::ConfigLexerTokens token) { - ConfigLexerState.StringVal = yytext; - if (ConfigLexerState.in_value) - return OPTION; - return token; -} - -inline llvm::ConfigLexerTokens -handleSubstitution(llvm::ConfigLexerTokens token) { - if (ConfigLexerState.in_value) { - ConfigLexerState.StringVal = yytext; - return token; - } - YY_FATAL_ERROR("Substitition tokens not allowed in names" ); - return ERRORTOK; -} - -inline llvm::ConfigLexerTokens handleValueContext(llvm::ConfigLexerTokens token) { - ConfigLexerState.StringVal = yytext; - if (ConfigLexerState.in_value) - return token; - return OPTION; -} - -%} - -ASSEMBLER assembler|Assembler|ASSEMBLER -COMMAND command|Command|COMMAND -LANG lang|Lang|LANG -LIBS libs|Libs|LIBS -LINKER linker|Linker|LINKER -NAME name|Name|NAME -OPT1 opt1|Opt1|OPT1 -OPT2 opt2|Opt2|OPT2 -OPT3 opt3|Opt3|OPT3 -OPT4 opt4|Opt4|OPT4 -OPT5 opt5|Opt5|OPT5 -OPTIMIZER optimizer|Optimizer|OPTIMIZER -OUTPUT output|Output|OUTPUT -PREPROCESSES preprocesses|PreProcesses|PREPROCESSES -PREPROCESSOR preprocessor|PreProcessor|PREPROCESSOR -REQUIRED required|Required|REQUIRED -TRANSLATES translates|Translates|TRANSLATES -TRANSLATOR translator|Translator|TRANSLATOR -VERSION version|Version|VERSION - -True true|True|TRUE|on|On|ON|yes|Yes|YES -False false|False|FALSE|off|Off|OFF|no|No|NO -Bitcode bc|BC|bitcode|Bitcode|BITCODE -Assembly asm|ASM|assembly|Assembly|ASSEMBLY - -BadSubst \%[a-zA-Z]*\% -Comment \#[^\r\n]*\r?\n -NewLine \r?\n -Eq \= -EscNewLine \\\r?\n -Option [-A-Za-z0-9_:%+/\\|,][-A-Za-z0-9_:+/\\|,@]* -Sep \. -String \"[^\"]*\" -White [ \t]* - - -%% - -{White} { if (ConfigLexerState.in_value) return SPACE; } - -{Comment} { /* Ignore comments */ - ConfigLexerState.in_value = false; - ConfigLexerState.lineNum++; - return EOLTOK; - } - -{EscNewLine} { ConfigLexerState.lineNum++; - /* Don't return EOLTOK! */ - } - -{NewLine} { ConfigLexerState.in_value = false; - ConfigLexerState.lineNum++; - return EOLTOK; - } - -{Eq} { ConfigLexerState.in_value = true; - return EQUALS; - } - -{Sep} { return SEPARATOR; } - -{VERSION} { return handleNameContext(VERSION_TOK); } - -{LANG} { return handleNameContext(LANG); } -{LIBS} { return handleNameContext(LIBS); } -{NAME} { return handleNameContext(NAME); } -{OPT1} { return handleNameContext(OPT1); } -{OPT2} { return handleNameContext(OPT2); } -{OPT3} { return handleNameContext(OPT3); } -{OPT4} { return handleNameContext(OPT4); } -{OPT5} { return handleNameContext(OPT5); } - -{PREPROCESSOR} { return handleNameContext(PREPROCESSOR); } -{COMMAND} { return handleNameContext(COMMAND); } -{REQUIRED} { return handleNameContext(REQUIRED); } - -{TRANSLATOR} { return handleNameContext(TRANSLATOR); } -{PREPROCESSES} { return handleNameContext(PREPROCESSES); } -{OUTPUT} { return handleNameContext(OUTPUT); } - -{OPTIMIZER} { return handleNameContext(OPTIMIZER); } -{TRANSLATES} { return handleNameContext(TRANSLATES); } - -{ASSEMBLER} { return handleNameContext(ASSEMBLER); } - -{LINKER} { return handleNameContext(LINKER); } - -%args% { return handleSubstitution(ARGS_SUBST); } -%bindir% { return handleSubstitution(BINDIR_SUBST); } -%defs% { return handleSubstitution(DEFS_SUBST); } -%in% { return handleSubstitution(IN_SUBST); } -%incls% { return handleSubstitution(INCLS_SUBST); } -%libdir% { return handleSubstitution(LIBDIR_SUBST); } -%libs% { return handleSubstitution(LIBS_SUBST); } -%llvmgccdir% { return handleSubstitution(LLVMGCCDIR_SUBST); } -%llvmgccarch% { return handleSubstitution(LLVMGCCARCH_SUBST); } -%llvmgcc% { return handleSubstitution(LLVMGCC_SUBST); } -%llvmgxx% { return handleSubstitution(LLVMGXX_SUBST); } -%llvmcc1% { return handleSubstitution(LLVMCC1_SUBST); } -%llvmcc1plus% { return handleSubstitution(LLVMCC1PLUS_SUBST); } -%opt% { return handleSubstitution(OPT_SUBST); } -%out% { return handleSubstitution(OUT_SUBST); } -%stats% { return handleSubstitution(STATS_SUBST); } -%target% { return handleSubstitution(TARGET_SUBST); } -%time% { return handleSubstitution(TIME_SUBST); } -%verbose% { return handleSubstitution(VERBOSE_SUBST); } -%fOpts% { return handleSubstitution(FOPTS_SUBST); } -%MOpts% { return handleSubstitution(MOPTS_SUBST); } -%WOpts% { return handleSubstitution(WOPTS_SUBST); } - -{Assembly} { return handleValueContext(ASSEMBLY); } -{Bitcode} { return handleValueContext(BITCODE); } -{True} { return handleValueContext(TRUETOK); } -{False} { return handleValueContext(FALSETOK); } - -{Option} { ConfigLexerState.StringVal = yytext; return OPTION; } -{String} { ConfigLexerState.StringVal = yytext+1; // Nuke start quote - ConfigLexerState.StringVal.erase( - --ConfigLexerState.StringVal.end()); - return STRING; - } -{BadSubst} { YY_FATAL_ERROR("Invalid substitution token"); } - -%% |