operator-precedence 相关问题

运算符优先级是指管理运算符在编程语言中的表达式或语句中的计数顺序的规则。与[执行顺序]不同,后者涵盖软件系统中执行事件的顺序。

如何提高 Antlr4 解析器分支的优先级?

我创建了以下语法: 语法测试; 逗号:','; 打开: '('; 关闭: ')'; 原子:[0-9a-zA-Z_]+; 空间: [ ]+ -> 跳过; 开始:expr EOF; 表达式 :原子...

回答 1 投票 0

&&(逻辑与)运算符的优先级是否高于 || Java 中的(逻辑或)运算符?

根据我之前的知识,(逻辑AND)比(逻辑OR)具有更高的优先级,因此例如在以下Java代码行中,在比较之前将先将boolExp2与boolExp3进行比较

回答 1 投票 0

嵌套条件运算符结合性解释

我确实知道条件运算符具有右结合性,但无法理解条件1,条件2,表达式1,表达式2,表达式3的流程是如何在ano之后发生的...

回答 1 投票 0

比较运算符相对于空合并运算符的意外优先级

我不明白为什么会发生这种情况: $var = 'x'; var_dump($var ?? '' == 'somevalue'); 它输出 string(1) "x",而应该输出 bool(false)。 这背后的原因是什么? 想象一下...

回答 1 投票 0

为什么“int”在“input”之前?我想了解这段代码的逻辑[关闭]

