Skip to content

Commit

Permalink
ac parser is using the same style than make parser, listing package i…
Browse files Browse the repository at this point in the history
…s still not fully working
  • Loading branch information
sgranjoux committed Oct 25, 2009
1 parent ac5945e commit b2fbe5f
Show file tree
Hide file tree
Showing 7 changed files with 239 additions and 194 deletions.
9 changes: 8 additions & 1 deletion libanjuta/anjuta-token.c
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ anjuta_token_next_lex (AnjutaToken *token)
break;
case ANJUTA_TOKEN_FILE:
case ANJUTA_TOKEN_CONTENT:
case ANJUTA_TOKEN_ARGUMENT:
next = anjuta_token_next (next);
break;
default:
Expand Down Expand Up @@ -541,6 +542,12 @@ anjuta_token_delete (AnjutaToken *token)
return next;
}

AnjutaToken *
anjuta_token_append_child (AnjutaToken *parent, AnjutaToken *child)
{
return (AnjutaToken *)g_node_append ((GNode *)parent, (GNode *)child);
}

AnjutaToken *
anjuta_token_insert_child (AnjutaToken *parent, AnjutaToken *child)
{
Expand Down Expand Up @@ -643,7 +650,7 @@ AnjutaToken *anjuta_token_cut (AnjutaToken *token, guint pos, guint size)
{
AnjutaToken *copy;

copy = anjuta_token_copy (token);
copy = anjuta_token_copy_token (token);

if (pos >= ANJUTA_TOKEN_DATA (token)->length)
{
Expand Down
3 changes: 2 additions & 1 deletion libanjuta/anjuta-token.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ typedef enum
ANJUTA_TOKEN_FILE,
ANJUTA_TOKEN_MACRO,
ANJUTA_TOKEN_CONTENT,
ANJUTA_TOKEN_ARGUMENT,
ANJUTA_TOKEN_EOV,
ANJUTA_TOKEN_PARSED,
ANJUTA_TOKEN_KEYWORD,
Expand All @@ -57,7 +58,6 @@ typedef enum
ANJUTA_TOKEN_START,
ANJUTA_TOKEN_NEXT,
ANJUTA_TOKEN_LAST,
ANJUTA_TOKEN_ARGUMENT,
ANJUTA_TOKEN_ITEM,
ANJUTA_TOKEN_STRING,
ANJUTA_TOKEN_ERROR,
Expand Down Expand Up @@ -127,6 +127,7 @@ AnjutaToken *anjuta_token_split (AnjutaToken *token, guint size);

AnjutaToken *anjuta_token_cut (AnjutaToken *token, guint pos, guint size);

AnjutaToken * anjuta_token_append_child (AnjutaToken *parent, AnjutaToken *child);
AnjutaToken * anjuta_token_insert_child (AnjutaToken *parent, AnjutaToken *child);
AnjutaToken *anjuta_token_insert_after (AnjutaToken *token, AnjutaToken *sibling);
AnjutaToken *anjuta_token_insert_before (AnjutaToken *token, AnjutaToken *sibling);
Expand Down
7 changes: 4 additions & 3 deletions src/ac-parser.y
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,8 @@

%defines

%pure_parser
%define api.pure
%define api.push_pull "push"

%parse-param {AmpAcScanner* scanner}
%lex-param {AmpAcScanner* scanner}
Expand Down Expand Up @@ -247,6 +248,7 @@ ac_output:

obsolete_ac_output:
OBSOLETE_AC_OUTPUT arg_list {
g_message ("get AC_OUTPUT");
anjuta_token_set_type ($1, AC_TOKEN_OBSOLETE_AC_OUTPUT);
$$ = anjuta_token_group ($1, $2);
}
Expand Down Expand Up @@ -518,8 +520,7 @@ amp_ac_yyerror (YYLTYPE *loc, AmpAcScanner *scanner, char const *s)
gchar *filename;

g_message ("scanner %p", scanner);
filename = amp_ac_scanner_get_filename ((AmpAcScanner *)scanner);
if (filename == NULL) filename = "?";
filename = "?";
g_message ("%s (%d:%d-%d:%d) %s\n", filename, loc->first_line, loc->first_column, loc->last_line, loc->last_column, s);
}

Expand Down
2 changes: 1 addition & 1 deletion src/ac-scanner.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ AmpAcScanner *amp_ac_scanner_new (void);
void amp_ac_scanner_free (AmpAcScanner *scanner);

gboolean amp_ac_scanner_parse (AmpAcScanner *scanner, AnjutaTokenFile *file, GError **error);
gboolean amp_ac_scanner_parse_token (AmpAcScanner *scanner, AnjutaToken *token, gint start, GError **error);
AnjutaToken* amp_ac_scanner_parse_token (AmpAcScanner *scanner, AnjutaToken *token, gint start, GError **error);


const gchar* amp_ac_scanner_get_filename (AmpAcScanner *scanner);
Expand Down
Loading

0 comments on commit b2fbe5f

Please sign in to comment.