コード例 #1
0
        protected override void OnCreateTable(ITableConstructor def)
        {
            def.SetStateFail(INITIAL_STATE);
            def.SetStateSuccessEOF(INITIAL_STATE);
            def.SetState(INITIAL_STATE, INITIAL_STATE, " \t\r\n");

            def.SetState(INITIAL_STATE, STATE_IDENT, "a-zA-Z", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(STATE_IDENT, INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_IDENT);
            def.SetState(STATE_IDENT, STATE_IDENT, "a-zA-Z0-9", eStateModifiers.e03InsertToken);

            def.SetState(INITIAL_STATE, STATE_NUMERO, "0-9", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(STATE_NUMERO, INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_NUMERO);
            def.SetState(STATE_NUMERO, STATE_NUMERO, "0-9", eStateModifiers.e03InsertToken);

            def.SetState(INITIAL_STATE, INITIAL_STATE, "=", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken | eStateModifiers.e04ReturnToken | eStateModifiers.e05ClearToken, TOKEN_IGUAL);
            def.SetState(INITIAL_STATE, INITIAL_STATE, ";", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken | eStateModifiers.e04ReturnToken | eStateModifiers.e05ClearToken, TOKEN_PONTO_VIRGULA);
            def.SetState(INITIAL_STATE, INITIAL_STATE, "(", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken | eStateModifiers.e04ReturnToken | eStateModifiers.e05ClearToken, TOKEN_ABRE_PAR);
            def.SetState(INITIAL_STATE, INITIAL_STATE, ")", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken | eStateModifiers.e04ReturnToken | eStateModifiers.e05ClearToken, TOKEN_FECHAR_PAR);

            def.SetState(INITIAL_STATE, STATE_STRING, "\"", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(STATE_STRING, STATE_STRING, eStateModifiers.e03InsertToken);
            def.SetStateFailEOF(STATE_STRING);
            def.SetState(STATE_STRING, INITIAL_STATE, "\"", eStateModifiers.e03InsertToken | eStateModifiers.e04ReturnToken | eStateModifiers.e05ClearToken, TOKEN_STRING);
            def.SetState(STATE_STRING, STATE_STRING1, "\\", eStateModifiers.e03InsertToken);
            def.SetState(STATE_STRING1, STATE_STRING, eStateModifiers.e03InsertToken);
            def.SetStateFailEOF(STATE_STRING1);
        }
コード例 #2
0
ファイル: TesteScanner.cs プロジェクト: bazoocaze/CsFun
        protected override void OnCreateTable(ITableConstructor def)
        {
            def.SetStateFail(INITIAL_STATE);
            def.SetStateSuccessEOF(Scanner.INITIAL_STATE);
            def.SetState(Scanner.INITIAL_STATE, Scanner.INITIAL_STATE, " \t\r\n");

            def.SetState(Scanner.INITIAL_STATE, STATE_STRING, "a-zA-Z", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(STATE_STRING, Scanner.INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_STRING);
            def.SetState(STATE_STRING, STATE_STRING, "a-zA-Z", eStateModifiers.e03InsertToken);

            def.SetState(Scanner.INITIAL_STATE, STATE_NUMBER, "0-9", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(STATE_NUMBER, Scanner.INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_NUMBER);
            def.SetState(STATE_NUMBER, STATE_NUMBER, "0-9", eStateModifiers.e03InsertToken);

            def.SetState(STATE_NUMBER, STATE_DATE, "-/", eStateModifiers.e03InsertToken);
            def.SetState(STATE_DATE, Scanner.INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_DATE);
            def.SetState(STATE_DATE, STATE_DATE, "-/Tt:0-9", eStateModifiers.e03InsertToken);
        }
コード例 #3
0
ファイル: TesteScanner2.cs プロジェクト: bazoocaze/CsFun
        protected override void OnCreateTable(ITableConstructor def)
        {
            def.SetStateFail(INITIAL_STATE);
            def.SetStateSuccessEOF(INITIAL_STATE);

            def.SetState(INITIAL_STATE, INITIAL_STATE, " \t\r\n");
            def.SetState(INITIAL_STATE, 10, "a-zA-Z", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(INITIAL_STATE, 11, "z", eStateModifiers.e02ClearToken | eStateModifiers.e03InsertToken);
            def.SetState(INITIAL_STATE, 20, "\"", eStateModifiers.e02ClearToken);

            def.SetState(10, INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_STRING1);
            def.SetState(10, 10, "a-zA-Z", eStateModifiers.e03InsertToken);
            def.SetState(10, 11, "z", eStateModifiers.e03InsertToken);

            def.SetState(11, INITIAL_STATE, eStateModifiers.e01ReturnToken | eStateModifiers.e10PushBack, TOKEN_STRING2);
            def.SetState(11, 10, "a-zA-Z", eStateModifiers.e03InsertToken);
            def.SetState(11, 11, "z", eStateModifiers.e03InsertToken);

            // def.SetState(20, INITIAL_STATE, eScannerStateModifiers.e01ReturnToken | eScannerStateModifiers.e10PushBack, TOKEN_STRING_ASPAS);
            def.SetState(20, 20, eStateModifiers.e03InsertToken);
            def.SetStateFailEOF(20);
            def.SetState(20, INITIAL_STATE, "\"", eStateModifiers.e04ReturnToken, TOKEN_STRING_ASPAS);
        }
コード例 #4
0
 protected override abstract void OnCreateTable(ITableConstructor def);
コード例 #5
0
 protected override void InitTable(ITableConstructor def)
 {
     OnCreateTable(def);
 }
コード例 #6
0
 protected override void OnCreateTable(ITableConstructor def)
 {
     throw new NotImplementedException();
 }
コード例 #7
0
 protected abstract void InitTable(ITableConstructor def);