platform/upstream/vala.git
18 years agosupport logical AND and OR expressions, conditional expressions,
Jürg Billeter [Tue, 16 May 2006 08:52:23 +0000 (08:52 +0000)]
support logical AND and OR expressions, conditional expressions,

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

* vala/parser.y: support logical AND and OR expressions, conditional
  expressions, assignments, constants, method parameters, and properties
* vala/valacodevisitor.vala: add constant and property visits
* vala/valaassignment.vala
* vala/valabinaryexpression.vala: add bitwise xor, AND, and OR
* vala/valaconditionalexpression.vala
* vala/valaconstant.vala
* vala/valaformalparameter.vala
* vala/valainitializerlist.vala
* vala/valamemberaccess.vala: add source_reference
* vala/valamethod.vala: add parameters
* vala/valaproperty.vala
* vala/vala.h: update

svn path=/trunk/; revision=18

18 years agosupport member access, multiplicative, additive, shift, equality,
Jürg Billeter [Tue, 16 May 2006 07:22:45 +0000 (07:22 +0000)]
support member access, multiplicative, additive, shift, equality,

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

* vala/parser.y: support member access, multiplicative, additive, shift,
  equality, relational, and bitwise expressions
* vala/valabinaryexpression.vala
* vala/valamemberaccess.vala: add constructor
* vala/vala.h: update

svn path=/trunk/; revision=17

18 years agosupport assign operators support assign operators and attributes visitor
Jürg Billeter [Mon, 15 May 2006 21:02:52 +0000 (21:02 +0000)]
support assign operators support assign operators and attributes visitor

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

* vala/scanner.l: support assign operators
* vala/parser.y: support assign operators and attributes
* vala/valaattributeprocessor.vala: visitor to process compiler
  attributes
* vala/valacodegenerator.vala: support structs, enums, and methods
* vala/valacodenode.vala: support attributes
* vala/valaattribute.vala
* vala/valamemberaccessibility.vala
* vala/valamethod.vala
* vala/valastruct.vala: support CCode (cname) attribute
* vala/vala.h: update
* compiler/valacompiler.vala: invoke AttributeProcessor
* ccode/valaccodeblock.vala
* ccode/valaccodeenum.vala
* ccode/valaccodemethod.vala
* ccode/valaccodemodifiers.vala
* bindings/GLib.vala: add string cmp method
* valac/scanner.l: support BITWISE_AND
* valac/parser.y: support bitwise and
* valac/context.h: add bitwise and
* valac/generator.c: support enum dependencies and bitwise and

svn path=/trunk/; revision=16

18 years agosupport OPEN_CAST_PARENS, IS, WHILE support structs, enums, and fields,
Jürg Billeter [Sun, 14 May 2006 20:31:49 +0000 (20:31 +0000)]
support OPEN_CAST_PARENS, IS, WHILE support structs, enums, and fields,

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

* vala/scanner.l: support OPEN_CAST_PARENS, IS, WHILE
* vala/parser.y: support structs, enums, and fields, cast, postfix,
  while, ref types, and generic type parameters; fix comments
* vala/valacodecontext.vala: add root symbol
* vala/valasourcefile.vala: add using directives, c filenames
* vala/valacodevisitor.vala: add begin and end visits for some container
  types, add struct, enum, field, type parameter, namespace reference,
  and type reference visits
* vala/valaparser.vala: adapt to visitor changes
* vala/valasymbolbiulder.vala: visitor to fill symbol table
* vala/valasymbolresolver.vala: visitor to resolve symbol references
* vala/valacodegenerator.vala: add beginning of code generation
* vala/valacodenode.vala: add symbol reference
* vala/valacastexpression.vala
* vala/valaclass.vala: derive from struct
* vala/valaenum.vala
* vala/valaexpression.vala: add static_type, field_reference, and
  method_reference fields
