Commit 04ad6ba4 authored by Jürg Billeter's avatar Jürg Billeter Committed by Jürg Billeter

tokenizer for new vala compiler parser vor new vala compiler

2006-05-07  Jürg Billeter  <j@bitron.ch>

	* vala/scanner.l: tokenizer for new vala compiler
	* vala/parser.y: parser vor new vala compiler
	* vala/valablock.vala
	* vala/valabooleanliteral.vala
	* vala/valacharacterliteral.vala
	* vala/valaclass.vala: add methods
	* vala/valadeclarationstatement.vala
	* vala/valaemptystatement.vala
	* vala/valaexpression.vala
	* vala/valaexpressionstatement.vala
	* vala/valaforeachstatement.vala
	* vala/valaforstatement.vala
	* vala/valaifstatement.vala
	* vala/valaintegerliteral.vala
	* vala/valainvocationexpression.vala
	* vala/valaliteral.vala
	* vala/valaliteralexpression.vala
	* vala/valalocalvariabledeclaration.vala
	* vala/valamethod.vala
	* vala/valanamedargument.vala
	* vala/valanullliteral.vala
	* vala/valaobjectcreationexpression.vala
	* vala/valaparenthesizedexpression.vala
	* vala/valareturnstatement.vala
	* vala/valasimplename.vala
	* vala/valastatement.vala
	* vala/valastringliteral.vala
	* vala/valatypereference.vala
	* vala/valaunaryexpression.vala
	* vala/valavariabledeclarator.vala
	* vala/valacodevisitor.vala: add visit_method skeleton
	* vala/valacodegenerator.vala: do.
	* vala/vala.h: include generated header files
	* valac/generator.c: support bool and enum properties, support enums