我的老师给了我这个问题:制作一个读取整数并打印它的程序。 所以我找到了这段代码: integer_number = int(input("请输入一个整数:")) print("您输入了:&quo...

回答 5 投票 0

带有增量的 2 的补码是否违反了 c++17 中的执行规则顺序,但不违反 c++14 中的执行规则?

这可能是“c++ 101”级别的问题,但有一些相关的痛苦,所以我会要求评论以保持自信。 我有一些遗留代码支持回到 c++11 和之前...

回答 1 投票 0

java中运算符优先级的本质[重复]

我想知道下面的代码如何产生“-1”输出。 类演示1 { 公共静态无效主(字符串[] arg) { 整数 i,j; for(i=-2,j=2;i++>0;j--) { 我=++我; ...

回答 5 投票 0

“IF”参数评估顺序?

如果(a && b) { 做一点事; } 是否有可能从右到左评估参数(b -> a)? 如果“是”,什么影响评估顺序? (我使用的是VS2008)

回答 6 投票 0

C# 条件 AND (&&) OR (||) 优先级

我们在工作中总是陷入不必要的编码争论。今天我问条件 AND (&&) 或 OR (||) 是否具有更高的优先级。我的一位同事坚持认为他们有同样的

回答 6 投票 0

为什么下面Python代码中的环境图与其执行顺序不一致?

我在学习SICP课程时,环境图中以下代码的执行顺序与我的预期不一致。 def add_one(x): y=x+1 返回y def 平方(x...

回答 1 投票 0

Bison 中的一元优先级

当解析器试图弄清楚某物是一元运算符还是二元运算符时,我不断遇到移位/归约冲突。 %token tHEX 到 OCT tDEC tRUNE %代币 当解析器试图弄清楚某物是一元运算符还是二元运算符时,我不断遇到移位/归约冲突。 %token <intconst> tHEX tOCT tDEC tRUNE %token <stringconst> tBOOL INTERPRETEDSTRING RAWSTRING tIDENTIFIER %token <floatconst> tFLOAT %token <charconst> tRUNES %token TRUE FALSE BREAK CASE CHAN CONST CONTINUE DEFAULT DEFER ELSE FALLTHROUGH FOR FUNC GO GOTO IF IMPORT INTERFACE MAP PACKAGE RANGE RETURN SELECT STRUCT SWITCH TYPE VAR INT PRINT FLOAT PRINTLN BOOL APPEND RUNE STRING SEMICOLON NEWLINE PLUS MINUS TIMES DIV MOD AMP PIPE CARAT COUT CIN AMPCARAT SELFPLUS SELFMINUS SELFTIMES SELFDIV SELFMOD AMPEQUALS PIPEEQUALS CARATEQUALS COUTEQUALS CINEQUALS WTF AND OR REDIRECT INCREMENT DECREMENT DOESEQUALS LT GT EQUALS NOT NEQ LE GE COMPAT ELLIPSIS LEFTPAREN RIGHTPAREN LEFTSQUARE RIGHTSQUARE LEFTBRACE RIGHTBRACE COMMA PERIOD FULLCOLON ESCAPEA ESCAPEB ESCAPEF ESCAPEV ESCAPESLASH ESCAPEAPOSTROPHE INVALID /*%token unary*/ /*%token binary*/ %left OR %left AND %left DOESEQUALS NEQ GT GE LT LE %left PLUS MINUS PIPE CARAT %left TIMES DIV MOD COUT CIN AMP AMPCARAT /*%left binary*/ %left UPLUS UMINUS UNOT UCARAT UTIMES UAMP UPAREN %start expList %% expList: exp expList {} | /*empty*/ ; exp: exp OR addOp {} | exp AND addOp {} | exp NEQ addOp {} | exp GT addOp {} | exp GE addOp {} | exp LT addOp {} | exp LE addOp {} | addOp {} ; addOp: addOp PLUS mulOp {} | addOp MINUS mulOp {} | addOp PIPE mulOp {} | addOp CARAT mulOp {} | mulOp {} ; mulOp: mulOp TIMES factor {} | mulOp DIV factor {} | mulOp MOD factor {} | mulOp COUT factor {} | mulOp CIN factor {} | mulOp AMP factor {} | mulOp AMPCARAT factor {} | factor {} ; factor: LEFTPAREN exp RIGHTPAREN %prec UPAREN {} | PLUS factor %prec UPLUS {} | MINUS factor %prec UMINUS {} | NOT factor %prec UNOT {} | CARAT factor %prec UCARAT {} | TIMES factor %prec UTIMES {} | AMP factor %prec UAMP {} | tIDENTIFIER {} | tDEC {} | tFLOAT {} | tOCT {} | tHEX {} | tRUNES {} | INTERPRETEDSTRING {} | RAWSTRING {} ; %% 我知道我有很多代币,我最终会使用它们。我只是想让表达式的语法起作用。 这是我遇到的移位/归约错误 State 18 10 exp: addOp . 11 addOp: addOp . PLUS mulOp 12 | addOp . MINUS mulOp 13 | addOp . PIPE mulOp 14 | addOp . CARAT mulOp PLUS shift, and go to state 37 MINUS shift, and go to state 38 PIPE shift, and go to state 39 CARAT shift, and go to state 40 PLUS [reduce using rule 10 (exp)] MINUS [reduce using rule 10 (exp)] CARAT [reduce using rule 10 (exp)] $default reduce using rule 10 (exp) State 19 15 addOp: mulOp . 16 mulOp: mulOp . TIMES factor 17 | mulOp . DIV factor 18 | mulOp . MOD factor 19 | mulOp . COUT factor 20 | mulOp . CIN factor 21 | mulOp . AMP factor 22 | mulOp . AMPCARAT factor TIMES shift, and go to state 41 DIV shift, and go to state 42 MOD shift, and go to state 43 AMP shift, and go to state 44 COUT shift, and go to state 45 CIN shift, and go to state 46 AMPCARAT shift, and go to state 47 TIMES [reduce using rule 15 (addOp)] AMP [reduce using rule 15 (addOp)] $default reduce using rule 15 (addOp) 我已经没有想法了,非常感谢我能得到的任何帮助。 不确定以下内容有多大帮助,但这样的东西对我有用: exp : '(' exp ')' | unary_exp | exp bin_op term | exp bin_op unary_exp | term unary_exp : u_op exp %prec FIRST term : CONSTANT | NUM bin_op : '+' | '-' | '*' | '/' u_op : '-' 了解更多关于 prec 有了优先级和关联性指令,您应该从简化语法开始,让它们发挥作用,并检查仍然出现哪些冲突... exp: exp OR exp {} | exp AND exp {} | exp NEQ exp {} | ... | exp PLUS exp {} | ... | exp '*' exp {} | '(' exp ')' {} | MINUS exp %prec UMINUS {} | ... | tDEC {} | ... ;

回答 2 投票 0

涉及比较的运算符优先级问题,后跟不带括号的三元表达式

所以我不明白为什么下面给出的代码能够像它一样工作。 $值= [ [ '键' => '值', '键2' => '值2' ] ]; 函数过滤器($values,$flag = false){

回答 1 投票 0

运算符优先级:带有 && 和 || 的多个表达式

我遇到了如下代码行: if ($users == 'all' || $_POST['user'] == 1 && $users == 'admins' || $_POST[ 'user' ] == 0 && $users == 'mods') ... 我不明白...

回答 3 投票 0

当回显布尔值 false 时,不打印任何文本

我在http://www.phpinterviewquestions.com/php-interview-questions/operator-precedence/找到了这个问题 以下操作是真是假? (运算符优先级) $一=真; $二=空; ...

回答 2 投票 0

组合Python“in”和“==”运算符会产生令人困惑的行为

我的一个朋友正在学习Python,我看到他用代码做了一件奇怪的事情: 如果输入 [索引] == 测试 [索引] 中的 ch) 显然该片段缺少一些上下文,但有趣的是,t...

回答 1 投票 0

Irony .NET:表达式运算符优先级

我正在使用 Irony 来解析 DSL,它具有可以与 AND 和 OR 组合的表达式: /* 剪断 */ RegisterOperators(4, 或关键字); RegisterOperators(5, 和关键字); 注册操作符(9,

回答 2 投票 0

为什么这个操作不遵循C中的优先级和结合表? [重复]

我试图了解函数和带有参数的宏(又名“宏函数”?)之间的区别,我得到了这段代码: #包括 #定义 mult_m(a) a*a int mult_f(int a){ ...

回答 1 投票 0

在我的计算器解释器中实现运算符优先级

作为学习 Ruby 的一部分,我尝试实现一个基本的解释器,它读取输入并进行基本的算术计算。到目前为止,基本的算术运算都可以工作,但在运算中存在问题......

回答 2 投票 0

AND (&&) 优先于 OR (||) 的表达式示例?

在我能找到的所有 JavaScript 运算符优先级图表中(比如这个和这个),逻辑 AND (&&) 的优先级略高于逻辑 OR (||)。 我似乎无法想象...

回答 4 投票 0

这个表达式的结果不是我学到的

在下面的代码中,结果是-6。为什么? ` int x = 5; 整数y=3; int 结果 = x++ - (--y + ++x) - y--;` 我认为首先,评估括号内的内容,然后按从左到右的顺序评估括号外的内容...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.