comparison graal/com.oracle.truffle.sl/src/com/oracle/truffle/sl/parser/Scanner.java @ 13821:b16ec83edc73

Documentation and more refactoring of Simple Language
author Christian Wimmer <christian.wimmer@oracle.com>
date Wed, 29 Jan 2014 20:45:43 -0800
parents cad8bed1a1ac
children 64dcb92ee75a
comparison
equal deleted inserted replaced
13820:20e7727588e8 13821:b16ec83edc73
1 /* 1 /*
2 * Copyright (c) 2012, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
359 start.set(47, 24); 359 start.set(47, 24);
360 start.set(Buffer.EOF, -1); 360 start.set(Buffer.EOF, -1);
361 literals.put("function", new Integer(4)); 361 literals.put("function", new Integer(4));
362 literals.put("break", new Integer(10)); 362 literals.put("break", new Integer(10));
363 literals.put("continue", new Integer(12)); 363 literals.put("continue", new Integer(12));
364 literals.put("if", new Integer(13)); 364 literals.put("while", new Integer(13));
365 literals.put("else", new Integer(14)); 365 literals.put("if", new Integer(14));
366 literals.put("while", new Integer(15)); 366 literals.put("else", new Integer(15));
367 literals.put("return", new Integer(16)); 367 literals.put("return", new Integer(16));
368 368
369 } 369 }
370 370
371 public Scanner(String fileName) { 371 public Scanner(String fileName) {
555 if (ch == '&') {AddCh(); state = 15; break;} 555 if (ch == '&') {AddCh(); state = 15; break;}
556 else {state = 0; break;} 556 else {state = 0; break;}
557 case 15: 557 case 15:
558 {t.kind = 18; break loop;} 558 {t.kind = 18; break loop;}
559 case 16: 559 case 16:
560 {t.kind = 21; break loop;} 560 {t.kind = 20; break loop;}
561 case 17: 561 case 17:
562 {t.kind = 22; break loop;} 562 {t.kind = 22; break loop;}
563 case 18: 563 case 18:
564 {t.kind = 23; break loop;} 564 {t.kind = 23; break loop;}
565 case 19: 565 case 19:
578 case 25: 578 case 25:
579 recEnd = pos; recKind = 19; 579 recEnd = pos; recKind = 19;
580 if (ch == '=') {AddCh(); state = 16; break;} 580 if (ch == '=') {AddCh(); state = 16; break;}
581 else {t.kind = 19; break loop;} 581 else {t.kind = 19; break loop;}
582 case 26: 582 case 26:
583 recEnd = pos; recKind = 20; 583 recEnd = pos; recKind = 21;
584 if (ch == '=') {AddCh(); state = 17; break;} 584 if (ch == '=') {AddCh(); state = 17; break;}
585 else {t.kind = 20; break loop;} 585 else {t.kind = 21; break loop;}
586 case 27: 586 case 27:
587 recEnd = pos; recKind = 29; 587 recEnd = pos; recKind = 29;
588 if (ch == '=') {AddCh(); state = 18; break;} 588 if (ch == '=') {AddCh(); state = 18; break;}
589 else {t.kind = 29; break loop;} 589 else {t.kind = 29; break loop;}
590 590