* vala/valafield.vala
* vala/valamemberaccess.vala
* vala/valanamespace.vala: add structs, enums, and fields
* vala/valanamespacereference.vala
* vala/valapostfixexpression.vala
* vala/valasourcereference.vala: adapt to comment changes
* vala/valastringliteral.vala: add eval method
* vala/valastruct.vala
* vala/valasymbol.vala
* vala/valatype.vala
* vala/valatypeparameter.vala:
* vala/valatypereference.vala: add type, type_parameter, is_ref, and
  is_out fields, add get_cname method
* vala/valavariabledeclarator.vala: add name and initializer fields
* vala/valawhilestatement.vala:
* vala/vala.h: update
* compiler/valacompiler.vala: run SymbolBuilder and SymbolResolver
* ccode/valaccodewriter.vala
* ccode/valaccodecomment.vala
* ccode/valaccodefragment.vala
* ccode/valaccodenode.vala
* ccode/valaccodestruct.vala
* bindings/GLib.vala: add/extend ustring, Path, Object, File, HashTable
* valac/scanner.l: support OPEN_CAST_PARENS, OP_AND, OP_OR, IS, WHILE
* valac/parser.y: support cast, while, include_filename ccode attribute,
  AND and OR expressions, IS type checks, unary minus
* valac/context.h: add while statements, cast and IS expressions, and
  AND and OR operators
* valac/context.c: support cast, IS, while; fix if
* valac/generator.c: support cast, IS, pointer arithmetic, namespace
  methods, imported include files
* valac/driver.c: add symbol alias

svn path=/trunk/; revision=15

18 years agotokenizer for new vala compiler parser vor new vala compiler
Jürg Billeter [Sun, 7 May 2006 14:19:40 +0000 (14:19 +0000)]
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

18 years agovala/valacodecontext.vala vala/valasourcefile.vala filename, line, and
Jürg Billeter [Sat, 6 May 2006 23:16:17 +0000 (23:16 +0000)]
vala/valacodecontext.vala vala/valasourcefile.vala filename, line, and

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

* vala/valacodecontext.vala
* vala/valasourcefile.vala
* vala/valasourcereference.vala: filename, line, and comment container
* vala/valacodenode.vala: abstract code node
* vala/valanamespace.vala: namespace node
* vala/valaclass.vala: class node
* vala/valacodevisitor.vala: abstract syntax tree visitor
* vala/valaparser.vala: vala parser
* vala/valacodegenerator.vala: code generator skeleton
* compiler/valacompiler.vala: compiler driver
* bindings/GLib.vala: add bindings for GList and GOptionContext
* valac/scanner.l: support multi-line comments, ABSTRACT, INTERFACE,
  READONLY
* valac/parser.y: replace AT by HASH, support readonly fields
* valac/context.h: small fixes
* valac/context.c: small fixes
* valac/generator.c: fix override methods, basic support for properties

svn path=/trunk/; revision=13

18 years agosupport OP_NEG, CONSTRUCT, FOREACH, IN add foreach, construct properties;
Jürg Billeter [Wed, 3 May 2006 08:03:01 +0000 (08:03 +0000)]
support OP_NEG, CONSTRUCT, FOREACH, IN add foreach, construct properties;

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

* valac/scanner.l: support OP_NEG, CONSTRUCT, FOREACH, IN
* valac/parser.y: add foreach, construct properties; merge modifiers to
  resolve parser conflicts
* valac/context.h: merge modifiers
* valac/context.c: support namespace fields, resolve types in
  assignments, invocations, and if, for, and foreach statements
* valac/generator.c: support negation operator, inherited fields in
  object variables, foreach statements for arrays and GList, fix
  circular dependencies

svn path=/trunk/; revision=12

18 years agoadd tests for base fields remove klass local variable, add support for
Raffaele Sandrini [Tue, 2 May 2006 12:47:10 +0000 (12:47 +0000)]
add tests for base fields remove klass local variable, add support for

