Changeset 3619
- Timestamp:
- Mar 30, 2008, 4:26:32 PM (13 years ago)
- Location:
- devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt
- Files:
-
- 9 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/Checker.java
r3566 r3619 12 12 ImportChecker.check(astImplem, astEnv); 13 13 NameChecker.check(astImplem, msgHandler); 14 Exp Checker.check(astImplem, msgHandler);14 ExprChecker.check(astImplem, msgHandler); 15 15 FormatChecker.check(astImplem, msgHandler); 16 16 FenceAndCutChecker.check(astImplem, msgHandler); -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/ExprChecker.java
r3602 r3619 38 38 import org.refal.rfpdt.ast.SentenceVisitor; 39 39 40 public class Exp Checker implements ProgramVisitor, SentenceVisitor {40 public class ExprChecker implements ProgramVisitor, SentenceVisitor { 41 41 private static final class Container { 42 42 public boolean noError = true; … … 49 49 50 50 public static void check (AstImplem astImplem, MsgHandler msgHandler) { 51 Exp Checker v = new ExpChecker(msgHandler);51 ExprChecker v = new ExprChecker(msgHandler); 52 52 v.visit(astImplem); 53 53 } … … 61 61 public void visit (AstCharSymbol astCharSymbol, ContainerWithVar e) {} 62 62 63 public void visit (AstExpr astExp , ContainerWithVar e) {63 public void visit (AstExpr astExpr, ContainerWithVar e) { 64 64 ContainerWithVar e1 = new ContainerWithVar(); 65 for (AstTerm astTerm : astExp .termList)65 for (AstTerm astTerm : astExpr.termList) 66 66 astTerm.accept(this, e1); 67 67 e.noError &= e1.noError; … … 102 102 public void visit (AstCharSymbol astCharSymbol, Container e) {} 103 103 104 public void visit (AstExpr astExp , Container e) {105 for (AstTerm astTerm : astExp .termList)104 public void visit (AstExpr astExpr, Container e) { 105 for (AstTerm astTerm : astExpr.termList) 106 106 astTerm.accept(this, e); 107 107 } … … 132 132 public void visit (AstCharSymbol astCharSymbol, Container e) {} 133 133 134 public void visit (AstExpr astExp , Container e) {135 for (AstTerm astTerm : astExp .termList)134 public void visit (AstExpr astExpr, Container e) { 135 for (AstTerm astTerm : astExpr.termList) 136 136 astTerm.accept(this, e); 137 137 } … … 156 156 private final MsgHandler msgHandler; 157 157 158 private Exp Checker (final MsgHandler msgHandler) {158 private ExprChecker (final MsgHandler msgHandler) { 159 159 this.msgHandler = msgHandler; 160 160 } 161 161 162 private void checkFormat (AstExpr astExp ) {162 private void checkFormat (AstExpr astExpr) { 163 163 ContainerWithVar e = new ContainerWithVar(); 164 astExp .accept(new FormatChecker(), e);165 astExp .noError = e.noError;166 } 167 168 private void checkPattern (AstExpr astExp ) {164 astExpr.accept(new FormatChecker(), e); 165 astExpr.noError = e.noError; 166 } 167 168 private void checkPattern (AstExpr astExpr) { 169 169 Container e = new Container(); 170 astExp .accept(new PatternChecker(), e);171 astExp .noError = e.noError;172 } 173 174 private void checkResult (AstExpr astExp ) {170 astExpr.accept(new PatternChecker(), e); 171 astExpr.noError = e.noError; 172 } 173 174 private void checkResult (AstExpr astExpr) { 175 175 Container e = new Container(); 176 astExp .accept(new ResultChecker(), e);177 astExp .noError = e.noError;176 astExpr.accept(new ResultChecker(), e); 177 astExpr.noError = e.noError; 178 178 } 179 179 -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/FormatChecker.java
r3570 r3619 39 39 import org.refal.rfpdt.ast.SentenceVisitorWithEnv; 40 40 41 public class FormatChecker implements ProgramVisitor, SentenceVisitor, SentenceVisitorWithEnv<FormatChecker.RefAstExp >,41 public class FormatChecker implements ProgramVisitor, SentenceVisitor, SentenceVisitorWithEnv<FormatChecker.RefAstExpr>, 42 42 ExprVisitor { 43 private static final class RefAstExp {44 public AstExpr exp ;43 private static final class RefAstExpr { 44 public AstExpr expr; 45 45 public MsgCode msgCode; 46 46 47 public RefAstExp () {48 exp = null;47 public RefAstExpr () { 48 expr = null; 49 49 msgCode = null; 50 50 } 51 51 52 public RefAstExp (AstExpr format, MsgCode msg) {52 public RefAstExpr (AstExpr format, MsgCode msg) { 53 53 if (format.noError) { 54 exp = format;54 expr = format; 55 55 msgCode = msg; 56 56 } 57 57 } 58 58 59 public RefAstExp (RefAstExpref) {60 exp = ref.exp;59 public RefAstExpr (RefAstExpr ref) { 60 expr = ref.expr; 61 61 msgCode = ref.msgCode; 62 62 } 63 63 64 64 public void reset () { 65 exp = null;65 expr = null; 66 66 msgCode = null; 67 67 } … … 69 69 public void set (AstExpr format, MsgCode msg) { 70 70 if (format.noError) { 71 exp = format;71 expr = format; 72 72 msgCode = msg; 73 73 } else … … 89 89 } 90 90 91 private void covers (AstExpr format, AstExpr exp , MsgCode msg) {92 if ((format != null) && format.noError && exp .noError && !FormatMatcher.covers(format, exp))93 msgHandler.send(exp .pos, msg);91 private void covers (AstExpr format, AstExpr expr, MsgCode msg) { 92 if ((format != null) && format.noError && expr.noError && !FormatMatcher.covers(format, expr)) 93 msgHandler.send(expr.pos, msg); 94 94 } 95 95 … … 109 109 inFormat = null; 110 110 } 111 astFuncDef.body.accept(this, new RefAstExp (decl.outFormat, MsgCode.WrongFormatOfFunctionResult));111 astFuncDef.body.accept(this, new RefAstExpr(decl.outFormat, MsgCode.WrongFormatOfFunctionResult)); 112 112 } 113 113 … … 187 187 } 188 188 189 // SentenceVisitorWithEnv<FormatChecker.RefAstExp >190 191 public void visit (AstAlt astAlt, RefAstExp e) {189 // SentenceVisitorWithEnv<FormatChecker.RefAstExpr> 190 191 public void visit (AstAlt astAlt, RefAstExpr e) { 192 192 for (AstSentence astSentence : astAlt.sentenceList) 193 astSentence.accept(this, new RefAstExp (e));194 e.reset(); 195 } 196 197 public void visit (AstCut astCut, RefAstExp e) {}198 199 public void visit (AstCutAll astCutAll, RefAstExp e) {}200 201 public void visit (AstError astError, RefAstExp e) {202 astError.sentence.accept(this, new RefAstExp ());203 e.reset(); 204 } 205 206 public void visit (AstFail astFail, RefAstExp e) {207 e.reset(); 208 } 209 210 public void visit (AstFence astFence, RefAstExp e) {}211 212 public void visit (AstFormat astFormat, RefAstExp e) {193 astSentence.accept(this, new RefAstExpr(e)); 194 e.reset(); 195 } 196 197 public void visit (AstCut astCut, RefAstExpr e) {} 198 199 public void visit (AstCutAll astCutAll, RefAstExpr e) {} 200 201 public void visit (AstError astError, RefAstExpr e) { 202 astError.sentence.accept(this, new RefAstExpr()); 203 e.reset(); 204 } 205 206 public void visit (AstFail astFail, RefAstExpr e) { 207 e.reset(); 208 } 209 210 public void visit (AstFence astFence, RefAstExpr e) {} 211 212 public void visit (AstFormat astFormat, RefAstExpr e) { 213 213 e.set(astFormat.expr, MsgCode.FormatMismatch); 214 214 } 215 215 216 public void visit (AstIter astIter, RefAstExp e) {217 astIter.sentence.accept(this, new RefAstExp (astIter.target, MsgCode.FormatMismatch));216 public void visit (AstIter astIter, RefAstExpr e) { 217 astIter.sentence.accept(this, new RefAstExpr(astIter.target, MsgCode.FormatMismatch)); 218 218 e.set(astIter.target, MsgCode.FormatMismatch); 219 219 } 220 220 221 public void visit (AstName astName, RefAstExp e) {}222 223 public void visit (AstNot astNot, RefAstExp e) {224 astNot.sentence.accept(this, new RefAstExp ());225 e.reset(); 226 } 227 228 public void visit (AstPattern astPattern, RefAstExp e) {229 e.reset(); 230 } 231 232 public void visit (AstResult astResult, RefAstExp e) {233 covers(e.exp , astResult.expr, e.msgCode);221 public void visit (AstName astName, RefAstExpr e) {} 222 223 public void visit (AstNot astNot, RefAstExpr e) { 224 astNot.sentence.accept(this, new RefAstExpr()); 225 e.reset(); 226 } 227 228 public void visit (AstPattern astPattern, RefAstExpr e) { 229 e.reset(); 230 } 231 232 public void visit (AstResult astResult, RefAstExpr e) { 233 covers(e.expr, astResult.expr, e.msgCode); 234 234 astResult.expr.accept(this); 235 235 e.reset(); 236 236 } 237 237 238 public void visit (AstSentence astSentence, RefAstExp e) {238 public void visit (AstSentence astSentence, RefAstExpr e) { 239 239 for (int i = astSentence.statementList.length - 1; i >= 0; i--) 240 240 astSentence.statementList[i].accept(this, e); 241 241 } 242 242 243 public void visit (AstTrap astTrap, RefAstExp e) {244 astTrap.catchSentence.accept(this, new RefAstExp (e));245 astTrap.trySentence.accept(this, new RefAstExp (e));243 public void visit (AstTrap astTrap, RefAstExpr e) { 244 astTrap.catchSentence.accept(this, new RefAstExpr(e)); 245 astTrap.trySentence.accept(this, new RefAstExpr(e)); 246 246 e.reset(); 247 247 } -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/FormatMatcher.java
r3570 r3619 39 39 } 40 40 41 public static boolean covers (AstExpr format, AstExpr exp ) {42 FormatMatcher matcher = new FormatMatcher(format, exp );41 public static boolean covers (AstExpr format, AstExpr expr) { 42 FormatMatcher matcher = new FormatMatcher(format, expr); 43 43 return matcher.match(); 44 44 } … … 152 152 } 153 153 154 private final LinkedList<AstTerm> exp ;154 private final LinkedList<AstTerm> expr; 155 155 156 156 private final LinkedList<AstTerm> format; 157 157 158 private FormatMatcher (AstExpr format, AstExpr exp ) {158 private FormatMatcher (AstExpr format, AstExpr expr) { 159 159 this.format = new LinkedList<AstTerm>(); 160 160 addToList(0, this.format, format.termList); 161 this.exp = new LinkedList<AstTerm>();162 addToList(0, this.exp , exp.termList);161 this.expr = new LinkedList<AstTerm>(); 162 addToList(0, this.expr, expr.termList); 163 163 } 164 164 165 165 private boolean expIsEmpty () { 166 166 for (;;) { 167 if (exp .isEmpty())167 if (expr.isEmpty()) 168 168 return true; 169 for (AstTerm t : exp ) {169 for (AstTerm t : expr) { 170 170 if (!(t instanceof AstCall) && !(t instanceof AstRef)) 171 171 return false; 172 172 } 173 expandFirstTerm(exp );173 expandFirstTerm(expr); 174 174 } 175 175 } … … 177 177 private boolean expMayBeEmpty () { 178 178 for (;;) { 179 if (exp .isEmpty())179 if (expr.isEmpty()) 180 180 return true; 181 181 182 if (isVar(VarType.E, exp .getFirst())) {183 exp .remove();184 continue; 185 } 186 187 for (AstTerm t : exp ) {182 if (isVar(VarType.E, expr.getFirst())) { 183 expr.remove(); 184 continue; 185 } 186 187 for (AstTerm t : expr) { 188 188 if (!isExpandable(t) && !isVar(VarType.E, t)) 189 189 return false; 190 190 } 191 191 192 if (isExpandable(exp .getFirst())) {193 expandFirstTerm(exp );192 if (isExpandable(expr.getFirst())) { 193 expandFirstTerm(expr); 194 194 continue; 195 195 } … … 206 206 if (format.isEmpty()) 207 207 break; 208 if (!exp .isEmpty() && isTheSameRef(format.getFirst(), exp.getFirst())) {208 if (!expr.isEmpty() && isTheSameRef(format.getFirst(), expr.getFirst())) { 209 209 format.removeFirst(); 210 exp .removeFirst();210 expr.removeFirst(); 211 211 continue; 212 212 } … … 215 215 continue; 216 216 } 217 if (!exp .isEmpty() && isExpandable(exp.getFirst())) {218 expandFirstTerm(exp );217 if (!expr.isEmpty() && isExpandable(expr.getFirst())) { 218 expandFirstTerm(expr); 219 219 continue; 220 220 } … … 222 222 if (!isHard(firstF)) 223 223 break; 224 if (exp .isEmpty())225 return false; 226 AstTerm firstE = exp .getFirst();224 if (expr.isEmpty()) 225 return false; 226 AstTerm firstE = expr.getFirst(); 227 227 if (!hardCoversHard(firstF, firstE)) 228 228 return false; 229 229 format.removeFirst(); 230 exp .removeFirst();230 expr.removeFirst(); 231 231 } 232 232 … … 234 234 if (format.isEmpty()) 235 235 break; 236 if (!exp .isEmpty() && isTheSameRef(format.getLast(), exp.getLast())) {236 if (!expr.isEmpty() && isTheSameRef(format.getLast(), expr.getLast())) { 237 237 format.removeLast(); 238 exp .removeLast();238 expr.removeLast(); 239 239 continue; 240 240 } … … 243 243 continue; 244 244 } 245 if (!exp .isEmpty() && isExpandable(exp.getLast())) {246 expandLastTerm(exp );245 if (!expr.isEmpty() && isExpandable(expr.getLast())) { 246 expandLastTerm(expr); 247 247 continue; 248 248 } … … 250 250 if (!isHard(lastF)) 251 251 break; 252 if (exp .isEmpty())253 return false; 254 AstTerm lastE = exp .getLast();252 if (expr.isEmpty()) 253 return false; 254 AstTerm lastE = expr.getLast(); 255 255 if (!hardCoversHard(lastF, lastE)) 256 256 return false; 257 257 format.removeLast(); 258 exp .removeLast();258 expr.removeLast(); 259 259 } 260 260 -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/NameChecker.java
r3570 r3619 325 325 public void visit (AstCharSymbol astCharSymbol) {} 326 326 327 public void visit (AstExpr astExp ) {328 for (AstTerm astTerm : astExp .termList)327 public void visit (AstExpr astExpr) { 328 for (AstTerm astTerm : astExpr.termList) 329 329 astTerm.accept(this); 330 330 } -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/RefalASGenerator.java
r3570 r3619 328 328 } 329 329 330 public void visit (AstExpr astExp , Expr.Concatenator e) {331 for (AstTerm astTerm : astExp .termList)330 public void visit (AstExpr astExpr, Expr.Concatenator e) { 331 for (AstTerm astTerm : astExpr.termList) 332 332 astTerm.accept(this, e); 333 333 } -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/compiler/VariableScopeChecker.java
r3570 r3619 251 251 public void visit (AstCharSymbol astCharSymbol, VarVisitor e) {} 252 252 253 public void visit (AstExpr astExp , VarVisitor e) {254 for (AstTerm astTerm : astExp .termList)253 public void visit (AstExpr astExpr, VarVisitor e) { 254 for (AstTerm astTerm : astExpr.termList) 255 255 astTerm.accept(this, e); 256 256 } -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/parser/RfpParser.java
r3566 r3619 10 10 import static org.refal.rfpdt.parser.TkStarters.s_directive; 11 11 import static org.refal.rfpdt.parser.TkStarters.s_directives; 12 import static org.refal.rfpdt.parser.TkStarters.s_exp ;13 import static org.refal.rfpdt.parser.TkStarters.s_exp _head;12 import static org.refal.rfpdt.parser.TkStarters.s_expr; 13 import static org.refal.rfpdt.parser.TkStarters.s_expr_head; 14 14 import static org.refal.rfpdt.parser.TkStarters.s_func_decl; 15 15 import static org.refal.rfpdt.parser.TkStarters.s_func_def; … … 392 392 // const_binding 393 393 // : (WORD) 394 // name EQL #exp 394 // name EQL #expr 395 395 396 396 private void const_binding (long ftk, ArrayList<AstTopNode> list, boolean isPublic) { 397 397 assert tkIs(s_name); 398 AstName astName = name(EQL | s_exp | ftk, null);399 accept(EQL, s_exp | ftk);400 AstExpr astExp = exp(ftk);401 list.add(new AstConstBinding(SrcPosition.fromToInclusive(astName.pos, astExp .pos), astName, isPublic, astExp));398 AstName astName = name(EQL | s_expr | ftk, null); 399 accept(EQL, s_expr | ftk); 400 AstExpr astExpr = expr(ftk); 401 list.add(new AstConstBinding(SrcPosition.fromToInclusive(astName.pos, astExpr.pos), astName, isPublic, astExpr)); 402 402 } 403 403 404 404 // func_decl 405 405 // : (FUNC_DECL) 406 // FUNC_DECL name #exp EQL #exp406 // FUNC_DECL name #expr EQL #expr 407 407 408 408 private void func_decl (long ftk, ArrayList<AstTopNode> list, boolean isPublic) { … … 411 411 RetMode retMode = (RetMode) scanner.tkKind; 412 412 nextTk(); 413 AstName astName = name(s_exp | EQL | ftk, MsgCode.MissingFunctionName);414 AstExpr inFormat = exp (EQL | s_exp| ftk);415 accept(EQL, s_exp | ftk);416 AstExpr outFormat = exp (ftk);413 AstName astName = name(s_expr | EQL | ftk, MsgCode.MissingFunctionName); 414 AstExpr inFormat = expr(EQL | s_expr | ftk); 415 accept(EQL, s_expr | ftk); 416 AstExpr outFormat = expr(ftk); 417 417 list.add(new AstFuncDecl(SrcPosition.fromToInclusive(start, outFormat.pos), astName, isPublic, retMode, 418 418 inFormat, outFormat)); … … 555 555 // #let 556 556 // : (LET) 557 // LET #exp 557 // LET #expr 558 558 // | (COMMA | CUT | EQL | ERROR | FAIL | 559 559 // FENCE | NOT | SC | TRAP | WITH) … … 574 574 if (acceptWOError(LET, s_rest | ftk)) { 575 575 isEmptyLet = false; 576 astTarget = exp (s_rest | ftk);576 astTarget = expr(s_rest | ftk); 577 577 } 578 578 ArrayList<AstStatement> statements2 = new ArrayList<AstStatement>(); … … 661 661 // REF | SC | TRAP | VAR | WITH | 662 662 // WORD) 663 // #exp #pattern_alts663 // #expr #pattern_alts 664 664 665 665 private AstSentence source (long ftk) { … … 683 683 statements.add(alt(s_pattern_alts | ftk)); 684 684 else { 685 AstExpr astExp = exp(s_pattern_alts | ftk);686 statements.add(new AstResult(astExp .pos, astExp));685 AstExpr astExpr = expr(s_pattern_alts | ftk); 686 statements.add(new AstResult(astExpr.pos, astExpr)); 687 687 } 688 688 pattern_alts(ftk, statements); … … 705 705 // #pattern 706 706 // : (MATCH_DIR) 707 // MATCH_DIR #exp 707 // MATCH_DIR #expr 708 708 // | (CHAR | COMMA | CUT | EQL | ERROR | 709 709 // FAIL | FENCE | LANGU | LPAR | NOT | 710 710 // NUMB | REF | SC | TRAP | VAR | 711 711 // WITH | WORD) 712 // #exp 712 // #expr 713 713 // ; 714 714 … … 722 722 nextTk(); 723 723 } 724 AstExpr astExp = exp(ftk);725 SrcPosition pos = start == null ? astExp .pos : SrcPosition.fromToInclusive(start, astExp.pos);726 statements.add(new AstPattern(pos, matchDir, astExp ));724 AstExpr astExpr = expr(ftk); 725 SrcPosition pos = start == null ? astExpr.pos : SrcPosition.fromToInclusive(start, astExpr.pos); 726 statements.add(new AstPattern(pos, matchDir, astExpr)); 727 727 } 728 728 … … 802 802 // ======================================================================== 803 803 804 // #exp 804 // #expr 805 805 // : (CHAR | LANGU | LPAR | NUMB | REF | 806 806 // VAR | WORD) 807 // exp _head #exp807 // expr_head #expr 808 808 // | (COL | COL_CURL | COMMA | CUT | EQL | 809 809 // ERROR | FAIL | FENCE | ITER | LET | … … 812 812 // /* empty */ 813 813 814 private AstExpr exp (long ftk) {814 private AstExpr expr (long ftk) { 815 815 ArrayList<AstTerm> termList = new ArrayList<AstTerm>(); 816 816 SrcPosition prev = prevTkPos; 817 while (sync(s_exp _head, ftk))818 termList.add(exp _head(s_exp_head | ftk));817 while (sync(s_expr_head, ftk)) 818 termList.add(expr_head(s_expr_head | ftk)); 819 819 return new AstExpr(prev, tkPos, termList.toArray(new AstTerm[termList.size()])); 820 820 } 821 821 822 // exp _head822 // expr_head 823 823 // : (REF) 824 824 // REF name … … 826 826 // static_symbol 827 827 // | (LPAR) 828 // LPAR #exp RPAR828 // LPAR #expr RPAR 829 829 // | (VAR) 830 830 // VAR 831 831 // | (LANGU) 832 // LANGU name #exp RANGU833 834 private AstTerm exp _head (long ftk) {835 assert tkIn(s_exp _head);832 // LANGU name #expr RANGU 833 834 private AstTerm expr_head (long ftk) { 835 assert tkIn(s_expr_head); 836 836 AstTerm astTerm; 837 837 SrcPosition start = tkPos; … … 844 844 else if (tkIs(LPAR)) { 845 845 nextTk(); 846 AstExpr astExp = exp(RPAR | ftk);846 AstExpr astExpr = expr(RPAR | ftk); 847 847 SrcPosition pos; 848 848 if (accept(RPAR, ftk)) … … 850 850 else 851 851 pos = SrcPosition.fromToExclusive(start, tkPos); 852 astTerm = new AstParen(pos, astExp );852 astTerm = new AstParen(pos, astExpr); 853 853 } else if (tkIs(VAR)) { 854 854 VarType t = AstVar.typeOfChar(scanner.tkChar); … … 860 860 } else if (tkIs(LANGU)) { 861 861 nextTk(); 862 AstName astName = name(s_exp | RANGU | ftk, MsgCode.MissingFunctionName);863 AstExpr astExp = exp(RANGU | ftk);862 AstName astName = name(s_expr | RANGU | ftk, MsgCode.MissingFunctionName); 863 AstExpr astExpr = expr(RANGU | ftk); 864 864 SrcPosition pos; 865 865 if (accept(RANGU, ftk)) … … 867 867 else 868 868 pos = SrcPosition.fromToExclusive(start, tkPos); 869 astTerm = new AstCall(pos, astName, astExp );869 astTerm = new AstCall(pos, astName, astExpr); 870 870 } else { 871 871 assert false; -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/parser/TkFollowers.java
r3566 r3619 56 56 public static final long f_sentences = RCURL; 57 57 public static final long f_paths = RCURL; 58 public static final long f_exp = COL | COL_CURL | COMMA | CUT | EQL | ERROR | FAIL | FENCE | ITER | LET | NOT58 public static final long f_expr = COL | COL_CURL | COMMA | CUT | EQL | ERROR | FAIL | FENCE | ITER | LET | NOT 59 59 | RANGU | RPAR | SC | TRAP | WITH; 60 60 public static final long f_names = SC; -
devel-tools/trunk/eclipse/org.refal.rfpdt.core/src/org/refal/rfpdt/parser/TkStarters.java
r3566 r3619 76 76 public static final long s_paths = CHAR | COL | COL_CURL | COMMA | CUT | EQL | ERROR | FAIL | FENCE | ITER | LANGU 77 77 | LCURL | LET | LPAR | NOT | NUMB | REF | SC | TRAP | VAR | WORD; 78 public static final long s_exp = CHAR | LANGU | LPAR | NUMB | REF | VAR | WORD;79 public static final long s_exp _head = CHAR | LANGU | LPAR | NUMB | REF | VAR | WORD;78 public static final long s_expr = CHAR | LANGU | LPAR | NUMB | REF | VAR | WORD; 79 public static final long s_expr_head = CHAR | LANGU | LPAR | NUMB | REF | VAR | WORD; 80 80 public static final long s_static_symbol = CHAR | NUMB | WORD; 81 81 public static final long s_names = WORD;
Note: See TracChangeset
for help on using the changeset viewer.