All of lore.kernel.org
 help / color / mirror / Atom feed
From: Milton Miller <miltonm@bga.com>
To: Jon Loeliger <jdl@jdl.com>
Cc: linuxppc-dev@ozlabs.org, David Gibson <david@gibson.dropbear.id.au>
Subject: [PATCH 06/11] dtc: allow a label: in any dts context
Date: Sat, 7 Jul 2007 01:18:50 -0500 (CDT)	[thread overview]
Message-ID: <dtc-5-06.miltonm@bga.com> (raw)
In-Reply-To: <dtc-5-00.miltonm@bga.com>

Change the lexer to recognise a label in any context.  Place
before other celldata and bytestrings to avoid the initial
characters being stolen by other matches.

A label is a character sequence starting with an alphabetic
or underscore optinally followed by the same plus digits and
terminating in a colon.

The included terminating colon will prevent matching hex numbers.

Signed-off-by: Milton Miller <miltonm@bga.com>
--- 
The following patches parse matches in CELLDATA and BYTESTRING
in addition to the current INITIAL context; matches in MEMRESERVE
and INCLUDE context will not be parsed.

diff --git a/dtc-lexer.l b/dtc-lexer.l
index 77ccd54..0e356bb 100644
--- a/dtc-lexer.l
+++ b/dtc-lexer.l
@@ -107,6 +107,16 @@ #endif
 			BEGIN(INITIAL);
 			return ';';
 		}
+
+<*>[a-zA-Z_][a-zA-Z0-9_]*:	{
+			yylloc.filenum = srcpos_filenum;
+			yylloc.first_line = yylineno;
+			DPRINT("Label: %s\n", yytext);
+			yylval.str = strdup(yytext);
+			yylval.str[yyleng-1] = '\0';
+			return DT_LABEL;
+		}
+
 <CELLDATA>[bodh]# {
 			yylloc.filenum = srcpos_filenum;
 			yylloc.first_line = yylineno;
@@ -189,15 +199,6 @@ #endif
 		}
 
 
-[a-zA-Z_][a-zA-Z0-9_]*:	{
-			yylloc.filenum = srcpos_filenum;
-			yylloc.first_line = yylineno;
-			DPRINT("Label: %s\n", yytext);
-			yylval.str = strdup(yytext);
-			yylval.str[yyleng-1] = '\0';
-			return DT_LABEL;
-		}
-
 <*>{WS}+	/* eat whitespace */
 
 <*>"/*"([^*]|\*+[^*/])*\*+"/"	{

  parent reply	other threads:[~2007-07-07  6:18 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-07  6:18 [PATCH 00/11] dtc: some fixes, and make asm labels for data Milton Miller
2007-07-07  6:18 ` [PATCH 01/11] dtc: fix asm for version 17 Milton Miller
2007-07-18  1:56   ` David Gibson
2007-07-07  6:18 ` [PATCH 02/11] dtc: move declaration of yyerror Milton Miller
2007-07-19  5:02   ` David Gibson
2007-07-07  6:18 ` [PATCH 03/11] dtc: complain about unparsed digits in cell lists Milton Miller
2007-07-18  2:01   ` David Gibson
2007-07-07  6:18 ` [PATCH 05/11] dtc: clean up grow_data_for() Milton Miller
2007-07-07  6:18 ` [PATCH 04/11] dtc: implement labels on memory reserve slots Milton Miller
2007-07-07  6:18 ` Milton Miller [this message]
2007-07-07  6:18 ` [PATCH 07/11] dtc: implement labels on property data Milton Miller
2007-07-07  6:18 ` [PATCH 08/11] dtc: store labels in asscending order Milton Miller
2007-07-07  6:18 ` [PATCH 09/11] dtc: add a testcase with labels Milton Miller
2007-07-07  6:18 ` [PATCH 10/11] dtc: align header comments in asm output Milton Miller
2007-07-07  6:18 ` [PATCH 11/11] dtc: format memory reserve as pairs on two lines Milton Miller
2007-07-07 19:24 ` [PATCH 00/11] dtc: some fixes, and make asm labels for data Jon Loeliger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dtc-5-06.miltonm@bga.com \
    --to=miltonm@bga.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=jdl@jdl.com \
    --cc=linuxppc-dev@ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.