Changeset 5286


Ignore:
Timestamp:
12/30/03 19:27:59 (17 years ago)
Author:
piso
Message:

Refactoring.

Location:
trunk/j/src/org/armedbear/j
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/j/src/org/armedbear/j/CTagger.java

    r315 r5286  
    33 *
    44 * Copyright (C) 1998-2002 Peter Graves
    5  * $Id: CTagger.java,v 1.7 2002-11-26 02:08:44 piso Exp $
     5 * $Id: CTagger.java,v 1.8 2003-12-30 19:27:59 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    7878                    state = NEUTRAL;
    7979                    continue;
    80                 } else if (isIdentifierStart(c)) {
     80                } else if (mode.isIdentifierStart(c)) {
    8181                    state = PARAMETER_LIST;
    8282                    pos.next();
     
    108108                continue;
    109109            }
    110             if (isIdentifierStart(c)) {
     110            if (mode.isIdentifierStart(c)) {
    111111                tokenStart = pos.copy();
    112112                String s = gatherToken(pos);
     
    163163        FastStringBuffer sb = new FastStringBuffer();
    164164        char c;
    165         while (isIdentifierPart(c = pos.getChar())) {
     165        while (mode.isIdentifierPart(c = pos.getChar())) {
    166166            sb.append(c);
    167167            if (!pos.next())
     
    205205        return sb.toString();
    206206    }
    207 
    208     // Also used in CppTagger.java.
    209     /*package*/ static void skipPreprocessor(Position pos)
    210     {
    211         while (true) {
    212             Line line = pos.getLine();
    213             Line nextLine = line.next();
    214             if (nextLine == null) {
    215                 pos.setOffset(line.length());
    216                 return;
    217             }
    218             pos.moveTo(nextLine, 0);
    219             if (line.length() == 0 || line.charAt(line.length()-1) != '\\')
    220                 return;
    221         }
    222     }
    223 
    224     private static final boolean isIdentifierStart(char c)
    225     {
    226         if (c >= 'a' && c <= 'z')
    227             return true;
    228         if (c >='A' && c <= 'Z')
    229             return true;
    230         if (c == '_')
    231             return true;
    232         return false;
    233     }
    234 
    235     private static final boolean isIdentifierPart(char c)
    236     {
    237         if (c >= 'a' && c <= 'z')
    238             return true;
    239         if (c >='A' && c <= 'Z')
    240             return true;
    241         if (c >= '0' && c <= '9')
    242             return true;
    243         if (c == '_')
    244             return true;
    245         return false;
    246     }
    247207}
  • trunk/j/src/org/armedbear/j/CppTagger.java

    r216 r5286  
    22 * CppTagger.java
    33 *
    4  * Copyright (C) 1998-2002 Peter Graves
     4 * Copyright (C) 1998-2003 Peter Graves
    55 *
    66 * This program is free software; you can redistribute it and/or
     
    2121package org.armedbear.j;
    2222
     23import java.util.ArrayList;
    2324import java.util.Stack;
    24 import java.util.ArrayList;
    2525
    2626public final class CppTagger extends JavaTagger implements Constants
     
    6969            }
    7070            if (c == '#' && pos.getOffset() == 0) {
    71                 CTagger.skipPreprocessor(pos);
     71                skipPreprocessor(pos);
    7272                continue;
    7373            }
  • trunk/j/src/org/armedbear/j/ObjCTagger.java

    r5282 r5286  
    33 *
    44 * Copyright (C) 2003 Peter Graves
    5  * $Id: ObjCTagger.java,v 1.1 2003-12-30 17:33:31 piso Exp $
     5 * $Id: ObjCTagger.java,v 1.2 2003-12-30 19:25:17 piso Exp $
    66 *
    77 * This program is free software; you can redistribute it and/or
     
    3434    private static final int PARAMETER_LIST = 3;
    3535
    36     private CMode mode = (CMode) CMode.getMode();
     36    private Mode mode = ObjCMode.getMode();
    3737
    3838    public ObjCTagger(SystemBuffer buffer)
     
    6767            }
    6868            if (c == '#' && pos.getOffset() == 0) {
    69                 CTagger.skipPreprocessor(pos);
     69                skipPreprocessor(pos);
    7070                continue;
    7171            }
     
    164164    private static final boolean isIdentifierStart(char c)
    165165    {
    166         if (c >= 'a' && c <= 'z')
    167             return true;
    168         if (c >='A' && c <= 'Z')
    169             return true;
    170         if (c == '_')
    171             return true;
    172         return false;
     166        return CMode.getMode().isIdentifierStart(c);
    173167    }
    174168
    175169    private static final boolean isIdentifierPart(char c)
    176170    {
    177         if (c >= 'a' && c <= 'z')
    178             return true;
    179         if (c >='A' && c <= 'Z')
    180             return true;
    181         if (c >= '0' && c <= '9')
    182             return true;
    183         if (c == '_')
    184             return true;
    185         return false;
     171        return CMode.getMode().isIdentifierPart(c);
    186172    }
    187173}
Note: See TracChangeset for help on using the changeset viewer.