Tag: 解析

从这个例子中确定LR(k)的k?

我准备了以下语法,生成C逻辑和整数算术表达式的子集: Expression: LogicalOrExpression LogicalOrExpression ? Expression : LogicalOrExpression LogicalOrExpression: LogicalAndExpression LogicalOrExpression || LogicalAndExpression LogicalAndExpression: EqualityExpression LogicalAndExpression && RelationalExpression EqualityExpression: RelationalExpression EqualityExpression EqualityOperator RelationalExpression EqualityOperator: == != RelationalExpression: AdditiveExpression RelationalExpression RelationalOperator AdditiveExpression RelationalOperator: = AdditiveExpression: MultiplicativeExpression AdditiveExpression AdditiveOperator MultiplicativeExpression AdditiveOperator: + – MultiplicativeExpression: UnaryExpression MultiplicativeExpression MultiplicativeOperator UnaryExpression MultiplicativeOperator: * / % UnaryExpression: PrimaryExpression UnaryOperator UnaryExpression UnaryOperator: […]

程序统计工具

是否有一个工具能够解析我的源代码(fortran,C或C ++)并返回统计信息,如循环次数,平均循环大小,函数数量,函数调用次数,数量,大小和数组类型,变量等? 类似的东西,在我的架构上不易运行

c中的json数组解析

我试图解析一个json数组,我面临着问题。 我的数组是这样的: configure: { “id”: 4, “userId”: 107, “deviceMacAddress”: “00:06:66:30:02:3C”, “medication”: [{ “id”: 11, “version”: 18, “name”: “name1”, “unit”: “mg”, “forMed”: “for1”, “schedule”: [1] }, { “id”: 45, “version”: 1, “name”: “sdga”,, “unit”: “mg”, “forMed”: “54234”, “schedule”: [0,1,2,3,4,5,6] }], 我能够访问药物数组和打印总数组,但无法访问数组内的对象。 你能用C语言建议任何解决方案或任何例子吗? mycode的 int main(int argc, char **argv) { struct json_object *med_obj, *medi_obj, *tmp1_obj; struct array_list […]

简单的解析问题

可能重复: 谁能解释这些未定义的行为(i = i ++ + ++ i,i = i ++等…) 未定义的行为和序列点 (C ++ FAQ条目) 在C和C ++中,如何解析表达式x+++++y ? 作为x++ ++ +y还是x++ + ++y ?

如何从字符串解析公式?

例如,我有字符串((data1 + data2) ^ data3) / data4 ,我希望我的小程序获取此字符串并执行以下操作: int main(int argc, char **argv) { double data1 = 1.0; double data2 = 2.0; double data3 = 3.0; double data4 = 4.0; double result = parse_formula(“((data1 + data2) ^ data3) / data4”); printf(“Result is %d\n”, result); return 0; } 标准库中是否有这样的解析器? 如果没有,我将如何自己制作这样的解析器?

在C中将包含localtime的字符串转换为UTC

我有一个包含本地日期/时间的字符串,我需要将其转换为time_t值(以UTC为单位) – 我一直在尝试这个: char* date = “2009/09/01/00”; struct tm cal = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL}; strptime(date, “%Y/%m/%d/%H”, &cal); time_t t = mktime(&cal); 但是我得到的time_t值是如果字符串被解析为UTC而不是本地时间的话我期望的值。 也许我误解了strptime应该做什么,但是在我9月1日的时区(英国),我们正在使用BST(即UTC + 1小时)所以我希望我最终得到的值比UTC提前1小时。 有没有办法将字符串解释为localtime,自动考虑在该日期生效的UTC偏移量? 请注意,我需要time_t值而不是struct tm,在上面的示例中,我希望time_t值对应于2009-09-01 01:00:00 GMT

类型转换char指针在C中浮动

我有一个包含ff数据的平面文件: date;quantity;price;item 我想使用以下结构创建数据记录: typedef struct { char * date, * item; int quantity; float price, total; } expense_record; 我创建了以下初始化方法: expense_record initialize(char * date, int quantity, char *price, char *item) { expense_record e; e.date = date; e.quantity = quantity; e.item = item; /* set price */ return e; } 我的问题是如何从char *price将价格设置为float (根据结构的要求)。 我得到的最接近,即没有产生编译错误 e.price = *(float […]

如何在C中创建APDU(TLV)解析器

例如,我有这样的R-APDU uchar rApdu[] = {0x6F, 0x35 ,0x84 ,0x08 ,0x45 ,0x4F ,0x50 , 0x43 ,0x43 ,0x41 ,0x52 ,0x44 ,0xA5 ,0x29 ,0x50 ,0x06 ,0x55 ,0x5A ,0x4B ,0x41 ,0x52 ,0x54 ,0x5F, 0x2D, 0x06 ,0x75 ,0x7A ,0x72 ,0x75 ,0x65 ,0x6E ,0x87 ,0x01 ,0x01 ,0x9F ,0x11 ,0x01 ,0x01 ,0x9F, 0x12 ,0x06 ,0x55 ,0x5A ,0x4B ,0x41 ,0x52 ,0x54 ,0xBF ,0x0C ,0x05 […]

如何在C中解析HTTP响应?

我正在编写一个小项目,它使用HTTP 1.1 GET和POST与一组服务器进行交互。 服务器在一些标题行之后给出了响应,所以我在使用\n作为分隔符时使用strtok()函数但是每当我尝试这样做时都会发生崩溃。 有没有简单的方法来解析C中的HTTP响应? 我不想为此使用第三方库,但如果它真的是必要的,我将不会有任何问题。 非常感谢你所做的一切。 编辑:这是一些示例代码,只是尝试打印行: char *response = “HTTP/1.1 200 OK\nServer: Apache-Coyote/1.1\nPragma: no-cache” char *token = NULL; token = strtok(response, “\n”); while (token) { printf(“Current token: %s.\n”, token); token = strtok(NULL, “\n”); }

C中的SQL解析器

我想在C中解析和存储SQL DML(INSERT,UPDATE,DELETE)语句的列和值。需要开源代码的URL或我可以链接我的C程序的库。 该平台是SUSE Linux。 试图制作和使用libSQL失败。 详细的答案表示赞赏。 谢谢。 附加说明:请建议我可以与我的C程序链接的库/代码。 在我的程序中,我想使用此库的函数来解析和使用标记进行进一步处理。