2006-05-02  Raffaele Sandrini  <rasa@gmx.ch>

        * tests/test-008.vala: add tests for base fields
        * valac/generator.c: remove klass local variable, add support for
          base fields.

svn path=/trunk/; revision=11

18 years agosupport ENUM, FLAGS, STRUCT add structs, generic types, enums, flags,
Jürg Billeter [Mon, 1 May 2006 08:07:14 +0000 (08:07 +0000)]
support ENUM, FLAGS, STRUCT add structs, generic types, enums, flags,

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

* valac/scanner.l: support ENUM, FLAGS, STRUCT
* valac/parser.y: add structs, generic types, enums, flags, attributes,
  ref and out parameters
* valac/context.h: add ValaFlags, ValaFlagsValue, and ValaAnnotation
  structs
* valac/context.c: support bool, uint, pointer, generic types
* valac/generator.h: save pointer to current struct
* valac/generator.c: support structs, ReturnsModifiedPointer, include
  files

svn path=/trunk/; revision=10

18 years agosupport AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF, THIS, VALA_TRUE,
Jürg Billeter [Sun, 30 Apr 2006 15:20:38 +0000 (15:20 +0000)]
support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF, THIS, VALA_TRUE,

2006-04-30  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support AT, CONST, VALA_FALSE, VALA_NULL, OUT, REF,
  THIS, VALA_TRUE, USING, VAR, LITERAL_CHARACTER
* valac/parser.y: add character, boolean, and null literals, using
  directive, @ type qualifier, constants, ref and out variables,
  array element access, this access, struct and array initializer,
  var type
* valac/context.h: add ValaEnum, ValaConstant, and ValaEnumValue structs
* valac/context.c: support constants, struct members, enums, var type,
  using directives
* valac/generator.h: save pointer to current class
* valac/generator.c: support constants, boolean and null literals,
  array element access, using directives, this access, enums, private
  static fields, ref and out variables, struct and array initializer,
  boolean, character, and null literal, var type

svn path=/trunk/; revision=9

18 years agoadd
Raffaele Sandrini [Thu, 27 Apr 2006 09:26:38 +0000 (09:26 +0000)]
add

2006-04-27  Raffaele Sandrini  <rasa@gmx.ch>

        * tests/test-008.vala:
        * tests/test-009.vala: add
        * valac/parser.y:
        * valac/scanner.l:
        * valac/context.c:
        * valac/generator.c:
        * valac/context.h: add field and property support (property parse only
          yet)
        * AUTHORS: add myself

svn path=/trunk/; revision=8

18 years agosupport OVERRIDE, VIRTUAL add virtual methods support virtual methods,
Jürg Billeter [Wed, 26 Apr 2006 20:16:44 +0000 (20:16 +0000)]
support OVERRIDE, VIRTUAL add virtual methods support virtual methods,

2006-04-26  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support OVERRIDE, VIRTUAL
* valac/parser.y: add virtual methods
* valac/context.h: support virtual methods, improve init and class_init
* valac/context.c: set symbol in ValaMethod struct
* valac/generator.c: support virtual methods
* tests/test-007.vala: test virtual method declaration and invocation

svn path=/trunk/; revision=7

18 years agosupport OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC, OP_EQ, OP_NE, OP_LE,
Jürg Billeter [Wed, 26 Apr 2006 14:58:13 +0000 (14:58 +0000)]
support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC, OP_EQ, OP_NE, OP_LE,

2006-04-26  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support OPEN_BRACKET, CLOSE_BRACKET, OP_INC, OP_DEC,
  OP_EQ, OP_NE, OP_LE, OP_GE, OP_LT, OP_GT, MINUS, STAR, DIV, ELSE, FOR,
  IF
* valac/parser.y: add array type references, equality expressions,
  relational expressions, multiplicative expressions, postfix
  operations, object creation, if conditionals, for loops
* valac/context.h: add ValaNamedArgument struct, support if and for
  statements
