X-Git-Url: http://nitlanguage.org?ds=sidebyside diff --git a/src/parser/xss/tokens.xss b/src/parser/xss/tokens.xss index 9e9f808..a5536fd 100644 --- a/src/parser/xss/tokens.xss +++ b/src/parser/xss/tokens.xss @@ -1,101 +1,57 @@ -/* This file is part of NIT ( http://www.nitlanguage.org ). - * - * Copyright 2008 Jean Privat - * Based on algorithms developped for ( http://www.sablecc.org/ ). - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ +$ // This file is part of NIT ( http://www.nitlanguage.org ). +$ // +$ // Copyright 2008 Jean Privat +$ // Based on algorithms developped for ( http://www.sablecc.org/ ). +$ // +$ // Licensed under the Apache License, Version 2.0 (the "License"); +$ // you may not use this file except in compliance with the License. +$ // You may obtain a copy of the License at +$ // +$ // http://www.apache.org/licenses/LICENSE-2.0 +$ // +$ // Unless required by applicable law or agreed to in writing, software +$ // distributed under the License is distributed on an "AS IS" BASIS, +$ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +$ // See the License for the specific language governing permissions and +$ // limitations under the License. $ template make_abs_tokens() $ foreach {//token} $ if {@parser_index} class @ename -special Token + super Token end $ end $ end -class EOF -special Token +class EOF + super Token end class PError -special EOF + super EOF +end +class PLexerError + super PError +end +class PParserError + super PError end $ end template $ template make_tokens() - -redef class Token - readable writable attr _text: String - readable attr _filename: String - readable attr _line: Int - readable attr _pos: Int - - meth parser_index: Int is abstract - - redef meth to_s: String do - return "'{_text}'" - end -end - $ foreach {//token} -$ if {@parser_index} +$ if {@parser_index} redef class @ename - redef meth parser_index: Int + redef fun parser_index: Int do - return @parser_index + return @parser_index end -$ if {not(@text)} - init(text: String, fname: String, line: Int, pos: Int) - do - _text = text -$ else - init(fname: String, line: Int, pos: Int) + init init_tk(loc: Location) do - _text = once "${sablecc:string2escaped_unicode(@text)}" -$ end - _filename = fname - _line = line - _pos = pos + _location = loc end end -$ end if +$ end if $ end foreach - -redef class EOF - redef meth parser_index: Int - do - return ${tokens/eof/@parser_index} - end - - init(fname: String, line: Int, pos: Int) - do - _filename = fname - _text = "" - _line = line - _pos = pos - end -end - -redef class PError - readable writable attr _message: String - - init init_error(fname: String, line: Int, pos: Int, message: String) - do - init(fname, line, pos) - _message = message - end -end - $ end template