Resultados da pesquisa a pedido "compiler-construction"

5 a resposta

Os compiladores C ++ modernos são capazes de evitar chamar uma função const duas vezes sob algumas condições?

Por exemplo, se eu tiver este código: class SomeDataProcessor { public: bool calc(const SomeData & d1, const SomeData & d2) const; private: //Some non-mutable, non-static member variables } SomeDataProcessor sdp; SomeData data1; SomeData ...

1 a resposta

Significado de semântica estática?

O que o termo "semântica estática" significa em programação? Qual é a relação entre semântica estática, semântica e semântica dinâmica? Eu sei que semântica significa verificar se o código escrito (sem erros de sintaxe) tem algum significado.

3 a resposta

Saída do Lexer

Atualmente, estou escrevendo um compilador e estou na fase Lexer. Eu sei que o lexer tokeniza o fluxo de entrada. No entanto, considere o seguinte fluxo: int foo = 0;a saída do lexer deve ser:Keyword letter letter letter equals digit semicolon ...

3 a resposta

Como transformar um fluxograma em uma implementação? [fechadas]

EDIT: INTRODUÇÃOPara alcançar um público mais amplo, reformulei minha pergunta original por meio de um exemplo da vida real elaborado (e um tanto tedioso). A pergunta original é mostrada (distante) abaixo. Tom acaba de ser contratado (dependendo ...

3 a resposta

Faça o compilador java avisar quando um método anotado for usado (como @ deprecado)

Digamos que eu defina uma anotação personalizada chamada@Unsafe. Eu gostaria de fornecer um processador de anotação que detectereferências aos métodos anotados com@Unsafe e imprima um aviso. Por exemplo, dado este código ... public class Foo { ...

1 a resposta

Mudar / reduzir conflitos no java cup - dangling else issue

Eu estou recebendo o seguinte erro: Warning : *** Shift/Reduce conflict found in state #116 between Statement ::= Matched (*) and Unmatched ::= IF LPAREN Condition RPAREN Matched (*) ELSE Unmatched and Matched ::= IF LPAREN Condition RPAREN ...

2 a resposta

Em qual etapa da compilação os comentários são removidos?

Existem várias etapas na compilação de um programa [https://en.wikipedia.org/wiki/Compiler#Compiler_construction]: reconstrução de linhaanálise lexicalPré-processando.análise de sintaxeanálise semânticaA remoção dos comentários na primeira etapa ...

2 a resposta

Bug de precedência do operador PHP?

O resultado de: var_dump(null != $a = 15); var_dump($a);é: bool(true) int(15)Por que esse script não está disparando um erro? Desde a!= (operador não igual) tem uma precedência mais alta que= (operador de atribuição),$a deve ser comparado anull ...

1 a resposta

Operações atômicas, std :: atomic <> e ordenação de gravações

O GCC compila isso: #include <atomic> std::atomic<int> a; int b(0); void func() { b = 2; a = 1; } para isso: func(): mov DWORD PTR b[rip], 2 mov DWORD PTR a[rip], 1 mfence retEntão, para esclarecer as coisas para mim: Qualquer outra discussão ...

1 a resposta

Gramática do Analisador ANTLR 4

Como posso melhorar minha gramática do analisador para que, em vez de criar um AST que contenha algumasdecFunc regras para o meu código de teste. Ele criará apenas um esum torna-se a segunda raiz. Tentei resolver esse problema usando várias ...