📄 ij.jj
字号:
v.addElement(LocalizedResource.getMessage("IJ_NoCurreConne")); } return new ijVectorResult(v,w); } private Object makeXid(int xid) { return null; } }PARSER_END(ij)/* WHITE SPACE */SKIP :{ " "| "\t"| "\r\n"| "\n"| "\r"| "\f"}// sqlgrammar only recognizes --, so that's all we will recognize as well.SPECIAL_TOKEN : /* COMMENTS */{ <SINGLE_LINE_SQLCOMMENT: "--" (~["\n","\r"])* ("\n"|"\r"|"\r\n")>//| <SINGLE_LINE_COMMENT: "//" (~["\n","\r"])* ("\n"|"\r"|"\r\n")>//| <FORMAL_COMMENT: "/**" (~["*"])* "*" ("*" | (~["*","/"] (~["*"])* "*"))* "/">//| <MULTI_LINE_COMMENT: "/*" (~["*"])* "*" ("*" | (~["*","/"] (~["*"])* "*"))* "/">}TOKEN [IGNORE_CASE] :{ /* ij Keywords */ <ABSOLUTE: "absolute">| <AFTER: "after">| <ALL: "all">| <AS: "as">| <ASYNC: "async">| <ATTRIBUTES: "attributes">| <AUTOCOMMIT: "autocommit">| <BANG: "!">| <BEFORE: "before">| <CLOSE: "close">| <COMMIT: "commit">| <CONNECT: "connect">| <CONNECTION: "connection">| <CONNECTIONS: "connections">| <CURRENT: "current">| <CURSOR: "cursor">| <DISCONNECT: "disconnect">| <DRIVER: "driver">| <ELAPSEDTIME: "elapsedtime">| <END: "end">| <EQUALS_OPERATOR: "=">| <EXECUTE: "execute">| <EXIT: "exit">| <EXPECT: "expect">| <FAIL: "fail">| <FIRST: "first">| <FOR: "for">| <GET: "get">| <GETCURRENTROWNUMBER: "getcurrentrownumber">| <HOLD: "hold">| <HELP: "help">| <INSENSITIVE: "insensitive">| <INTO: "into">| <LAST: "last">| <LOCALIZEDDISPLAY: "localizeddisplay">| <MAXIMUMDISPLAYWIDTH: "maximumdisplaywidth">| <NAME: "name">| <NEXT: "next">| <NOHOLD: "nohold">| <NOHOLDFORCONNECTION: "noholdforconnection">| <OFF: "off">| <ON: "on">| <PASSWORD: "password">| <PERIOD: ".">| <PREPARE: "prepare">| <PREVIOUS: "previous">| <PROCEDURE: "procedure">| <PROPERTIES: "properties">| <PROTOCOL: "protocol">| <QUIT: "quit">| <READONLY: "readonly">| <RELATIVE: "relative">| <REMOVE: "remove">| <RESOURCE: "resource">| <ROLLBACK: "rollback">| <RUN: "run">| <TO: "to">| <SAVEPOINT: "savepoint">| <SCROLL: "scroll">| <SENSITIVE: "sensitive">| <SET: "set">| <SHOW: "show">| <SHUTDOWN: "shutdown">| <STATEMENT: "statement">| <USER: "user">| <USING: "using">| <WAIT: "wait">| <WITH: "with">| <XA_1PHASE: "XA_1phase">| <XA_2PHASE: "XA_2phase">| <XA_DATASOURCE: "XA_datasource">| <XA_CONNECT: "XA_connect">| <XA_COMMIT: "XA_commit">| <XA_DISCONNECT: "XA_disconnect">| <XA_END: "XA_end">| <XA_ENDRSCAN: "XA_endrscan">| <XA_FAIL: "XA_fail">| <XA_FORGET: "XA_forget">| <XA_GETCONNECTION: "XA_getconnection">| <XA_JOIN: "XA_join">| <XA_NOFLAGS: "XA_noflags">| <XA_PREPARE: "XA_prepare">| <XA_RECOVER: "XA_recover">| <XA_RESUME: "XA_resume">| <XA_ROLLBACK: "XA_rollback">| <XA_START: "XA_start">| <XA_STARTRSCAN: "XA_startrscan">| <XA_SUCCESS: "XA_success">| <XA_SUSPEND: "XA_suspend">| <DATASOURCE: "datasource">| <CP_DATASOURCE: "CP_datasource">| <CP_CONNECT: "CP_connect">| <CP_GETCONNECTION: "CP_getconnection">| <CP_DISCONNECT: "CP_disconnect">| <WORK : "work">}TOKEN :{ /* Operators and punctuation -- to avoid lexical errors for SQL-J stuff, mostly */ <COMMA: ",">| <LEFT_PAREN: "(">| <RIGHT_PAREN: ")">| <DOUBLE_QUOTE: "\"">| <HASH: "#">| <MINUS_SIGN: "-">| <PLUS_SIGN: "+">}/**TOKEN :{ <IDENTIFIER: ["a"-"z","A"-"Z"](["a"-"z","A"-"Z","_","0"-"9"])*>}*/TOKEN :{ /* Identifiers */ <IDENTIFIER: ( <LETTER> | "_" ) (<LETTER> | "_" | <DIGIT>)* >}TOKEN:{ <#LETTER: [ "a"-"z", "A"-"Z", "\u00aa", "\u00b5", "\u00ba", "\u00c0" - "\u00d6", "\u00d8" - "\u00f6", "\u00f8" - "\u01f5", "\u01fa" - "\u0217", "\u0250" - "\u02a8", "\u02b0" - "\u02b8", "\u02bb" - "\u02c1", "\u02d0" - "\u02d1", "\u02e0" - "\u02e4", "\u037a", "\u0386", "\u0388" - "\u038a", "\u038c", "\u038e" - "\u03a1", "\u03a3" - "\u03ce", "\u03d0" - "\u03d6", "\u03da", "\u03dc", "\u03de", "\u03e0", "\u03e2" - "\u03f3", "\u0401" - "\u040c", "\u040e" - "\u044f", "\u0451" - "\u045c", "\u045e" - "\u0481", "\u0490" - "\u04c4", "\u04c7" - "\u04c8", "\u04cb" - "\u04cc", "\u04d0" - "\u04eb", "\u04ee" - "\u04f5", "\u04f8" - "\u04f9", "\u0531" - "\u0556", "\u0559", "\u0561" - "\u0587", "\u05d0" - "\u05ea", "\u05f0" - "\u05f2", "\u0621" - "\u063a", "\u0640" - "\u064a", "\u0671" - "\u06b7", "\u06ba" - "\u06be", "\u06c0" - "\u06ce", "\u06d0" - "\u06d3", "\u06d5", "\u06e5" - "\u06e6", "\u0905" - "\u0939", "\u093d", "\u0958" - "\u0961", "\u0985" - "\u098c", "\u098f" - "\u0990", "\u0993" - "\u09a8", "\u09aa" - "\u09b0", "\u09b2", "\u09b6" - "\u09b9", "\u09dc" - "\u09dd", "\u09df" - "\u09e1", "\u09f0" - "\u09f1", "\u0a05" - "\u0a0a", "\u0a0f" - "\u0a10", "\u0a13" - "\u0a28", "\u0a2a" - "\u0a30", "\u0a32" - "\u0a33", "\u0a35" - "\u0a36", "\u0a38" - "\u0a39", "\u0a59" - "\u0a5c", "\u0a5e", "\u0a72" - "\u0a74", "\u0a85" - "\u0a8b", "\u0a8d", "\u0a8f" - "\u0a91", "\u0a93" - "\u0aa8", "\u0aaa" - "\u0ab0", "\u0ab2" - "\u0ab3", "\u0ab5" - "\u0ab9", "\u0abd", "\u0ae0", "\u0b05" - "\u0b0c", "\u0b0f" - "\u0b10", "\u0b13" - "\u0b28", "\u0b2a" - "\u0b30", "\u0b32" - "\u0b33", "\u0b36" - "\u0b39", "\u0b3d", "\u0b5c" - "\u0b5d", "\u0b5f" - "\u0b61", "\u0b85" - "\u0b8a", "\u0b8e" - "\u0b90", "\u0b92" - "\u0b95", "\u0b99" - "\u0b9a", "\u0b9c", "\u0b9e" - "\u0b9f", "\u0ba3" - "\u0ba4", "\u0ba8" - "\u0baa", "\u0bae" - "\u0bb5", "\u0bb7" - "\u0bb9", "\u0c05" - "\u0c0c", "\u0c0e" - "\u0c10", "\u0c12" - "\u0c28", "\u0c2a" - "\u0c33", "\u0c35" - "\u0c39", "\u0c60" - "\u0c61", "\u0c85" - "\u0c8c", "\u0c8e" - "\u0c90", "\u0c92" - "\u0ca8", "\u0caa" - "\u0cb3", "\u0cb5" - "\u0cb9", "\u0cde", "\u0ce0" - "\u0ce1", "\u0d05" - "\u0d0c", "\u0d0e" - "\u0d10", "\u0d12" - "\u0d28", "\u0d2a" - "\u0d39", "\u0d60" - "\u0d61", "\u0e01" - "\u0e2e", "\u0e30", "\u0e32" - "\u0e33", "\u0e40" - "\u0e46", "\u0e81" - "\u0e82", "\u0e84", "\u0e87" - "\u0e88", "\u0e8a", "\u0e8d", "\u0e94" - "\u0e97", "\u0e99" - "\u0e9f", "\u0ea1" - "\u0ea3", "\u0ea5", "\u0ea7", "\u0eaa" - "\u0eab", "\u0ead" - "\u0eae", "\u0eb0", "\u0eb2" - "\u0eb3", "\u0ebd", "\u0ec0" - "\u0ec4", "\u0ec6", "\u0edc" - "\u0edd", "\u0f40" - "\u0f47", "\u0f49" - "\u0f69", "\u10a0" - "\u10c5", "\u10d0" - "\u10f6", "\u1100" - "\u1159", "\u115f" - "\u11a2", "\u11a8" - "\u11f9", "\u1e00" - "\u1e9b", "\u1ea0" - "\u1ef9", "\u1f00" - "\u1f15", "\u1f18" - "\u1f1d", "\u1f20" - "\u1f45", "\u1f48" - "\u1f4d", "\u1f50" - "\u1f57", "\u1f59", "\u1f5b", "\u1f5d", "\u1f5f" - "\u1f7d", "\u1f80" - "\u1fb4", "\u1fb6" - "\u1fbc", "\u1fbe", "\u1fc2" - "\u1fc4", "\u1fc6" - "\u1fcc", "\u1fd0" - "\u1fd3", "\u1fd6" - "\u1fdb", "\u1fe0" - "\u1fec", "\u1ff2" - "\u1ff4", "\u1ff6" - "\u1ffc", "\u207f", "\u2102", "\u2107", "\u210a" - "\u2113", "\u2115", "\u2118" - "\u211d", "\u2124", "\u2126", "\u2128", "\u212a" - "\u2131", "\u2133" - "\u2138", "\u3005", "\u3031" - "\u3035", "\u3041" - "\u3094", "\u309b" - "\u309e", "\u30a1" - "\u30fa", "\u30fc" - "\u30fe", "\u3105" - "\u312c", "\u3131" - "\u318e", "\u4e00" - "\u9fa5", "\uac00" - "\ud7a3", "\uf900" - "\ufa2d", "\ufb00" - "\ufb06", "\ufb13" - "\ufb17", "\ufb1f" - "\ufb28", "\ufb2a" - "\ufb36", "\ufb38" - "\ufb3c", "\ufb3e", "\ufb40" - "\ufb41", "\ufb43" - "\ufb44", "\ufb46" - "\ufbb1", "\ufbd3" - "\ufd3d", "\ufd50" - "\ufd8f", "\ufd92" - "\ufdc7", "\ufdf0" - "\ufdfb", "\ufe70" - "\ufe72", "\ufe74", "\ufe76" - "\ufefc", "\uff21" - "\uff3a", "\uff41" - "\uff5a", "\uff66" - "\uffbe", "\uffc2" - "\uffc7", "\uffca" - "\uffcf", "\uffd2" - "\uffd7", "\uffda" - "\uffdc" ]>}TOKEN :{ <#DIGIT: [ "0" - "9", "\u0660" - "\u0669", "\u06f0" - "\u06f9", "\u0966" - "\u096f", "\u09e6" - "\u09ef", "\u0a66" - "\u0a6f", "\u0ae6" - "\u0aef", "\u0b66" - "\u0b6f", "\u0be7" - "\u0bef", "\u0c66" - "\u0c6f", "\u0ce6" - "\u0cef", "\u0d66" - "\u0d6f", "\u0e50" - "\u0e59", "\u0ed0" - "\u0ed9", "\u0f20" - "\u0f29", "\uff10" - "\uff19" ]>}TOKEN :{ /* Literals */ <INTEGER: (["0" - "9"])+ >| <STRING: "'" ( "''" | ~["'"] ) * "'">}//// start of BNF rules//ijResultijStatement() throws SQLException:{ ijResult r = null;}{( LOOKAHEAD( { getToken(1).kind == ROLLBACK && (!(getToken(3).kind == TO || getToken(3).kind == SAVEPOINT)) }) r=RollbackStatement() | r=AbsoluteStatement()| r=AfterLastStatement()| r=AutocommitStatement()| r=AsyncStatement() | r=Bang() | r=BeforeFirstStatement()| r=CloseStatement()| r=CommitStatement()| r=ConnectStatement()| r=DisconnectStatement()| r=DriverStatement()| r=ElapsedTimeStatement() | r=ExecuteStatement() | r=FirstStatement() | r=FirstStatement() | r=JBMSPreparedStatementExec() | r=F2KExecuteProcedure() | r=ExitStatement()| r=ExpectStatement()| r=GetCursorStatement() | r=GetCurrentRowNumber() | r=HelpStatement() | r=IllegalStatementName()| r=LastStatement() | r=LocalizedDisplay()| r=MaximumDisplayWidthStatement() | r=NextStatement() | r=NoHoldForConnectionStatement() | r=PrepareStatement()| r=PreviousStatement() | r=ProtocolStatement()| r=ReadOnlyStatement()| r=RelativeStatement() | r=RemoveStatement() | r=RunStatement() | r=SetConnectionStatement() | r=ShowConnectionsStatement() | r=WaitForStatement() | r=XA_DataSourceStatement()| r=XA_ConnectStatement()| r=XA_CommitStatement()| r=XA_DisconnectStatement()| r=XA_GetConnectionStatement()| r=XA_EndStatement()| r=XA_ForgetStatement()| r=XA_PrepareStatement()| r=XA_RecoverStatement()| r=XA_RollbackStatement()| r=XA_StartStatement() | r=DataSourceStatement()| r=CP_DataSourceStatement()| r=CP_ConnectStatement()| r=CP_GetConnectionStatement()| r=CP_DisconnectStatement())? <EOF> { return r; }}/** * ProtocolStatement is PROTOCOL 'JDBC protocol' where * the protocol is used to prefix any connect request that * cannot find a driver. We will take a stab at loading * a driver as each protocol comes in -- we only know about * two. */ijResultProtocolStatement()throws SQLException:{ Token t; String n = null;}{ <PROTOCOL> t=<STRING> [ <AS> n=identifier() ] { installProtocol(n, stringValue(t.image)); return null; }}/** * DriverStatement is DRIVER 'class' where class is the * name of a class that is a JDBC driver. It is loaded * into the DriverManager with a Class.forName call. * <p> * You can load as many drivers as you want, the idea is * to load up the appropriate one(s) for the connect(s) * that you will be issuing.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -