diff options
author | Chris Lattner <sabre@nondot.org> | 2002-05-03 18:23:48 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-05-03 18:23:48 +0000 |
commit | 9b02cc365ccb53a9476989fbed80cfd29ca7c384 (patch) | |
tree | 80289b3b02cc35241170de2c655516b14dc60f64 | |
parent | 8fba3a0f3a4b85066b93b52359b13f00062e247b (diff) | |
download | external_llvm-9b02cc365ccb53a9476989fbed80cfd29ca7c384.zip external_llvm-9b02cc365ccb53a9476989fbed80cfd29ca7c384.tar.gz external_llvm-9b02cc365ccb53a9476989fbed80cfd29ca7c384.tar.bz2 |
Allow open/closing curly braces instead of begin/end to define the body of a function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2451 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AsmParser/Lexer.l | 2 | ||||
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 8 |
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/AsmParser/Lexer.l b/lib/AsmParser/Lexer.l index 9cfe9fd..faddcb1 100644 --- a/lib/AsmParser/Lexer.l +++ b/lib/AsmParser/Lexer.l @@ -147,7 +147,7 @@ HexFPConstant 0x[0-9A-Fa-f]+ {Comment} { /* Ignore comments for now */ } begin { return BEGINTOK; } -end { return END; } +end { return ENDTOK; } true { return TRUE; } false { return FALSE; } declare { return DECLARE; } diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 697609a..d1feec8 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -671,7 +671,7 @@ Module *RunVMAsmParser(const string &Filename, FILE *F) { %type <StrVal> OptVAR_ID OptAssign -%token IMPLEMENTATION TRUE FALSE BEGINTOK END DECLARE GLOBAL CONSTANT UNINIT +%token IMPLEMENTATION TRUE FALSE BEGINTOK ENDTOK DECLARE GLOBAL CONSTANT UNINIT %token TO EXCEPT DOTDOTDOT STRING NULL_TOK CONST INTERNAL OPAQUE // Basic Block Terminating Operators @@ -1205,13 +1205,17 @@ FunctionHeaderH : OptInternal TypesV STRINGCONSTANT '(' ArgList ')' { } } -FunctionHeader : FunctionHeaderH ConstPool BEGINTOK { +BEGIN : BEGINTOK | '{'; // Allow BEGIN or '{' to start a function + +FunctionHeader : FunctionHeaderH BEGIN { $$ = CurMeth.CurrentFunction; // Resolve circular types before we parse the body of the method. ResolveTypes(CurMeth.LateResolveTypes); } +END : ENDTOK | '}'; // Allow end of '}' to end a function + Function : BasicBlockList END { $$ = $1; } |