Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe PHP
Informe PHP
Inicio: <?php
Fin: ?>
Símbolos especiales: “,” ,”;” ,”.”, “:” ,”(”,”)”,”{”, “}”, “[”, “]”, “&”,”=”
/* OperadorCombinadoCad */
/* OperadorComparacion */
( "==" | "===" | "!=" | "<>" | "!==" | "<" | ">" | "<=" | ">=" | "<=>" ) return Opcomp
/* OperacionIncrementoDecremento */
/* OperadoresLogicos */
/* OperadoresLogicoNot */
/* OperadorAsignacionArray */
/* Palabra reservada If */
( "if" ) return If
( "do" ) return Do
( "while" ) return While
/* Cadena */
/* Enteros */
/* Identificador */
/*Comentarios*/
Comentario: ( ("#"|"//")(.)* )
Gramáticas PHP
PROGRAMA:
Esta gramática contiene el inicio de programa, varios tipos de instrucciones donde llama a la
gramática BLOQUE la cual contiene mas sentencias y fin del programa.
PROGRAMA ::=
Ejemplo:
<?php
BLOQUE
?>
BLOQUE:
EBLOQUE ::=
EGLOBALES|SENTENCIAS|FUNCIONES|LLAMADAFUNCION P_coma|CLASE
ELOCALES:
ELOCALES ::=
BOLOCAL:
VARIABLE:
VARIABLE ::=
Dolar Identificador
Ejemplo:
$var1;
$aux;
TIPO:
TIPO ::=
Global | STIPO
Ejemplo:
CONSTANTE
Ejemplo
const CONSTANTE = 'Hola Mundo';
const OTRA_CONSTANTE = CONSTANTE.'; Adiós Mundo';
const ANIMALES = array ('perro', 'gato', 'pájaro');
SENTENCIAS
Ejemplo:
<?php
if ($a > $b) {
echo "a is bigger than b";
else {
echo "a is smaller than b";
}
SENTENCIA IF Y ELSE
Ejemplo:
<?php
if ($a > $b) {
echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";
} else {
echo "a es menor que b";
}
?>
SENTENCIA WHILE
Ejemplo:
while ($i <= 10) {
echo $i++;
}
Do While:
Gramática:
SDOWHILE ::=
Do Llave_a BLOCAL Break P_coma Llave_c While Parentesis_a
COMPARACION Parentesis_c P_coma|
Do Llave_a BLOCAL Llave_c While Parentesis_a COMPARACION
Parentesis_c P_coma
;
Ejemplos:
do {
BLOCAL
} while (COMPARACION);
For:
En lo realizado for(S1FOR;COMPARACION;S2FOR)
Gramática:
SFOR ::=
For Parentesis_a S1FOR P_coma COMPARACION P_coma S2FOR
Parentesis_c Llave_a BLOCAL Llave_c|
For Parentesis_a P_coma COMPARACION P_coma S2FOR Parentesis_c
Llave_a BLOCAL Llave_c|
For Parentesis_a P_coma P_coma S2FOR Parentesis_c Llave_a BLOCAL
Llave_c|
For Parentesis_a S1FOR P_coma COMPARACION P_coma Parentesis_c
Llave_a BLOCAL Llave_c|
For Parentesis_a S1FOR P_coma P_coma Parentesis_c Llave_a BLOCAL
Llave_c|
For Parentesis_a S1FOR P_coma P_coma S2FOR Parentesis_c Llave_a
BLOCAL Llave_c|
For Parentesis_a P_coma COMPARACION P_coma Parentesis_c Llave_a
BLOCAL Llave_c|
For Parentesis_a P_coma P_coma Parentesis_c Llave_a BLOCAL Llave_c
;
Ejemplos:
for ($i = 1; ; $i++)
for (; ; )
for ($i = 1, $j = 0; $i <= 10; $i++);
Switch:
Gramática:
SSWITCH ::=
Switch Parentesis_a VARIABLE Parentesis_c PSWITCH
;
Ejemplos:
switch (VARIABLE) {
BLOQUECASE
}
switch (VARIABLE):
BLOQUECASE
endswitch;
Bloques case:
Reconoce los bloques case que se encuentran dentro de los switch, incluyendo el bloque
default. Ejemplos:
case 0:
echo "i es igual a 0";
break;
case 1:
echo "i es igual a 1";
break;
case 2:
echo "i es igual a 2";
break;
Comparación:
Reconoce las comparaciones que se hacen, por ejemplo, en sentencias if en el lenguaje
php. Ejemplos:
($a >= $b)
($val < $op2)
($res = true)
FUNCIONES:
Reconoce la declaración de las funciones de 4 maneras diferentes, considerando si
llevan o no argumentos así como si devuelven un valor o no. Ejemplos:
static function Variable()
static function bar()
static function funcToCall()
FANONIMA:
Similar a las funciones, con la excepción de no llevar tipo. Ejemplos:
function foo($arg_1, $arg_2, /* ..., */ $arg_n)
function foo()
function recursividad($a)
ARGUMENTOS
Reconoce los argumentos que van en las funciones tales como
$a
$arg_1, $arg_2, /* ..., */ $arg_n
$entrada
$tipo = "acidófilo", $sabor
DEVOLVER VALOR
Serían los valores que retornan las funciones tales como
return $valor_devuelto;
return $núm * $núm;
return $algunaref;
LLAMADA DE FUNCION
Gramatica:
LLAMADAFUNCION ::=
Identificador Parentesis_a PASARARG Parentesis_c |
Identificador Parentesis_a Parentesis_c
;
Ejemplo:
Llamada($n1, $n2, $operacion);
Llamada();
CLASES
Gramatica:
CLASE ::=
Class Identificador Extends Identificador Llave_a ATRIBUTOS
METODOS Llave_c |
Class Identificador Llave_a ATRIBUTOS METODOS Llave_c |
Class Identificador Llave_a ATRIBUTOS Llave_c |
Class Identificador Extends Identificador Llave_a ATRIBUTOS Llave_c|
Class Identificador Llave_a METODOS Llave_c |
Class Identificador Extends Identificador Llave_a METODOS Llave_c
;
Ejemplo:
class IDENTIFICADOR {
static VARIABLE;
}
ATRIBUTOS
Gramatica:
ATRIBUTOS ::=
TIPO VARIABLE P_coma
;
Ejemplo:
static VARIABLE;
public VARIABLE;
METODOS
Gramatica:
METODOS ::=
;
static function Variable()
static function bar()
static function funcToCall()