From 69b4dd0fac42c6a4edc1933c781fd31a99466bb1 Mon Sep 17 00:00:00 2001 From: jriegel Date: Tue, 10 Dec 2013 23:04:46 +0100 Subject: [PATCH] changing ym to um --- src/App/FreeCADInit.py | 6 +- src/Base/QuantityLexer.c | 504 ++++++++++++++++++++------------------ src/Base/QuantityParser.l | 11 +- 3 files changed, 276 insertions(+), 245 deletions(-) diff --git a/src/App/FreeCADInit.py b/src/App/FreeCADInit.py index 3c1be288f..a7c3fb4d4 100644 --- a/src/App/FreeCADInit.py +++ b/src/App/FreeCADInit.py @@ -138,7 +138,7 @@ App.GuiUp = 0 # fill up unit definitions App.Units.NanoMetre = App.Units.Quantity('nm') -App.Units.MicroMetre = App.Units.Quantity('ym') +App.Units.MicroMetre = App.Units.Quantity('um') App.Units.MilliMetre = App.Units.Quantity('mm') App.Units.CentiMetre = App.Units.Quantity('cm') App.Units.DeciMetre = App.Units.Quantity('dm') @@ -147,7 +147,7 @@ App.Units.KiloMetre = App.Units.Quantity('km') App.Units.Liter = App.Units.Quantity('l') -App.Units.MicroGram = App.Units.Quantity('yg') +App.Units.MicroGram = App.Units.Quantity('ug') App.Units.MilliGram = App.Units.Quantity('mg') App.Units.Gram = App.Units.Quantity('g') App.Units.KiloGram = App.Units.Quantity('kg') @@ -164,7 +164,7 @@ App.Units.MegaAmpere = App.Units.Quantity('MA') App.Units.Kelvin = App.Units.Quantity('K') App.Units.MilliKelvin = App.Units.Quantity('mK') -App.Units.MicroKelvin = App.Units.Quantity('yK') +App.Units.MicroKelvin = App.Units.Quantity('uK') App.Units.Mole = App.Units.Quantity('mol') diff --git a/src/Base/QuantityLexer.c b/src/Base/QuantityLexer.c index 92e38b352..6f1549fdf 100644 --- a/src/Base/QuantityLexer.c +++ b/src/Base/QuantityLexer.c @@ -361,8 +361,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 90 -#define YY_END_OF_BUFFER 91 +#define YY_NUM_RULES 94 +#define YY_END_OF_BUFFER 95 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -370,25 +370,26 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[156] = +static yyconst flex_int16_t yy_accept[166] = { 0, - 0, 0, 0, 0, 91, 90, 4, 5, 33, 35, - 6, 70, 71, 23, 90, 90, 61, 27, 90, 46, - 90, 90, 90, 59, 1, 90, 90, 90, 73, 90, - 17, 22, 90, 90, 14, 12, 90, 90, 90, 90, - 20, 19, 90, 3, 2, 5, 70, 0, 70, 71, - 64, 0, 26, 48, 0, 62, 50, 0, 60, 65, - 0, 0, 0, 0, 31, 10, 0, 0, 0, 11, - 0, 34, 0, 32, 25, 47, 0, 18, 13, 0, - 40, 0, 24, 28, 49, 0, 16, 39, 9, 0, - 7, 42, 72, 0, 0, 0, 0, 0, 43, 0, + 0, 0, 0, 0, 95, 94, 4, 5, 36, 38, + 6, 74, 75, 25, 94, 94, 65, 29, 94, 49, + 94, 94, 94, 63, 1, 94, 94, 94, 77, 94, + 19, 24, 94, 94, 15, 13, 94, 94, 94, 94, + 22, 21, 94, 94, 94, 3, 2, 5, 74, 0, + 74, 75, 68, 0, 28, 51, 0, 66, 53, 0, + 64, 69, 0, 0, 0, 0, 34, 11, 0, 0, + 0, 12, 0, 37, 0, 35, 27, 50, 0, 20, + 14, 0, 43, 0, 26, 30, 52, 0, 18, 42, + 10, 0, 7, 45, 76, 0, 0, 0, 0, 0, - 0, 29, 0, 38, 15, 8, 0, 69, 53, 52, - 0, 63, 80, 0, 0, 0, 78, 44, 66, 79, - 68, 51, 58, 45, 41, 82, 0, 37, 21, 81, - 30, 84, 57, 67, 85, 0, 87, 0, 0, 54, - 74, 75, 76, 0, 0, 86, 89, 88, 36, 0, - 77, 83, 55, 56, 0 + 46, 0, 0, 32, 0, 16, 41, 8, 0, 0, + 73, 56, 55, 0, 67, 84, 0, 0, 0, 82, + 47, 70, 83, 72, 54, 62, 48, 44, 86, 0, + 40, 23, 85, 33, 88, 61, 71, 89, 0, 91, + 0, 0, 31, 0, 17, 9, 57, 78, 79, 80, + 0, 0, 90, 93, 92, 39, 0, 0, 81, 87, + 58, 59, 0, 60, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -412,8 +413,8 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 51, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 52, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -423,119 +424,126 @@ static yyconst flex_int32_t yy_ec[256] = 1, 1, 1, 1, 1 } ; -static yyconst flex_int32_t yy_meta[51] = +static yyconst flex_int32_t yy_meta[53] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1 } ; -static yyconst flex_int16_t yy_base[157] = +static yyconst flex_int16_t yy_base[167] = { 0, - 0, 0, 48, 49, 209, 210, 210, 205, 45, 210, - 210, 52, 61, 210, 184, 185, 210, 210, 64, 167, - 177, 163, 189, 157, 210, 50, 50, 28, 152, 154, - 158, 210, 158, 78, 53, 110, 158, 145, 52, 167, - 65, 55, 87, 210, 210, 190, 103, 126, 142, 151, - 210, 165, 210, 210, 164, 210, 210, 147, 145, 210, - 144, 147, 151, 158, 210, 210, 140, 138, 149, 210, - 140, 210, 141, 210, 210, 210, 152, 210, 210, 143, - 70, 144, 210, 210, 210, 136, 210, 64, 210, 89, - 210, 210, 210, 128, 139, 142, 132, 127, 210, 130, + 0, 0, 50, 51, 219, 220, 220, 215, 47, 220, + 220, 54, 63, 220, 194, 195, 220, 220, 66, 177, + 187, 173, 199, 167, 220, 52, 52, 30, 162, 164, + 168, 220, 168, 80, 55, 112, 168, 155, 54, 177, + 67, 57, 86, 73, 152, 220, 220, 199, 105, 128, + 144, 153, 220, 174, 220, 220, 173, 220, 220, 156, + 154, 220, 153, 156, 160, 167, 220, 220, 149, 147, + 158, 220, 149, 220, 150, 220, 220, 220, 161, 220, + 220, 152, 89, 152, 220, 220, 220, 144, 220, 68, + 220, 92, 220, 220, 220, 136, 147, 150, 140, 135, - 128, 210, 118, 210, 210, 210, 130, 155, 210, 210, - 113, 210, 210, 105, 108, 107, 210, 210, 210, 210, - 210, 210, 210, 210, 210, 134, 88, 210, 210, 210, - 210, 210, 210, 210, 95, 82, 90, 75, 63, 210, - 210, 210, 93, 77, 25, 210, 210, 210, 210, 15, - 210, 210, 210, 210, 210, 52 + 220, 138, 136, 220, 129, 220, 220, 220, 148, 132, + 162, 220, 220, 125, 220, 220, 123, 121, 119, 220, + 220, 220, 220, 220, 220, 220, 220, 220, 141, 106, + 220, 220, 220, 220, 220, 220, 220, 114, 101, 99, + 85, 85, 220, 86, 220, 220, 220, 220, 220, 112, + 101, 63, 220, 220, 220, 220, 45, 27, 220, 220, + 220, 220, 17, 220, 220, 54 } ; -static yyconst flex_int16_t yy_def[157] = +static yyconst flex_int16_t yy_def[167] = { 0, - 155, 1, 156, 156, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, + 165, 1, 166, 166, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 0, 155 + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 0, 165 } ; -static yyconst flex_int16_t yy_nxt[261] = +static yyconst flex_int16_t yy_nxt[273] = { 0, 6, 7, 8, 9, 10, 11, 11, 12, 13, 13, 13, 13, 14, 15, 6, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 6, 26, 6, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 6, 40, 41, 42, 6, 6, 6, 43, 6, - 6, 6, 44, 47, 47, 47, 47, 154, 69, 48, - 47, 47, 47, 47, 49, 70, 48, 153, 49, 50, - 50, 50, 50, 45, 45, 48, 53, 61, 62, 65, - 81, 100, 48, 54, 55, 152, 93, 66, 101, 67, - 75, 94, 82, 63, 64, 95, 68, 76, 77, 97, + 39, 6, 40, 41, 42, 43, 6, 6, 44, 6, + 6, 45, 6, 6, 46, 49, 49, 49, 49, 164, + 71, 50, 49, 49, 49, 49, 51, 72, 50, 163, + 51, 52, 52, 52, 52, 47, 47, 50, 55, 63, + 64, 67, 83, 102, 50, 56, 57, 162, 95, 68, + 103, 69, 77, 96, 84, 65, 66, 97, 70, 78, - 128, 124, 129, 151, 102, 150, 98, 125, 103, 99, - 78, 47, 47, 47, 47, 79, 104, 48, 130, 105, - 149, 80, 83, 148, 106, 131, 147, 84, 146, 85, - 145, 86, 107, 48, 108, 108, 108, 108, 108, 108, - 108, 108, 87, 144, 88, 143, 142, 89, 141, 90, - 47, 47, 47, 47, 49, 140, 48, 139, 49, 50, - 50, 50, 50, 108, 108, 108, 108, 138, 137, 136, - 135, 134, 48, 133, 132, 127, 126, 123, 122, 121, - 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, - 110, 109, 46, 96, 92, 91, 74, 73, 72, 71, + 79, 99, 107, 104, 131, 161, 132, 105, 100, 160, + 108, 101, 80, 49, 49, 49, 49, 81, 106, 50, + 127, 133, 159, 82, 85, 158, 128, 157, 134, 86, + 156, 87, 155, 88, 110, 50, 111, 111, 111, 111, + 111, 111, 111, 111, 89, 154, 90, 153, 152, 91, + 151, 92, 49, 49, 49, 49, 51, 150, 50, 149, + 51, 52, 52, 52, 52, 143, 148, 147, 142, 144, + 111, 111, 111, 111, 50, 141, 140, 139, 138, 137, + 145, 136, 135, 130, 129, 146, 126, 125, 124, 123, + 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, - 60, 59, 58, 57, 56, 52, 51, 46, 155, 5, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 + 112, 48, 109, 98, 94, 93, 76, 75, 74, 73, + 62, 61, 60, 59, 58, 54, 53, 48, 165, 5, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165 } ; -static yyconst flex_int16_t yy_chk[261] = +static yyconst flex_int16_t yy_chk[273] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 3, 4, 156, 9, 9, 9, 9, 150, 28, 9, - 12, 12, 12, 12, 13, 28, 12, 145, 13, 13, - 13, 13, 13, 3, 4, 9, 19, 26, 26, 27, - 35, 42, 12, 19, 19, 144, 39, 27, 42, 27, - 34, 39, 35, 26, 26, 39, 27, 34, 34, 41, + 1, 1, 3, 4, 166, 9, 9, 9, 9, 163, + 28, 9, 12, 12, 12, 12, 13, 28, 12, 158, + 13, 13, 13, 13, 13, 3, 4, 9, 19, 26, + 26, 27, 35, 42, 12, 19, 19, 157, 39, 27, + 42, 27, 34, 39, 35, 26, 26, 39, 27, 34, - 88, 81, 88, 143, 43, 139, 41, 81, 43, 41, - 34, 47, 47, 47, 47, 34, 43, 47, 90, 43, - 138, 34, 36, 137, 43, 90, 136, 36, 135, 36, - 127, 36, 48, 47, 48, 48, 48, 48, 107, 107, - 107, 107, 36, 126, 36, 116, 115, 36, 114, 36, - 49, 49, 49, 49, 50, 111, 49, 103, 50, 50, - 50, 50, 50, 108, 108, 108, 108, 101, 100, 98, - 97, 96, 49, 95, 94, 86, 82, 80, 77, 73, - 71, 69, 68, 67, 64, 63, 62, 61, 59, 58, - 55, 52, 46, 40, 38, 37, 33, 31, 30, 29, + 34, 41, 44, 43, 90, 152, 90, 43, 41, 151, + 44, 41, 34, 49, 49, 49, 49, 34, 43, 49, + 83, 92, 150, 34, 36, 144, 83, 142, 92, 36, + 141, 36, 140, 36, 50, 49, 50, 50, 50, 50, + 110, 110, 110, 110, 36, 139, 36, 138, 130, 36, + 129, 36, 51, 51, 51, 51, 52, 119, 51, 118, + 52, 52, 52, 52, 52, 109, 117, 114, 105, 109, + 111, 111, 111, 111, 51, 103, 102, 100, 99, 98, + 109, 97, 96, 88, 84, 109, 82, 79, 75, 73, + 71, 70, 69, 66, 65, 64, 63, 61, 60, 57, - 24, 23, 22, 21, 20, 16, 15, 8, 5, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155, - 155, 155, 155, 155, 155, 155, 155, 155, 155, 155 + 54, 48, 45, 40, 38, 37, 33, 31, 30, 29, + 24, 23, 22, 21, 20, 16, 15, 8, 5, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 165, 165 } ; static yy_state_type yy_last_accepting_state; @@ -566,7 +574,7 @@ char *yytext; /* the manual says "somewhat more optimized" */ /* no support for include files is planned */ -#line 570 "QuantityLexer.c" +#line 578 "QuantityLexer.c" #define INITIAL 0 #define C_COMMENT 1 @@ -750,7 +758,7 @@ YY_DECL #line 28 "QuantityParser.l" -#line 754 "QuantityLexer.c" +#line 762 "QuantityLexer.c" if ( !(yy_init) ) { @@ -803,13 +811,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 156 ) + if ( yy_current_state >= 166 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_current_state != 155 ); + while ( yy_current_state != 165 ); yy_cp = (yy_last_accepting_cpos); yy_current_state = (yy_last_accepting_state); @@ -873,414 +881,434 @@ yylval = Quantity::MicroMetre; return UNIT; // micro meter case 9: YY_RULE_SETUP #line 42 "QuantityParser.l" -yylval = Quantity::MilliMetre; return UNIT; // milli meter (internal standard length) +yylval = Quantity::MicroMetre; return UNIT; // micro meter (greek micro in UTF8) YY_BREAK case 10: YY_RULE_SETUP #line 43 "QuantityParser.l" -yylval = Quantity::CentiMetre; return UNIT; // centi meter +yylval = Quantity::MilliMetre; return UNIT; // milli meter (internal standard length) YY_BREAK case 11: YY_RULE_SETUP #line 44 "QuantityParser.l" -yylval = Quantity::DeciMetre; return UNIT; // deci meter +yylval = Quantity::CentiMetre; return UNIT; // centi meter YY_BREAK case 12: YY_RULE_SETUP #line 45 "QuantityParser.l" -yylval = Quantity::Metre; return UNIT; // metre +yylval = Quantity::DeciMetre; return UNIT; // deci meter YY_BREAK case 13: YY_RULE_SETUP #line 46 "QuantityParser.l" -yylval = Quantity::KiloMetre; return UNIT; // kilo meter +yylval = Quantity::Metre; return UNIT; // metre YY_BREAK case 14: YY_RULE_SETUP -#line 48 "QuantityParser.l" -yylval = Quantity::Liter; return UNIT; // Liter dm^3 +#line 47 "QuantityParser.l" +yylval = Quantity::KiloMetre; return UNIT; // kilo meter YY_BREAK case 15: YY_RULE_SETUP -#line 50 "QuantityParser.l" -yylval = Quantity::MicroGram; return UNIT; // micro gram +#line 49 "QuantityParser.l" +yylval = Quantity::Liter; return UNIT; // Liter dm^3 YY_BREAK case 16: YY_RULE_SETUP #line 51 "QuantityParser.l" -yylval = Quantity::MilliGram; return UNIT; // milli gram +yylval = Quantity::MicroGram; return UNIT; // micro gram YY_BREAK case 17: YY_RULE_SETUP #line 52 "QuantityParser.l" -yylval = Quantity::Gram; return UNIT; // gram +yylval = Quantity::MicroGram; return UNIT; // micro gram YY_BREAK case 18: YY_RULE_SETUP #line 53 "QuantityParser.l" -yylval = Quantity::KiloGram; return UNIT; // kilo gram (internal standard for mass) +yylval = Quantity::MilliGram; return UNIT; // milli gram YY_BREAK case 19: YY_RULE_SETUP #line 54 "QuantityParser.l" -yylval = Quantity::Ton; return UNIT; // Metric Tonne +yylval = Quantity::Gram; return UNIT; // gram YY_BREAK case 20: YY_RULE_SETUP -#line 56 "QuantityParser.l" -yylval = Quantity::Second; return UNIT; // second (internal standard time) +#line 55 "QuantityParser.l" +yylval = Quantity::KiloGram; return UNIT; // kilo gram (internal standard for mass) YY_BREAK case 21: YY_RULE_SETUP -#line 57 "QuantityParser.l" -yylval = Quantity::Minute; return UNIT; // minute +#line 56 "QuantityParser.l" +yylval = Quantity::Ton; return UNIT; // Metric Tonne YY_BREAK case 22: YY_RULE_SETUP #line 58 "QuantityParser.l" -yylval = Quantity::Hour; return UNIT; // hour +yylval = Quantity::Second; return UNIT; // second (internal standard time) YY_BREAK case 23: YY_RULE_SETUP -#line 60 "QuantityParser.l" -yylval = Quantity::Ampere; return UNIT; // Ampere (internal standard electric current) +#line 59 "QuantityParser.l" +yylval = Quantity::Minute; return UNIT; // minute YY_BREAK case 24: YY_RULE_SETUP -#line 61 "QuantityParser.l" -yylval = Quantity::MilliAmpere; return UNIT; // milli Ampere +#line 60 "QuantityParser.l" +yylval = Quantity::Hour; return UNIT; // hour YY_BREAK case 25: YY_RULE_SETUP #line 62 "QuantityParser.l" -yylval = Quantity::KiloAmpere; return UNIT; // kilo Ampere +yylval = Quantity::Ampere; return UNIT; // Ampere (internal standard electric current) YY_BREAK case 26: YY_RULE_SETUP #line 63 "QuantityParser.l" -yylval = Quantity::MegaAmpere; return UNIT; // Mega Ampere +yylval = Quantity::MilliAmpere; return UNIT; // milli Ampere YY_BREAK case 27: YY_RULE_SETUP -#line 65 "QuantityParser.l" -yylval = Quantity::Kelvin; return UNIT; // Kelvin (internal standard thermodynamic temperature) +#line 64 "QuantityParser.l" +yylval = Quantity::KiloAmpere; return UNIT; // kilo Ampere YY_BREAK case 28: YY_RULE_SETUP -#line 66 "QuantityParser.l" -yylval = Quantity::MilliKelvin; return UNIT; // Kelvin +#line 65 "QuantityParser.l" +yylval = Quantity::MegaAmpere; return UNIT; // Mega Ampere YY_BREAK case 29: YY_RULE_SETUP #line 67 "QuantityParser.l" -yylval = Quantity::MicroKelvin; return UNIT; // Kelvin +yylval = Quantity::Kelvin; return UNIT; // Kelvin (internal standard thermodynamic temperature) YY_BREAK case 30: YY_RULE_SETUP -#line 69 "QuantityParser.l" -yylval = Quantity::Mole; return UNIT; // Mole (internal standard amount of substance) +#line 68 "QuantityParser.l" +yylval = Quantity::MilliKelvin; return UNIT; // Kelvin YY_BREAK case 31: YY_RULE_SETUP -#line 71 "QuantityParser.l" -yylval = Quantity::Candela; return UNIT; // Candela (internal standard luminous intensity) +#line 69 "QuantityParser.l" +yylval = Quantity::MicroKelvin; return UNIT; // Kelvin YY_BREAK case 32: YY_RULE_SETUP -#line 73 "QuantityParser.l" -yylval = Quantity::Inch; return UNIT; // inch +#line 70 "QuantityParser.l" +yylval = Quantity::MicroKelvin; return UNIT; // Kelvin YY_BREAK case 33: YY_RULE_SETUP -#line 74 "QuantityParser.l" -yylval = Quantity::Inch; return UNIT; // inch +#line 72 "QuantityParser.l" +yylval = Quantity::Mole; return UNIT; // Mole (internal standard amount of substance) YY_BREAK case 34: YY_RULE_SETUP -#line 75 "QuantityParser.l" -yylval = Quantity::Foot; return UNIT; // foot +#line 74 "QuantityParser.l" +yylval = Quantity::Candela; return UNIT; // Candela (internal standard luminous intensity) YY_BREAK case 35: YY_RULE_SETUP #line 76 "QuantityParser.l" -yylval = Quantity::Foot; return UNIT; // foot +yylval = Quantity::Inch; return UNIT; // inch YY_BREAK case 36: YY_RULE_SETUP #line 77 "QuantityParser.l" -yylval = Quantity::Thou; return UNIT; // thou (in/1000) +yylval = Quantity::Inch; return UNIT; // inch YY_BREAK case 37: YY_RULE_SETUP #line 78 "QuantityParser.l" -yylval = Quantity::Thou; return UNIT; // mil (the thou in US) +yylval = Quantity::Foot; return UNIT; // foot YY_BREAK case 38: YY_RULE_SETUP #line 79 "QuantityParser.l" -yylval = Quantity::Yard; return UNIT; // yard +yylval = Quantity::Foot; return UNIT; // foot YY_BREAK case 39: YY_RULE_SETUP #line 80 "QuantityParser.l" -yylval = Quantity::Mile; return UNIT; // mile +yylval = Quantity::Thou; return UNIT; // thou (in/1000) YY_BREAK case 40: YY_RULE_SETUP -#line 84 "QuantityParser.l" -yylval = Quantity::Pound; return UNIT; // pound +#line 81 "QuantityParser.l" +yylval = Quantity::Thou; return UNIT; // mil (the thou in US) YY_BREAK case 41: YY_RULE_SETUP -#line 85 "QuantityParser.l" -yylval = Quantity::Pound; return UNIT; // pound +#line 82 "QuantityParser.l" +yylval = Quantity::Yard; return UNIT; // yard YY_BREAK case 42: YY_RULE_SETUP -#line 86 "QuantityParser.l" -yylval = Quantity::Ounce; return UNIT; // ounce +#line 83 "QuantityParser.l" +yylval = Quantity::Mile; return UNIT; // mile YY_BREAK case 43: YY_RULE_SETUP #line 87 "QuantityParser.l" -yylval = Quantity::Stone; return UNIT; // Stone +yylval = Quantity::Pound; return UNIT; // pound YY_BREAK case 44: YY_RULE_SETUP #line 88 "QuantityParser.l" -yylval = Quantity::Hundredweights; return UNIT; // hundredweights +yylval = Quantity::Pound; return UNIT; // pound YY_BREAK case 45: YY_RULE_SETUP -#line 90 "QuantityParser.l" -yylval = Quantity::PoundForce; return UNIT; // pound +#line 89 "QuantityParser.l" +yylval = Quantity::Ounce; return UNIT; // ounce YY_BREAK case 46: YY_RULE_SETUP -#line 92 "QuantityParser.l" -yylval = Quantity::Newton; return UNIT; // Newton (kg*m/s^2) +#line 90 "QuantityParser.l" +yylval = Quantity::Stone; return UNIT; // Stone YY_BREAK case 47: YY_RULE_SETUP -#line 93 "QuantityParser.l" -yylval = Quantity::KiloNewton; return UNIT; // Newton +#line 91 "QuantityParser.l" +yylval = Quantity::Hundredweights; return UNIT; // hundredweights YY_BREAK case 48: YY_RULE_SETUP -#line 94 "QuantityParser.l" -yylval = Quantity::MegaNewton; return UNIT; // Newton +#line 93 "QuantityParser.l" +yylval = Quantity::PoundForce; return UNIT; // pound YY_BREAK case 49: YY_RULE_SETUP #line 95 "QuantityParser.l" -yylval = Quantity::MilliNewton; return UNIT; // Newton +yylval = Quantity::Newton; return UNIT; // Newton (kg*m/s^2) YY_BREAK case 50: YY_RULE_SETUP -#line 97 "QuantityParser.l" -yylval = Quantity::Pascal; return UNIT; // Pascal (kg/m*s^2 or N/m^2) +#line 96 "QuantityParser.l" +yylval = Quantity::KiloNewton; return UNIT; // Newton YY_BREAK case 51: YY_RULE_SETUP -#line 98 "QuantityParser.l" -yylval = Quantity::KiloPascal; return UNIT; // Pascal +#line 97 "QuantityParser.l" +yylval = Quantity::MegaNewton; return UNIT; // Newton YY_BREAK case 52: YY_RULE_SETUP -#line 99 "QuantityParser.l" -yylval = Quantity::MegaPascal; return UNIT; // Pascal +#line 98 "QuantityParser.l" +yylval = Quantity::MilliNewton; return UNIT; // Newton YY_BREAK case 53: YY_RULE_SETUP #line 100 "QuantityParser.l" -yylval = Quantity::GigaPascal; return UNIT; // Pascal +yylval = Quantity::Pascal; return UNIT; // Pascal (kg/m*s^2 or N/m^2) YY_BREAK case 54: YY_RULE_SETUP -#line 102 "QuantityParser.l" -yylval = Quantity::Torr; return UNIT; // portion of Pascal ( 101325/760 ) +#line 101 "QuantityParser.l" +yylval = Quantity::KiloPascal; return UNIT; // Pascal YY_BREAK case 55: YY_RULE_SETUP -#line 103 "QuantityParser.l" -yylval = Quantity::mTorr; return UNIT; // +#line 102 "QuantityParser.l" +yylval = Quantity::MegaPascal; return UNIT; // Pascal YY_BREAK case 56: YY_RULE_SETUP -#line 104 "QuantityParser.l" -yylval = Quantity::yTorr; return UNIT; // +#line 103 "QuantityParser.l" +yylval = Quantity::GigaPascal; return UNIT; // Pascal YY_BREAK case 57: YY_RULE_SETUP -#line 106 "QuantityParser.l" -yylval = Quantity::PSI; return UNIT; // pounds/in^2 +#line 105 "QuantityParser.l" +yylval = Quantity::Torr; return UNIT; // portion of Pascal ( 101325/760 ) YY_BREAK case 58: YY_RULE_SETUP -#line 107 "QuantityParser.l" -yylval = Quantity::KSI; return UNIT; // 1000 x pounds/in^2 +#line 106 "QuantityParser.l" +yylval = Quantity::mTorr; return UNIT; // YY_BREAK case 59: YY_RULE_SETUP -#line 109 "QuantityParser.l" -yylval = Quantity::Watt; return UNIT; // Watt (kg*m^2/s^3) +#line 107 "QuantityParser.l" +yylval = Quantity::yTorr; return UNIT; // YY_BREAK case 60: YY_RULE_SETUP -#line 110 "QuantityParser.l" -yylval = Quantity::VoltAmpere; return UNIT; // VoltAmpere (kg*m^2/s^3) +#line 108 "QuantityParser.l" +yylval = Quantity::yTorr; return UNIT; // YY_BREAK case 61: YY_RULE_SETUP -#line 112 "QuantityParser.l" -yylval = Quantity::Joule; return UNIT; // Joule (kg*m^2/s^2) +#line 110 "QuantityParser.l" +yylval = Quantity::PSI; return UNIT; // pounds/in^2 YY_BREAK case 62: YY_RULE_SETUP -#line 113 "QuantityParser.l" -yylval = Quantity::NewtonMeter; return UNIT; // N*m = Joule +#line 111 "QuantityParser.l" +yylval = Quantity::KSI; return UNIT; // 1000 x pounds/in^2 YY_BREAK case 63: YY_RULE_SETUP -#line 114 "QuantityParser.l" -yylval = Quantity::VoltAmpereSecond; return UNIT; // V*A*s = Joule +#line 113 "QuantityParser.l" +yylval = Quantity::Watt; return UNIT; // Watt (kg*m^2/s^3) YY_BREAK case 64: YY_RULE_SETUP -#line 115 "QuantityParser.l" -yylval = Quantity::WattSecond; return UNIT; // +#line 114 "QuantityParser.l" +yylval = Quantity::VoltAmpere; return UNIT; // VoltAmpere (kg*m^2/s^3) YY_BREAK case 65: YY_RULE_SETUP #line 116 "QuantityParser.l" -yylval = Quantity::WattSecond; return UNIT; // W*s = Joule +yylval = Quantity::Joule; return UNIT; // Joule (kg*m^2/s^2) YY_BREAK case 66: YY_RULE_SETUP -#line 118 "QuantityParser.l" -yylval = Quantity::Degree; return UNIT; // degree (internal standard angle) +#line 117 "QuantityParser.l" +yylval = Quantity::NewtonMeter; return UNIT; // N*m = Joule YY_BREAK case 67: YY_RULE_SETUP -#line 119 "QuantityParser.l" -yylval = Quantity::Radian; return UNIT; // radian +#line 118 "QuantityParser.l" +yylval = Quantity::VoltAmpereSecond; return UNIT; // V*A*s = Joule YY_BREAK case 68: YY_RULE_SETUP -#line 120 "QuantityParser.l" -yylval = Quantity::Gon; return UNIT; // gon +#line 119 "QuantityParser.l" +yylval = Quantity::WattSecond; return UNIT; // YY_BREAK case 69: YY_RULE_SETUP -#line 122 "QuantityParser.l" -{for(char* c=yytext;*c!='\0';c++)if(*c==',')*c='.'; yylval = atof( yytext ); return NUM;} +#line 120 "QuantityParser.l" +yylval = Quantity::WattSecond; return UNIT; // W*s = Joule YY_BREAK case 70: YY_RULE_SETUP -#line 123 "QuantityParser.l" -{for(char* c=yytext;*c!='\0';c++)if(*c==',')*c='.'; yylval = atof( yytext ); return NUM;} +#line 122 "QuantityParser.l" +yylval = Quantity::Degree; return UNIT; // degree (internal standard angle) YY_BREAK case 71: YY_RULE_SETUP -#line 124 "QuantityParser.l" -{yylval = atof( yytext ); return NUM;} +#line 123 "QuantityParser.l" +yylval = Quantity::Radian; return UNIT; // radian YY_BREAK case 72: YY_RULE_SETUP -#line 126 "QuantityParser.l" -{yylval = M_PI ; return NUM;} // constant pi +#line 124 "QuantityParser.l" +yylval = Quantity::Gon; return UNIT; // gon YY_BREAK case 73: YY_RULE_SETUP -#line 127 "QuantityParser.l" -{yylval = M_E ; return NUM;} // constant e +#line 126 "QuantityParser.l" +{for(char* c=yytext;*c!='\0';c++)if(*c==',')*c='.'; yylval = atof( yytext ); return NUM;} YY_BREAK case 74: YY_RULE_SETUP -#line 129 "QuantityParser.l" -return ACOS; +#line 127 "QuantityParser.l" +{for(char* c=yytext;*c!='\0';c++)if(*c==',')*c='.'; yylval = atof( yytext ); return NUM;} YY_BREAK case 75: YY_RULE_SETUP -#line 130 "QuantityParser.l" -return ASIN; +#line 128 "QuantityParser.l" +{yylval = atof( yytext ); return NUM;} YY_BREAK case 76: YY_RULE_SETUP -#line 131 "QuantityParser.l" -return ATAN; +#line 130 "QuantityParser.l" +{yylval = M_PI ; return NUM;} // constant pi YY_BREAK case 77: YY_RULE_SETUP -#line 132 "QuantityParser.l" -return ATAN2; +#line 131 "QuantityParser.l" +{yylval = M_E ; return NUM;} // constant e YY_BREAK case 78: YY_RULE_SETUP #line 133 "QuantityParser.l" -return COS; +return ACOS; YY_BREAK case 79: YY_RULE_SETUP #line 134 "QuantityParser.l" -return EXP; +return ASIN; YY_BREAK case 80: YY_RULE_SETUP #line 135 "QuantityParser.l" -return ABS; +return ATAN; YY_BREAK case 81: YY_RULE_SETUP #line 136 "QuantityParser.l" -return MOD; +return ATAN2; YY_BREAK case 82: YY_RULE_SETUP #line 137 "QuantityParser.l" -return LOG; +return COS; YY_BREAK case 83: YY_RULE_SETUP #line 138 "QuantityParser.l" -return LOG10; +return EXP; YY_BREAK case 84: YY_RULE_SETUP #line 139 "QuantityParser.l" -return POW; +return ABS; YY_BREAK case 85: YY_RULE_SETUP #line 140 "QuantityParser.l" -return SIN; +return MOD; YY_BREAK case 86: YY_RULE_SETUP #line 141 "QuantityParser.l" -return SINH; +return LOG; YY_BREAK case 87: YY_RULE_SETUP #line 142 "QuantityParser.l" -return TAN; +return LOG10; YY_BREAK case 88: YY_RULE_SETUP #line 143 "QuantityParser.l" -return TANH; +return POW; YY_BREAK case 89: YY_RULE_SETUP #line 144 "QuantityParser.l" -return SQRT; +return SIN; YY_BREAK case 90: YY_RULE_SETUP +#line 145 "QuantityParser.l" +return SINH; + YY_BREAK +case 91: +YY_RULE_SETUP #line 146 "QuantityParser.l" +return TAN; + YY_BREAK +case 92: +YY_RULE_SETUP +#line 147 "QuantityParser.l" +return TANH; + YY_BREAK +case 93: +YY_RULE_SETUP +#line 148 "QuantityParser.l" +return SQRT; + YY_BREAK +case 94: +YY_RULE_SETUP +#line 150 "QuantityParser.l" ECHO; YY_BREAK -#line 1284 "QuantityLexer.c" +#line 1312 "QuantityLexer.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(C_COMMENT): yyterminate(); @@ -1574,7 +1602,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 156 ) + if ( yy_current_state >= 166 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -1602,11 +1630,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 156 ) + if ( yy_current_state >= 166 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 155); + yy_is_jam = (yy_current_state == 165); return yy_is_jam ? 0 : yy_current_state; } @@ -2239,4 +2267,4 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 146 "QuantityParser.l" +#line 150 "QuantityParser.l" diff --git a/src/Base/QuantityParser.l b/src/Base/QuantityParser.l index fd1f9b5dd..9109474d7 100644 --- a/src/Base/QuantityParser.l +++ b/src/Base/QuantityParser.l @@ -39,7 +39,7 @@ ID [a-z][a-z0-9]* "nm" yylval = Quantity::NanoMetre; return UNIT; // nano meter "ym" yylval = Quantity::MicroMetre; return UNIT; // micro meter - "\xC2\xB5m"yylval = Quantity::MicroMetre; return UNIT; // micro meter (greek micro in UTF8) + "\xC2\xB5m" yylval = Quantity::MicroMetre; return UNIT; // micro meter (greek micro in UTF8) "mm" yylval = Quantity::MilliMetre; return UNIT; // milli meter (internal standard length) "cm" yylval = Quantity::CentiMetre; return UNIT; // centi meter "dm" yylval = Quantity::DeciMetre; return UNIT; // deci meter @@ -48,7 +48,8 @@ ID [a-z][a-z0-9]* "l" yylval = Quantity::Liter; return UNIT; // Liter dm^3 - "yg" yylval = Quantity::MicroGram; return UNIT; // micro gram + "ug" yylval = Quantity::MicroGram; return UNIT; // micro gram + "\xC2\xB5g" yylval = Quantity::MicroGram; return UNIT; // micro gram "mg" yylval = Quantity::MilliGram; return UNIT; // milli gram "g" yylval = Quantity::Gram; return UNIT; // gram "kg" yylval = Quantity::KiloGram; return UNIT; // kilo gram (internal standard for mass) @@ -65,7 +66,8 @@ ID [a-z][a-z0-9]* "K" yylval = Quantity::Kelvin; return UNIT; // Kelvin (internal standard thermodynamic temperature) "mK" yylval = Quantity::MilliKelvin; return UNIT; // Kelvin - "yK" yylval = Quantity::MicroKelvin; return UNIT; // Kelvin + "\xC2\xB5K" yylval = Quantity::MicroKelvin; return UNIT; // Kelvin + "uK" yylval = Quantity::MicroKelvin; return UNIT; // Kelvin "mol" yylval = Quantity::Mole; return UNIT; // Mole (internal standard amount of substance) @@ -102,7 +104,8 @@ ID [a-z][a-z0-9]* "Torr" yylval = Quantity::Torr; return UNIT; // portion of Pascal ( 101325/760 ) "mTorr" yylval = Quantity::mTorr; return UNIT; // - "yTorr" yylval = Quantity::yTorr; return UNIT; // + "uTorr" yylval = Quantity::yTorr; return UNIT; // + "\xC2\xB5Torr" yylval = Quantity::yTorr; return UNIT; // "psi" yylval = Quantity::PSI; return UNIT; // pounds/in^2 "ksi" yylval = Quantity::KSI; return UNIT; // 1000 x pounds/in^2