svn path=/trunk/; revision=14
parent e4904cce
2006-05-07 Jürg Billeter <j@bitron.ch>
* vala/scanner.l: tokenizer for new vala compiler
* vala/parser.y: parser vor new vala compiler
* vala/valablock.vala
* vala/valabooleanliteral.vala
* vala/valacharacterliteral.vala
* vala/valaclass.vala: add methods
* vala/valadeclarationstatement.vala
* vala/valaemptystatement.vala
* vala/valaexpression.vala
* vala/valaexpressionstatement.vala
* vala/valaforeachstatement.vala
* vala/valaforstatement.vala
* vala/valaifstatement.vala
* vala/valaintegerliteral.vala
* vala/valainvocationexpression.vala
* vala/valaliteral.vala
* vala/valaliteralexpression.vala
* vala/valalocalvariabledeclaration.vala
* vala/valamethod.vala
* vala/valanamedargument.vala
* vala/valanullliteral.vala
* vala/valaobjectcreationexpression.vala
* vala/valaparenthesizedexpression.vala
* vala/valareturnstatement.vala
* vala/valasimplename.vala
* vala/valastatement.vala
* vala/valastringliteral.vala
* vala/valatypereference.vala
* vala/valaunaryexpression.vala
* vala/valavariabledeclarator.vala
* vala/valacodevisitor.vala: add visit_method skeleton
* vala/valacodegenerator.vala: do.
* vala/vala.h: include generated header files
* valac/generator.c: support bool and enum properties, support enums
2006-05-06 Jürg Billeter <j@bitron.ch>
* vala/valacodecontext.vala
......
This diff is collapsed.
/* scanner.l
*
* Copyright (C) 2006 Jürg Billeter, Raffaele Sandrini
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
* Raffaele Sandrini <rasa@gmx.ch>
*/
%{
#include "vala.h"
#include "parser.h"
#define YY_DECL int yylex (YYSTYPE *yylval_param, YYLTYPE *yylloc_param, ValaParser *parser)
#define uploc { yylloc->first_column = yylloc->last_column + 1; yylloc->last_column += strlen (yytext); }
%}
%option yylineno
%option bison-bridge
%option bison-locations
%option noyywrap
%option nounput
%x IN_COMMENT
%%
"/*" { uploc; BEGIN (IN_COMMENT); yymore (); }
<IN_COMMENT>[^*\n]* { uploc; yymore (); }
<IN_COMMENT>"*"+[^/\n]* { uploc; yymore (); }
<IN_COMMENT>\n { yylloc->first_line = yylloc->last_line = yylineno; yylloc->first_column = 1; yylloc->last_column = 0; yymore (); }
<IN_COMMENT>"*/" { uploc; BEGIN (INITIAL); vala_parser_push_comment (parser, g_strdup (yytext)); }
"//".* { uploc; vala_parser_push_comment (parser, g_strdup (yytext)); }
"{" { uploc; return OPEN_BRACE; }
"}" { uploc; return CLOSE_BRACE; }
"(" { uploc; return OPEN_PARENS; }
")" { uploc; return CLOSE_PARENS; }
"[" { uploc; return OPEN_BRACKET; }
"]" { uploc; return CLOSE_BRACKET; }
"." { uploc; return DOT; }
":" { uploc; return COLON; }
"," { uploc; return COMMA; }
";" { uploc; return SEMICOLON; }
"#" { uploc; return HASH; }
"?" { uploc; return INTERR; }
"++" { uploc; return OP_INC; }
"--" { uploc; return OP_DEC; }
"==" { uploc; return OP_EQ; }
"!=" { uploc; return OP_NE; }
"<<" { uploc; return OP_SHIFT_LEFT; }
">>" { uploc; return OP_SHIFT_RIGHT; }
"<=" { uploc; return OP_LE; }
">=" { uploc; return OP_GE; }
"<"[[:alpha:]_][[:alnum:]_]*"#"?("[]""#"?)?(","" "*[[:alpha:]_][[:alnum:]_]*"#"?("[]""#"?)?)*">" { yyless (1); uploc; return GENERIC_LT; }
"<" { uploc; return OP_LT; }
">" { uploc; return OP_GT; }
"!" { uploc; return OP_NEG; }
"||" { uploc; return OP_OR; }
"|" { uploc; return BITWISE_OR; }
"&&" { uploc; return OP_AND; }
"&" { uploc; return BITWISE_AND; }
"^" { uploc; return CARRET; }
"=" { uploc; return ASSIGN; }
"+" { uploc; return PLUS; }
"-" { uploc; return MINUS; }
"*" { uploc; return STAR; }
"/" { uploc; return DIV; }
"%" { uploc; return PERCENT; }
"@"[[:alnum:]_]+ { uploc; yylval->str = strdup (yytext + 1); return IDENTIFIER; }
"abstract" { uploc; return ABSTRACT; }
"class" { uploc; return CLASS; }
"const" { uploc; return CONST; }
"construct" { uploc; return CONSTRUCT; }
"else" { uploc; return ELSE; }
"enum" { uploc; return ENUM; }
"false" { uploc; return VALA_FALSE; }
"flags" { uploc; return FLAGS; }
"for" { uploc; return FOR; }
"foreach" { uploc; return FOREACH; }
"get" { uploc; return GET; }
"if" { uploc; return IF; }
"in" { uploc; return IN; }
"interface" { uploc; return INTERFACE; }
"namespace" { uploc; return NAMESPACE; }
"new" { uploc; return NEW; }
"null" { uploc; return VALA_NULL; }
"out" { uploc; return OUT; }
"override" { uploc; return OVERRIDE; }
"public" { uploc; return PUBLIC; }
"private" { uploc; return PRIVATE; }
"readonly" { uploc; return READONLY; }
"ref" { uploc; return REF; }
"set" { uploc; return SET; }
"static" { uploc; return STATIC; }
"struct" { uploc; return STRUCT; }
"return" { uploc; return RETURN; }
"true" { uploc; return VALA_TRUE; }
"using" { uploc; return USING; }
"var" { uploc; return VAR; }
"virtual" { uploc; return VIRTUAL; }
[[:digit:]]+ { uploc; yylval->str = g_strdup (yytext); return INTEGER_LITERAL; }
\'([^\'\\]|\\[\'\"\?\\abfnrtv])*\' { uploc; yylval->str = g_strdup (yytext); return CHARACTER_LITERAL; }
\"([^\"\\]|\\[\'\"\?\\abfnrtv])*\" { uploc; yylval->str = g_strdup (yytext); return STRING_LITERAL; }
[[:alnum:]_]+ { uploc; yylval->str = g_strdup (yytext); return IDENTIFIER; }
[ \t]+ { uploc; /* eat up whitespace */ }
[\n]+ { yylloc->first_line = yylloc->last_line = yylineno; yylloc->first_column = 1; yylloc->last_column = 0; }
. { uploc; fprintf (stderr, "%d: syntax error: unexpected character ´%s´\n", yylloc->first_line, yytext); }
#include <vala/valablock.h>
#include <vala/valabooleanliteral.h>
#include <vala/valacharacterliteral.h>
#include <vala/valaclass.h>
#include <vala/valacodecontext.h>
#include <vala/valadeclarationstatement.h>
#include <vala/valaemptystatement.h>
#include <vala/valaexpression.h>
#include <vala/valaexpressionstatement.h>
#include <vala/valaforeachstatement.h>
#include <vala/valaforstatement.h>
#include <vala/valaifstatement.h>
#include <vala/valaintegerliteral.h>
#include <vala/valainvocationexpression.h>
#include <vala/valaliteral.h>
#include <vala/valaliteralexpression.h>
#include <vala/valalocalvariabledeclaration.h>
#include <vala/valamethod.h>
#include <vala/valanamedargument.h>
#include <vala/valanamespace.h>
#include <vala/valanullliteral.h>
#include <vala/valaobjectcreationexpression.h>
#include <vala/valaparenthesizedexpression.h>
#include <vala/valaparser.h>
#include <vala/valareturnstatement.h>
#include <vala/valasimplename.h>
#include <vala/valasourcefile.h>
#include <vala/valasourcereference.h>
#include <vala/valastringliteral.h>
#include <vala/valatypereference.h>
#include <vala/valaunaryexpression.h>
#include <vala/valavariabledeclarator.h>
/* valablock.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class Block : Statement {
public readonly List<Statement#># statement_list;
public readonly SourceReference# source_reference;
public static Block# @new (List<Statement> statement_list, SourceReference source) {
return (new Block (statement_list = statement_list, source_reference = source));
}
}
}
/* valabooleanliteral.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class BooleanLiteral : Literal {
public readonly bool value;
public readonly SourceReference# source_reference;
public static BooleanLiteral# @new (bool b, SourceReference source) {
return (new BooleanLiteral (value = b, source_reference = source));
}
}
}
/* valacharacterliteral.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class CharacterLiteral : Literal {
public readonly string# value;
public readonly SourceReference# source_reference;
public static CharacterLiteral# @new (string c, SourceReference source) {
return (new CharacterLiteral (value = c, source_reference = source));
}
}
}
......@@ -26,13 +26,23 @@ namespace Vala {
public class Class : CodeNode {
public readonly string# name;
public readonly SourceReference# source_reference;
List<Method#># methods;
public static Class# @new (string name, SourceReference source) {
return (new Class (name = name, source_reference = source));
}
public void add_method (Method m) {
methods.append (m);
m.parent_type = this;
}
public override void accept (CodeVisitor visitor) {
visitor.visit_class (this);
foreach (Method m in methods) {
m.accept (visitor);
}
}
}
}
......@@ -36,5 +36,8 @@ namespace Vala {
public override void visit_class (Class cl) {
}
public override void visit_method (Method m) {
}
}
}
......@@ -32,5 +32,8 @@ namespace Vala {
public virtual void visit_class (Class cl) {
}
public virtual void visit_method (Method m) {
}
}
}
/* valadeclarationstatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class DeclarationStatement : Statement {
public readonly LocalVariableDeclaration# declaration;
public readonly SourceReference# source_reference;
public static DeclarationStatement# @new (LocalVariableDeclaration decl, SourceReference source) {
return (new DeclarationStatement (declaration = decl, source_reference = source));
}
}
}
/* valaemptystatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class EmptyStatement : Statement {
public readonly SourceReference# source_reference;
public static EmptyStatement# @new (SourceReference source) {
return (new EmptyStatement (source_reference = source));
}
}
}
/* valaexpression.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public abstract class Expression : CodeNode {
}
}
/* valaexpressionstatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class ExpressionStatement : Statement {
public readonly Expression# expression;
public readonly SourceReference# source_reference;
public static ExpressionStatement# @new (Expression expr, SourceReference source) {
return (new ExpressionStatement (expression = expr, source_reference = source));
}
}
}
/* valaforeachstatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class ForeachStatement : Statement {
public readonly TypeReference# type_reference;
public readonly string# variable_name;
public readonly Expression# collection;
public readonly Statement# body;
public readonly SourceReference# source_reference;
public static ForeachStatement# @new (TypeReference type, string id, Expression col, Statement body, SourceReference source) {
return (new ForeachStatement (type_reference = type, variable_name = id, collection = col, body = body, source_reference = source));
}
}
}
/* valaforstatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class ForStatement : Statement {
public readonly List<StatementExpression#># initializer;
public readonly Expression# condition;
public readonly List<StatementExpression#># iterator;
public readonly Statement# body;
public readonly SourceReference# source_reference;
public static ForStatement# @new (List<StatementExpression> init, Expression cond, List<StatementExpression> iter, Statement body, SourceReference source) {
return (new ForStatement (initializer = init, condition = cond, iterator = iter, body = body, source_reference = source));
}
}
}
/* valaifstatement.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class IfStatement : Statement {
public readonly Expression# condition;
public readonly Statement# true_statement;
public readonly Statement# false_statement;
public readonly SourceReference# source_reference;
public static IfStatement# @new (Expression cond, Statement true_stmt, Statement false_stmt, SourceReference source) {
return (new IfStatement (condition = cond, true_statement = true_stmt, false_statement = false_stmt, source_reference = source));
}
}
}
/* valaintegerliteral.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class IntegerLiteral : Literal {
public readonly string# value;
public readonly SourceReference# source_reference;
public static IntegerLiteral# @new (string i, SourceReference source) {
return (new IntegerLiteral (value = i, source_reference = source));
}
}
}
/* valainvocationexpression.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class InvocationExpression : Expression {
public readonly Expression# call;
public readonly List<Expression#># argument_list;
public readonly SourceReference# source_reference;
public static InvocationExpression# @new (Expression call, List<Expression> argument_list, SourceReference source) {
return (new InvocationExpression (call = call, argument_list = argument_list, source_reference = source));
}
}
}
/* valaliteral.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class Literal : CodeNode {
}
}
/* valaliteralexpression.vala
*
* Copyright (C) 2006 Jürg Billeter
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Author:
* Jürg Billeter <j@bitron.ch>
*/
using GLib;
namespace Vala {
public class LiteralExpression : Expression {
public readonly Literal# literal;
public readonly SourceReference# source_reference;
public static LiteralExpression# @new (Literal literal, SourceReference source) {
return (new LiteralExpression (literal = literal, source_reference = source));
}
}
}
/* valalocalvariabledeclaration.vala
*