瀏覽代碼

Tightened up evaluator code to eliminate un-necessary attempts to match precise tokens.


git-svn-id: https://svn.microneil.com/svn/SNFMulti/trunk@64 dc71a809-1921-45c4-985c-09c81d0142d9
wx
madscientist 9 年之前
父節點
當前提交
a8394a591c
共有 2 個文件被更改,包括 14 次插入3 次删除
  1. 1
    1
      SNFMulti.cpp
  2. 13
    2
      snf_engine.cpp

+ 1
- 1
SNFMulti.cpp 查看文件

@@ -25,7 +25,7 @@ using namespace std;

//// Version Info

const char* SNF_ENGINE_VERSION = "SNFMulti Engine Version 3.1.4 Build: " __DATE__ " " __TIME__;
const char* SNF_ENGINE_VERSION = "SNFMulti Engine Version 3.1.5 Build: " __DATE__ " " __TIME__;

//// Script Caller Methods


+ 13
- 2
snf_engine.cpp 查看文件

@@ -325,7 +325,7 @@ void Evaluator::tryFollowingWildAnythingPath() {
}
void Evaluator::doFollowerJumpTable(unsigned short int i) {
tryFollowingPrecisePath(i);
// tryFollowingPrecisePath(i);
// tryFollowingUppercasePath(); 0x41 - 0x5A
// tryFollowingWildAlphaPath(); 0x61 - 0x7A
// tryFollowingWildDigitPath(); 0x30 - 0x39
@@ -335,7 +335,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
switch(i) {
// These only match Precise, or WildAnything ...
// These nnly match WildAnything because they conflict with special check values...
// NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, TAB, LF, VT, FF, CR, SO, SI
case 0x00: case 0x01: case 0x02: case 0x03: case 0x04: case 0x05: case 0x06: case 0x07:
case 0x08: {
@@ -344,6 +344,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// tab
case 0x09: {
tryFollowingPrecisePath(i);
tryFollowingWildWhitePath();
tryFollowingWildInlinePath();
break;
@@ -355,12 +356,14 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US
case 0x10: case 0x11: case 0x12: case 0x13: case 0x14: case 0x15: case 0x16: case 0x17:
case 0x18: case 0x19: case 0x1A: case 0x1B: case 0x1C: case 0x1D: case 0x1E: case 0x1F: {
tryFollowingPrecisePath(i);
tryFollowingWildWhitePath();
break;
}
// the final fronteer
case 0x20: {
tryFollowingPrecisePath(i);
tryFollowingWildWhitePath();
tryFollowingWildInlinePath();
break;
@@ -369,6 +372,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// ! " # $ % & ' ( ) * + , - . /
case 0x21: case 0x22: case 0x23: case 0x24: case 0x25: case 0x26: case 0x27:
case 0x28: case 0x29: case 0x2A: case 0x2B: case 0x2C: case 0x2D: case 0x2E: case 0x2F: {
tryFollowingPrecisePath(i);
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
break;
@@ -377,6 +381,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// 0 - 9
case 0x30: case 0x31: case 0x32: case 0x33: case 0x34: case 0x35: case 0x36: case 0x37:
case 0x38: case 0x39: {
tryFollowingPrecisePath(i);
tryFollowingWildDigitPath();
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
@@ -386,6 +391,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// : ; < = > ? @
case 0x3A: case 0x3B: case 0x3C: case 0x3D: case 0x3E: case 0x3F:
case 0x40: {
tryFollowingPrecisePath(i);
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
break;
@@ -396,6 +402,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
case 0x48: case 0x49: case 0x4A: case 0x4B: case 0x4C: case 0x4D: case 0x4E: case 0x4F:
case 0x50: case 0x51: case 0x52: case 0x53: case 0x54: case 0x55: case 0x56: case 0x57:
case 0x58: case 0x59: case 0x5A: {
tryFollowingPrecisePath(i);
tryFollowingNoCasePath(i);
tryFollowingWildAlphaPath();
tryFollowingWildNonWhitePath();
@@ -406,6 +413,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// [ \ ] ^ _ `
case 0x5B: case 0x5C: case 0x5D: case 0x5E: case 0x5F:
case 0x60: {
tryFollowingPrecisePath(i);
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
break;
@@ -416,6 +424,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
case 0x68: case 0x69: case 0x6A: case 0x6B: case 0x6C: case 0x6D: case 0x6E: case 0x6F:
case 0x70: case 0x71: case 0x72: case 0x73: case 0x74: case 0x75: case 0x76: case 0x77:
case 0x78: case 0x79: case 0x7A: {
tryFollowingPrecisePath(i);
tryFollowingWildAlphaPath();
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
@@ -424,6 +433,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
// { | } ~
case 0x7B: case 0x7C: case 0x7D: case 0x7E: case 0x7F: {
tryFollowingPrecisePath(i);
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
}
@@ -445,6 +455,7 @@ void Evaluator::doFollowerJumpTable(unsigned short int i) {
case 0xE8: case 0xE9: case 0xEA: case 0xEB: case 0xEC: case 0xED: case 0xEE: case 0xEF:
case 0xF0: case 0xF1: case 0xF2: case 0xF3: case 0xF4: case 0xF5: case 0xF6: case 0xF7:
case 0xF8: case 0xF9: case 0xFA: case 0xFB: case 0xFC: case 0xFD: case 0xFE: case 0xFF: {
tryFollowingPrecisePath(i);
tryFollowingWildNonWhitePath();
tryFollowingWildInlinePath();
break;

Loading…
取消
儲存