* valac/context.c: resolve types in object creation expressions of
  variable initializers
* valac/generator.c: support array type references, init and class_init
  methods, more operations, object creation, for loops, if conditionals,
  call g_type_init in main
* tests/test-006.vala: test instance method invocation, object creation,
  for loop, if conditional, multiplicative expression

svn path=/trunk/; revision=6

18 years agosave cname in class, save location of statements and expressions add
Jürg Billeter [Tue, 25 Apr 2006 21:17:43 +0000 (21:17 +0000)]
save cname in class, save location of statements and expressions add

2006-04-25  Jürg Billeter  <j@bitron.ch>

* valac/parser.y: save cname in class, save location of statements and
  expressions
* valac/context.h: add ValaStruct struct
* valac/context.c: support symbols from methods and structs, add int
  and string fundamental types, resolve types in local variable
  declarations
* valac/generator.h: save pointer to current method block
* valac/generator.c: add special handling for main method, basic support
  for method invocations, literals, member access, simple names,
  additive expressions, return statments, blocks
* tests/test-005.vala: test static method invocation, literal integer,
  simple name, additive expression, return statement, block, main method

svn path=/trunk/; revision=5

18 years agosupport single-line comments, ASSIGN, PLUS, RETURN, LITERAL_INTEGER,
Jürg Billeter [Mon, 24 Apr 2006 14:00:03 +0000 (14:00 +0000)]
support single-line comments, ASSIGN, PLUS, RETURN, LITERAL_INTEGER,

2006-04-24  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support single-line comments, ASSIGN, PLUS, RETURN,
  LITERAL_INTEGER, LITERAL_STRING
* valac/parser.y: add basic statements and expressions
* valac/context.h: add ValaStatement, ValaVariableDeclaration,
  ValaVariableDeclarator, and ValaExpression structs
* valac/context.c: remove unreachable line

svn path=/trunk/; revision=4

18 years agoset token location, support OPEN_PARENS, CLOSE_PARENS, SEMICOLON, PUBLIC,
Jürg Billeter [Mon, 24 Apr 2006 06:58:11 +0000 (06:58 +0000)]
set token location, support OPEN_PARENS, CLOSE_PARENS, SEMICOLON, PUBLIC,

2006-04-24  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: set token location, support OPEN_PARENS,
  CLOSE_PARENS, SEMICOLON, PUBLIC, STATIC
* valac/parser.y: save symbol location, output exact error location,
  support method declarations
* valac/context.h: add ValaLocation, ValaMethod, and ValaFormalParameter
  structs, add location to ValaClass and ValaTypeReference structs
* valac/context.c: output error location, support method declarations
* valac/generator.c: support method declarations
* valac/driver.c: add comment
* tests/test-004.vala: test method declaration

svn path=/trunk/; revision=3

18 years agosupport DOT, COLON, and COMMA save lower and upper case cnames in
Jürg Billeter [Sat, 22 Apr 2006 11:19:34 +0000 (11:19 +0000)]
support DOT, COLON, and COMMA save lower and upper case cnames in

2006-04-22  Jürg Billeter  <j@bitron.ch>

* valac/scanner.l: support DOT, COLON, and COMMA
* valac/parser.y: save lower and upper case cnames in namespace and
  class objects, support base classes
* valac/context.h: add ValaSymbol and ValaTypeReference structs, add
  cnames to ValaNamespace and ValaClass structs
* valac/context.c: add symbol handling, type resolving, set cnames in
  root namespace
* valac/generator.c: remove cname generation, support base classes
* valac/driver.c: add symbols and resolve types
* tests/test-003.vala: test base class

svn path=/trunk/; revision=2

18 years agoInitial import.
Jürg Billeter [Fri, 21 Apr 2006 09:20:38 +0000 (09:20 +0000)]
Initial import.

* Initial import.

svn path=/trunk/; revision=1