我正在开发一个可以接受关系运算符和逻辑运算符的规则系统。规则系统中的简单表达式可以简单到在这里,我定义了什么可以替代EmployeeHireDateProperty,我的规则系统将对此进行评估现在,我希望通过逻辑运算符和/或(假设没有脱离上下文)将许多简单表达式组合成复合表达式。因此,一个有效的复合表达式应该是
Si
在python中,单词in表示表达式1 in [1,2,3]中的运算符。但是,在语句for i in range(10)中,它表示一个关键字'for‘语句。我写了一个基于正则表达式的词法分析器。我使用规则(\+|-|\*|/|is|in)来匹配运算符,使用(for|in|if|elif|else)来匹配关键字。我不知道是否应该将in放在运算符或关键字的规则中。它们都会失去一种意义。
我试着为算术表达式做一些语法检查。因此,负测试之一是:变量(或常量)和左大括号之间没有运算符。就像这样:
if (expression.matches(".在以下格式的表达式中: sin(number),因此测试不起作用,因为上面的规则规定,需要在"sin“和"(”)之间使用一些运算符。是否可以在上述规则中添加例外情况来使用sin、cos、tan、cot等?我的意思是(^sin_cos_s_tan_tan_cot)或者我需要在regex中编辑语法<e