コード例 #1
0
ファイル: RegParser.cpp プロジェクト: GHScan/DailyProjects
 void _rangeCharSeq(RegNode_Charset* node)
 {
     for (;;) {
         if (_specialCharset(node) || _char(node)) continue;
         if (cur() == '-') {
             char first = pre();
             consume();
             char last = cur();
             ASSERT(_char(node));
             while (++first < last) node->chars[first] = true;
         }
         else break;
     }
 }
コード例 #2
0
ファイル: RegParser.cpp プロジェクト: GHScan/DailyProjects
 RegNodePtr _term()
 {
     if (auto r = _capture()) return r;
     else if (auto r = _rangeCharset()) return r;
     else {
         auto p = new RegNode_Charset;
         RegNodePtr r2(p);
         if (_specialCharset(p) || _char(p)) {
             return r2;
         }
         else return RegNodePtr();
     }
 }
コード例 #3
0
ファイル: led.c プロジェクト: akkana/arduino
static void
_led_puts (int fd, char *s)
{
    uint8_t buf[4];
    char *p = s;
    int i = 0;

    memset (buf, 0, sizeof (buf));
    for (i = 0, p = s; *p != '\0' && i < 4; p++) {
        if (*p == '.' && i == 0)
            buf[i++] = 0x80;
        else if (*p == '.' && i > 0)
            buf[i - 1] |= 0x80;
        else
            buf[i++] = _char(*p);
    }
    _led_display (fd, buf);
}