From 90963b533e0e8c1dccfcf79afe55d6b0a9c55d79 Mon Sep 17 00:00:00 2001 From: Flavio Cruz Date: Tue, 15 Mar 2016 05:06:12 -0400 Subject: Simpler lexer regexps of case insensitive keywords. * lexxer.l: Use (?i) for matching case insensitive keywords. * README: Fix typo. --- README | 2 +- lexxer.l | 100 +++++++++++++++++++++++++++++++-------------------------------- 2 files changed, 51 insertions(+), 51 deletions(-) diff --git a/README b/README index e4c0639..2c693d8 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ This is GNU MIG, the GNU distribution of the Mach 3.0 Interface Generator (MIG), . Welcome. -This tool translates Remore Procedure Call (RPC) definition files to C +This tool translates Remote Procedure Call (RPC) definition files to C code, and is required to compile any packages that are receiving or invoking RPCs, such as GNU Mach, GNU Hurd, and the GNU C Library (glibc) when compiled for the Hurd. diff --git a/lexxer.l b/lexxer.l index c71f85a..06b04e2 100644 --- a/lexxer.l +++ b/lexxer.l @@ -107,56 +107,56 @@ static void doSharp(const char *body); /* process body of # directives */ %% -[Rr][Oo][Uu][Tt][Ii][Nn][Ee] RETURN(syRoutine); -[Ff][Uu][Nn][Cc][Tt][Ii][Oo][Nn] RETURN(syFunction); -[Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee] RETURN(syProcedure); -[Ss][Ii][Mm][Pp][Ll][Ee][Pp][Rr][Oo][Cc][Ee][Dd][Uu][Rr][Ee] RETURN(sySimpleProcedure); -[Ss][Ii][Mm][Pp][Ll][Ee][Rr][Oo][Uu][Tt][Ii][Nn][Ee] RETURN(sySimpleRoutine); -[Ss][Uu][Bb][Ss][Yy][Ss][Tt][Ee][Mm] RETURN(sySubsystem); -[Mm][Ss][Gg][Oo][Pp][Tt][Ii][Oo][Nn] RETURN(syMsgOption); -[Mm][Ss][Gg][Ss][Ee][Qq][Nn][Oo] RETURN(syMsgSeqno); -[Ww][Aa][Ii][Tt][Tt][Ii][Mm][Ee] RETURN(syWaitTime); -[Nn][Oo][Ww][Aa][Ii][Tt][Tt][Ii][Mm][Ee] RETURN(syNoWaitTime); -[Ii][Nn] RETURN(syIn); -[Oo][Uu][Tt] RETURN(syOut); -[Ii][Nn][Oo][Uu][Tt] RETURN(syInOut); -[Rr][Ee][Qq][Uu][Ee][Ss][Tt][Pp][Oo][Rr][Tt] RETURN(syRequestPort); -[Rr][Ee][Pp][Ll][Yy][Pp][Oo][Rr][Tt] RETURN(syReplyPort); -[Uu][Rr][Ee][Pp][Ll][Yy][Pp][Oo][Rr][Tt] RETURN(syUReplyPort); -[Ss][Rr][Ee][Pp][Ll][Yy][Pp][Oo][Rr][Tt] RETURN(sySReplyPort); -[Aa][Rr][Rr][Aa][Yy] RETURN(syArray); -[Oo][Ff] RETURN(syOf); -[Ee][Rr][Rr][Oo][Rr] RETURN(syErrorProc); -[Ss][Ee][Rr][Vv][Ee][Rr][Pp][Rr][Ee][Ff][Ii][Xx] RETURN(syServerPrefix); -[Uu][Ss][Ee][Rr][Pp][Rr][Ee][Ff][Ii][Xx] RETURN(syUserPrefix); -[Ss][Ee][Rr][Vv][Ee][Rr][Dd][Ee][Mm][Uu][Xx] RETURN(syServerDemux); -[Rr][Cc][Ss][Ii][Dd] RETURN(syRCSId); -[Ii][Mm][Pp][Oo][Rr][Tt] RETURN(syImport); -[Uu][Ii][Mm][Pp][Oo][Rr][Tt] RETURN(syUImport); -[Ss][Ii][Mm][Pp][Oo][Rr][Tt] RETURN(sySImport); -[Tt][Yy][Pp][Ee] RETURN(syType); -[Kk][Ee][Rr][Nn][Ee][Ll][Ss][Ee][Rr][Vv][Ee][Rr] RETURN(syKernelServer); -[Kk][Ee][Rr][Nn][Ee][Ll][Uu][Ss][Ee][Rr] RETURN(syKernelUser); -[Ss][Kk][Ii][Pp] RETURN(sySkip); -[Ss][Tt][Rr][Uu][Cc][Tt] RETURN(syStruct); -[Ii][Nn][Tt][Rr][Aa][Nn] RETURN(syInTran); -[Ii][Nn][Tt][Rr][Aa][Nn][Pp][Aa][Yy][Ll][Oo][Aa][Dd] RETURN(syInTranPayload); -[Oo][Uu][Tt][Tt][Rr][Aa][Nn] RETURN(syOutTran); -[Dd][Ee][Ss][Tt][Rr][Uu][Cc][Tt][Oo][Rr] RETURN(syDestructor); -[Cc][Tt][Yy][Pp][Ee] RETURN(syCType); -[Cc][Uu][Ss][Ee][Rr][Tt][Yy][Pp][Ee] RETURN(syCUserType); -[Cc][Ss][Ee][Rr][Vv][Ee][Rr][Tt][Yy][Pp][Ee] RETURN(syCServerType); -[Cc]_[Ss][Tt][Rr][Ii][Nn][Gg] RETURN(syCString); - -[Ii][Ss][Ll][Oo][Nn][Gg] FRETURN(flLong); -[Ii][Ss][Nn][Oo][Tt][Ll][Oo][Nn][Gg] FRETURN(flNotLong); -[Dd][Ee][Aa][Ll][Ll][Oo][Cc] FRETURN(flDealloc); -[Nn][Oo][Tt][Dd][Ee][Aa][Ll][Ll][Oo][Cc] FRETURN(flNotDealloc); -[Ss][Ee][Rr][Vv][Ee][Rr][Cc][Oo][Pp][Yy] FRETURN(flServerCopy); -[Cc][Oo][Uu][Nn][Tt][Ii][Nn][Oo][Uu][Tt] FRETURN(flCountInOut); -[Rr][Ee][Tt][Cc][Oo][Dd][Ee] FRETURN(flNone); - -[Pp][Oo][Ll][Yy][Mm][Oo][Rr][Pp][Hh][Ii][Cc] TRETURN(MACH_MSG_TYPE_POLYMORPHIC,word_size_in_bits); +(?i:routine) RETURN(syRoutine); +(?i:function) RETURN(syFunction); +(?i:procedure) RETURN(syProcedure); +(?i:simpleprocedure) RETURN(sySimpleProcedure); +(?i:simpleroutine) RETURN(sySimpleRoutine); +(?i:subsystem) RETURN(sySubsystem); +(?i:msgoption) RETURN(syMsgOption); +(?i:msgseqno) RETURN(syMsgSeqno); +(?i:waittime) RETURN(syWaitTime); +(?i:nowaittime) RETURN(syNoWaitTime); +(?i:in) RETURN(syIn); +(?i:out) RETURN(syOut); +(?i:inout) RETURN(syInOut); +(?i:requestport) RETURN(syRequestPort); +(?i:replyport) RETURN(syReplyPort); +(?i:ureplyport) RETURN(syUReplyPort); +(?i:sreplyport) RETURN(sySReplyPort); +(?i:array) RETURN(syArray); +(?i:of) RETURN(syOf); +(?i:error) RETURN(syErrorProc); +(?i:serverprefix) RETURN(syServerPrefix); +(?i:userprefix) RETURN(syUserPrefix); +(?i:serverdemux) RETURN(syServerDemux); +(?i:rcsid) RETURN(syRCSId); +(?i:import) RETURN(syImport); +(?i:uimport) RETURN(syUImport); +(?i:simport) RETURN(sySImport); +(?i:type) RETURN(syType); +(?i:kernelserver) RETURN(syKernelServer); +(?i:kerneluser) RETURN(syKernelUser); +(?i:skip) RETURN(sySkip); +(?i:struct) RETURN(syStruct); +(?i:intran) RETURN(syInTran); +(?i:intranpayload) RETURN(syInTranPayload); +(?i:outtran) RETURN(syOutTran); +(?i:destructor) RETURN(syDestructor); +(?i:ctype) RETURN(syCType); +(?i:cusertype) RETURN(syCUserType); +(?i:cservertype) RETURN(syCServerType); +(?i:c_string) RETURN(syCString); + +(?i:islong) FRETURN(flLong); +(?i:isnotlong) FRETURN(flNotLong); +(?i:dealloc) FRETURN(flDealloc); +(?i:notdealloc) FRETURN(flNotDealloc); +(?i:servercopy) FRETURN(flServerCopy); +(?i:countinout) FRETURN(flCountInOut); +(?i:retcode) FRETURN(flNone); + +(?i:polymorphic) TRETURN(MACH_MSG_TYPE_POLYMORPHIC,word_size_in_bits); "MACH_MSG_TYPE_UNSTRUCTURED" TRETURN(MACH_MSG_TYPE_UNSTRUCTURED,0); "MACH_MSG_TYPE_BIT" TRETURN(MACH_MSG_TYPE_BIT,1); -- cgit v1.2.3